[SDFAB-357] Backport slicing in fabric and add support for QFI in PDR and fabric

Change-Id: Ieb10140dc0029a0cbf59ddfbb77f64f9a8c7379e
(cherry picked from commit 411f6f7f461db6491d627c2cb31642bdd6e7c8d8)
diff --git a/core/api/src/main/java/org/onosproject/net/behaviour/upf/ForwardingActionRule.java b/core/api/src/main/java/org/onosproject/net/behaviour/upf/ForwardingActionRule.java
index 3cd7c8c..bfed1ce 100644
--- a/core/api/src/main/java/org/onosproject/net/behaviour/upf/ForwardingActionRule.java
+++ b/core/api/src/main/java/org/onosproject/net/behaviour/upf/ForwardingActionRule.java
@@ -86,7 +86,8 @@
         } else if (tunnel != null) {
             actionName = "Encap";
             actionParams = String.format("Src=%s, SPort=%d, TEID=%s, Dst=%s",
-                    tunnel.src().toString(), tunnel.srcPort(), tunnel.teid().toString(), tunnel.dst().toString());
+                                         tunnel.src().toString(), tunnel.srcPort(),
+                                         tunnel.teid().toString(), tunnel.dst().toString());
         } else {
             actionName = "Forward";
         }
diff --git a/core/api/src/main/java/org/onosproject/net/behaviour/upf/PacketDetectionRule.java b/core/api/src/main/java/org/onosproject/net/behaviour/upf/PacketDetectionRule.java
index c2069a5..f607d87 100644
--- a/core/api/src/main/java/org/onosproject/net/behaviour/upf/PacketDetectionRule.java
+++ b/core/api/src/main/java/org/onosproject/net/behaviour/upf/PacketDetectionRule.java
@@ -43,22 +43,27 @@
     private final Integer ctrId;  // Counter ID unique to this PDR
     private final Integer farId;  // The PFCP session-local ID of the FAR that should apply after this PDR hits
     private final Type type;
-    private final Integer schedulingPriority;
+
+    private final Byte qfi; // QoS Flow Identifier of this PDR
+    private final boolean qfiPush; // True when QFI should be pushed to the packet
+    private final boolean qfiMatch; // True when QFI should be matched
 
     private static final int SESSION_ID_BITWIDTH = 96;
 
     private PacketDetectionRule(ImmutableByteSequence sessionId, Integer ctrId,
-                                Integer farId, Integer schedulingPriority,
-                                Ip4Address ueAddr, ImmutableByteSequence teid,
-                                Ip4Address tunnelDst, Type type) {
+                                Integer farId, Ip4Address ueAddr, Byte qfi,
+                                ImmutableByteSequence teid, Ip4Address tunnelDst,
+                                Type type, boolean qfiPush, boolean qfiMatch) {
         this.ueAddr = ueAddr;
         this.teid = teid;
         this.tunnelDst = tunnelDst;
         this.sessionId = sessionId;
         this.ctrId = ctrId;
         this.farId = farId;
-        this.schedulingPriority = schedulingPriority;
+        this.qfi = qfi;
         this.type = type;
+        this.qfiPush = qfiPush;
+        this.qfiMatch = qfiMatch;
     }
 
     public static Builder builder() {
@@ -72,7 +77,9 @@
      */
     public String matchString() {
         if (matchesEncapped()) {
-            return String.format("Match(Dst=%s, TEID=%s)", tunnelDest(), teid());
+            return matchQfi() ?
+                    String.format("Match(Dst=%s, TEID=%s, QFI=%s)", tunnelDest(), teid(), qfi()) :
+                    String.format("Match(Dst=%s, TEID=%s)", tunnelDest(), teid());
         } else {
             return String.format("Match(Dst=%s, !GTP)", ueAddress());
         }
@@ -82,8 +89,12 @@
     public String toString() {
         String actionParams = "";
         if (hasActionParameters()) {
-            actionParams = String.format("SEID=%s, FAR=%d, CtrIdx=%d, SchedulingPrio=%d",
-                                         sessionId.toString(), farId, ctrId, schedulingPriority);
+            actionParams = hasQfi() && !matchQfi() ?
+                    String.format("SEID=%s, FAR=%d, CtrIdx=%d, QFI=%s",
+                                  sessionId.toString(), farId, ctrId, qfi) :
+                    String.format("SEID=%s, FAR=%d, CtrIdx=%d",
+                                  sessionId.toString(), farId, ctrId);
+            actionParams = pushQfi() ? String.format("%s, QFI_PUSH", actionParams) : actionParams;
         }
 
         return String.format("PDR{%s -> LoadParams(%s)}",
@@ -111,13 +122,15 @@
                 Objects.equals(this.ctrId, that.ctrId) &&
                 Objects.equals(this.sessionId, that.sessionId) &&
                 Objects.equals(this.farId, that.farId) &&
-                Objects.equals(this.schedulingPriority, that.schedulingPriority));
+                Objects.equals(this.qfi, that.qfi) &&
+                Objects.equals(this.qfiPush, that.qfiPush) &&
+                Objects.equals(this.qfiMatch, that.qfiMatch));
     }
 
     @Override
     public int hashCode() {
         return Objects.hash(ueAddr, teid, tunnelDst, sessionId, ctrId, farId,
-                            schedulingPriority, type);
+                            qfi, type);
     }
 
     /**
@@ -139,10 +152,14 @@
      */
     public PacketDetectionRule withoutActionParams() {
         if (matchesEncapped()) {
-            return PacketDetectionRule.builder()
+            PacketDetectionRule.Builder pdrBuilder = PacketDetectionRule.builder()
                     .withTeid(teid)
-                    .withTunnelDst(tunnelDst)
-                    .build();
+                    .withTunnelDst(tunnelDst);
+            if (this.hasQfi() && this.matchQfi()) {
+                pdrBuilder.withQfiMatch();
+                pdrBuilder.withQfi(qfi);
+            }
+            return pdrBuilder.build();
         } else {
             return PacketDetectionRule.builder()
                     .withUeAddr(ueAddr).build();
@@ -227,22 +244,39 @@
     }
 
     /**
-     * Get the scheduling priority that this PDR is assigned.
+     * Get the QoS Flow Identifier for this PDR.
      *
-     * @return scheduling priority
+     * @return QoS Flow Identifier
      */
-    public int schedulingPriority() {
-        return schedulingPriority;
+    public byte qfi() {
+        return qfi;
     }
 
     /**
-     * This method is used to differentiate between prioritized and non-prioritized
-     * flows.
+     * Returns whether QFi should be pushed to the packet.
      *
-     * @return true if scheduling priority is assigned.
+     * @return True if the QFI should be pushed to the packet, false otherwise
      */
-    public boolean hasSchedulingPriority() {
-        return schedulingPriority > 0;
+    public boolean pushQfi() {
+        return qfiPush;
+    }
+
+    /**
+     * Returns whether QFI should be matched on the packet or not.
+     *
+     * @return True if QFI should be matched on the packet, false otherwise
+     */
+    public boolean matchQfi() {
+        return qfiMatch;
+    }
+
+    /**
+     * Checks if the PDR has a QFI to match upon or to push on the packet.
+     *
+     * @return True if the PDR has a QFI, false otherwise
+     */
+    public boolean hasQfi() {
+        return qfi != null;
     }
 
     private enum Type {
@@ -276,6 +310,9 @@
         private Ip4Address ueAddr = null;
         private ImmutableByteSequence teid = null;
         private Ip4Address tunnelDst = null;
+        private Byte qfi = null;
+        private boolean qfiPush = false;
+        private boolean qfiMatch = false;
 
         public Builder() {
 
@@ -342,8 +379,36 @@
             return this;
         }
 
-        public Builder withSchedulingPriority(int schedulingPriority) {
-            this.schedulingPriority = schedulingPriority;
+        /**
+         * Set the QoS Flow Identifier for this PDR.
+         *
+         * @param qfi GTP Tunnel QFI
+         * @return This builder object
+         */
+        public Builder withQfi(byte qfi) {
+            this.qfi = qfi;
+            return this;
+        }
+
+        /**
+         * The QoS Flow Identifier should be pushed to the packet.
+         * This is valid for downstream packets and for 5G traffic only.
+         *
+         * @return This builder object
+         */
+        public Builder withQfiPush() {
+            this.qfiPush = true;
+            return this;
+        }
+
+        /**
+         * The QoS Flow Identifier should be matched to the packet.
+         * This is valid for upstream packets and for 5G traffic only.
+         *
+         * @return This builder object
+         */
+        public Builder withQfiMatch() {
+            this.qfiMatch = true;
             return this;
         }
 
@@ -393,6 +458,21 @@
             return this;
         }
 
+        /**
+         * Set the tunnel ID, destination IP and QFI of the GTP tunnel that this PDR matches on.
+         *
+         * @param teid      GTP tunnel ID
+         * @param tunnelDst GTP tunnel destination IP
+         * @param qfi       GTP QoS Flow Identifier
+         * @return This builder object
+         */
+        public Builder withTunnel(ImmutableByteSequence teid, Ip4Address tunnelDst, byte qfi) {
+            this.teid = teid;
+            this.tunnelDst = tunnelDst;
+            this.qfi = qfi;
+            return this;
+        }
+
         public PacketDetectionRule build() {
             // Some match keys are required.
             checkArgument(
@@ -401,9 +481,15 @@
                     "Either a UE address or a TEID and Tunnel destination must be provided, but not both.");
             // Action parameters are optional but must be all provided together if they are provided
             checkArgument(
-                    (sessionId != null && ctrId != null && localFarId != null && schedulingPriority != null) ||
-                            (sessionId == null && ctrId == null && localFarId == null && schedulingPriority == null),
+                    (sessionId != null && ctrId != null && localFarId != null) ||
+                            (sessionId == null && ctrId == null && localFarId == null),
                     "PDR action parameters must be provided together or not at all.");
+            checkArgument(!qfiPush || !qfiMatch,
+                          "Either match of push QFI can be true, not both.");
+            checkArgument(!qfiPush || qfi != null,
+                          "A QFI must be provided when pushing QFI to the packet.");
+            checkArgument(!qfiMatch || qfi != null,
+                          "A QFI must be provided when matching QFI on the packet.");
             Type type;
             if (teid != null) {
                 if (sessionId != null) {
@@ -418,8 +504,9 @@
                     type = Type.MATCH_UNENCAPPED_NO_ACTION;
                 }
             }
-            return new PacketDetectionRule(sessionId, ctrId, localFarId, schedulingPriority,
-                                           ueAddr, teid, tunnelDst, type);
+            return new PacketDetectionRule(sessionId, ctrId, localFarId, ueAddr,
+                                           qfi, teid, tunnelDst, type,
+                                           qfiPush, qfiMatch);
         }
     }
 }
diff --git a/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java b/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
index e73d624..0d34f30 100644
--- a/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
+++ b/pipelines/fabric/api/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
@@ -41,6 +41,7 @@
             PiMatchFieldId.of("vlan_is_valid");
     public static final PiMatchFieldId HDR_IPV6_SRC_NET_ID =
             PiMatchFieldId.of("ipv6_src_net_id");
+    public static final PiMatchFieldId HDR_COLOR = PiMatchFieldId.of("color");
     public static final PiMatchFieldId HDR_C_TAG = PiMatchFieldId.of("c_tag");
     public static final PiMatchFieldId HDR_IPV4_SRC =
             PiMatchFieldId.of("ipv4_src");
@@ -59,6 +60,8 @@
     public static final PiMatchFieldId HDR_S_TAG = PiMatchFieldId.of("s_tag");
     public static final PiMatchFieldId HDR_VLAN_ID =
             PiMatchFieldId.of("vlan_id");
+    public static final PiMatchFieldId HDR_HAS_QFI =
+            PiMatchFieldId.of("has_qfi");
     public static final PiMatchFieldId HDR_ETH_DST =
             PiMatchFieldId.of("eth_dst");
     public static final PiMatchFieldId HDR_ICMP_TYPE =
@@ -101,14 +104,18 @@
     public static final PiMatchFieldId HDR_UE_ADDR =
             PiMatchFieldId.of("ue_addr");
     public static final PiMatchFieldId HDR_TEID = PiMatchFieldId.of("teid");
+    public static final PiMatchFieldId HDR_SLICE_ID =
+            PiMatchFieldId.of("slice_id");
     public static final PiMatchFieldId HDR_INT_IS_VALID =
             PiMatchFieldId.of("int_is_valid");
+    public static final PiMatchFieldId HDR_TC = PiMatchFieldId.of("tc");
     public static final PiMatchFieldId HDR_MPLS_LABEL =
             PiMatchFieldId.of("mpls_label");
     public static final PiMatchFieldId HDR_IP_PROTO =
             PiMatchFieldId.of("ip_proto");
     public static final PiMatchFieldId HDR_PPPOE_PROTOCOL =
             PiMatchFieldId.of("pppoe_protocol");
+    public static final PiMatchFieldId HDR_QFI = PiMatchFieldId.of("qfi");
     // Table IDs
     public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
             PiTableId.of("FabricIngress.next.hashed");
@@ -136,8 +143,12 @@
             PiTableId.of("FabricIngress.forwarding.mpls");
     public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V4 =
             PiTableId.of("FabricIngress.forwarding.routing_v4");
+    public static final PiTableId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_CLASSIFIER =
+            PiTableId.of("FabricIngress.slice_tc_classifier.classifier");
     public static final PiTableId FABRIC_INGRESS_ACL_ACL =
             PiTableId.of("FabricIngress.acl.acl");
+    public static final PiTableId FABRIC_EGRESS_DSCP_REWRITER_REWRITER =
+            PiTableId.of("FabricEgress.dscp_rewriter.rewriter");
     public static final PiTableId FABRIC_INGRESS_PRE_NEXT_NEXT_MPLS =
             PiTableId.of("FabricIngress.pre_next.next_mpls");
     public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
@@ -148,6 +159,8 @@
             PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v4");
     public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V6 =
             PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v6");
+    public static final PiTableId FABRIC_INGRESS_QOS_QUEUES =
+            PiTableId.of("FabricIngress.qos.queues");
     public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
             PiTableId.of("FabricIngress.forwarding.bridging");
     public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_LINE_SESSION_MAP =
@@ -206,14 +219,18 @@
             PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
     public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
             PiCounterId.of("FabricEgress.process_int_main.process_int_source.counter_int_source");
-    public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
-            PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
     public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
             PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
+    public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
+            PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
+    public static final PiCounterId FABRIC_INGRESS_QOS_QUEUES_STATS =
+            PiCounterId.of("FabricIngress.qos.queues_stats");
     public static final PiCounterId FABRIC_INGRESS_ACL_ACL_COUNTER =
             PiCounterId.of("FabricIngress.acl.acl_counter");
     public static final PiCounterId FABRIC_INGRESS_NEXT_XCONNECT_COUNTER =
             PiCounterId.of("FabricIngress.next.xconnect_counter");
+    public static final PiCounterId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_CLASSIFIER_STATS =
+            PiCounterId.of("FabricIngress.slice_tc_classifier.classifier_stats");
     public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V6_COUNTER =
             PiCounterId.of("FabricIngress.forwarding.routing_v6_counter");
     public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
@@ -223,6 +240,8 @@
     public static final PiCounterId FABRIC_INGRESS_PRE_NEXT_NEXT_VLAN_COUNTER =
             PiCounterId.of("FabricIngress.pre_next.next_vlan_counter");
     // Action IDs
+    public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V4 =
+            PiActionId.of("FabricEgress.bng_egress.downstream.encap_v4");
     public static final PiActionId FABRIC_INGRESS_NEXT_SET_NEXT_ID_XCONNECT =
             PiActionId.of("FabricIngress.next.set_next_id_xconnect");
     public static final PiActionId FABRIC_INGRESS_PRE_NEXT_SET_VLAN =
@@ -253,10 +272,12 @@
             PiActionId.of("FabricIngress.bng_ingress.upstream.punt_to_cpu");
     public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_DROP =
             PiActionId.of("FabricIngress.bng_ingress.downstream.drop");
-    public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_NORMAL_FAR =
-            PiActionId.of("FabricIngress.spgw.load_normal_far");
+    public static final PiActionId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_TRUST_DSCP =
+            PiActionId.of("FabricIngress.slice_tc_classifier.trust_dscp");
     public static final PiActionId FABRIC_INGRESS_PRE_NEXT_SET_DOUBLE_VLAN =
             PiActionId.of("FabricIngress.pre_next.set_double_vlan");
+    public static final PiActionId FABRIC_EGRESS_DSCP_REWRITER_REWRITE =
+            PiActionId.of("FabricEgress.dscp_rewriter.rewrite");
     public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_SET_LINE =
             PiActionId.of("FabricIngress.bng_ingress.set_line");
     public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_DISABLED =
@@ -265,6 +286,8 @@
             PiActionId.of("FabricIngress.acl.set_next_id_acl");
     public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT =
             PiActionId.of("FabricIngress.filtering.permit");
+    public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_NORMAL_FAR =
+            PiActionId.of("FabricIngress.spgw.load_normal_far");
     public static final PiActionId FABRIC_INGRESS_SPGW_IFACE_MISS =
             PiActionId.of("FabricIngress.spgw.iface_miss");
     public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
@@ -275,10 +298,14 @@
             PiActionId.of("FabricIngress.next.routing_simple");
     public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_PDR_QOS =
             PiActionId.of("FabricIngress.spgw.load_pdr_qos");
+    public static final PiActionId FABRIC_INGRESS_QOS_SET_QUEUE =
+            PiActionId.of("FabricIngress.qos.set_queue");
+    public static final PiActionId FABRIC_EGRESS_DSCP_REWRITER_CLEAR =
+            PiActionId.of("FabricEgress.dscp_rewriter.clear");
     public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_PUSH_VLAN =
             PiActionId.of("FabricEgress.egress_next.push_vlan");
-    public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V4 =
-            PiActionId.of("FabricEgress.bng_egress.downstream.encap_v4");
+    public static final PiActionId FABRIC_INGRESS_QOS_METER_DROP =
+            PiActionId.of("FabricIngress.qos.meter_drop");
     public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_HASHED =
             PiActionId.of("FabricIngress.next.output_hashed");
     public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_IFACE =
@@ -320,6 +347,8 @@
             PiActionId.of("FabricIngress.next.set_mcast_group_id");
     public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
             PiActionId.of("FabricIngress.filtering.set_forwarding_type");
+    public static final PiActionId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_SET_SLICE_ID_TC =
+            PiActionId.of("FabricIngress.slice_tc_classifier.set_slice_id_tc");
     public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
             PiActionId.of("FabricEgress.process_int_main.process_int_report.do_report_encapsulation");
     public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
@@ -352,7 +381,7 @@
     public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
     public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
     public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
-    public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
+    public static final PiActionParamId TC = PiActionParamId.of("tc");
     public static final PiActionParamId INNER_VLAN_ID =
             PiActionParamId.of("inner_vlan_id");
     public static final PiActionParamId PPPOE_SESSION_ID =
@@ -361,7 +390,8 @@
     public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
     public static final PiActionParamId INS_MASK0003 =
             PiActionParamId.of("ins_mask0003");
-    public static final PiActionParamId LINE_ID = PiActionParamId.of("line_id");
+    public static final PiActionParamId NEEDS_QFI_PUSH =
+            PiActionParamId.of("needs_qfi_push");
     public static final PiActionParamId FWD_TYPE =
             PiActionParamId.of("fwd_type");
     public static final PiActionParamId OUTER_VLAN_ID =
@@ -371,11 +401,16 @@
     public static final PiActionParamId INS_MASK0407 =
             PiActionParamId.of("ins_mask0407");
     public static final PiActionParamId TEID = PiActionParamId.of("teid");
+    public static final PiActionParamId SLICE_ID =
+            PiActionParamId.of("slice_id");
+    public static final PiActionParamId LINE_ID = PiActionParamId.of("line_id");
     public static final PiActionParamId DROP = PiActionParamId.of("drop");
     public static final PiActionParamId PORT_NUM =
             PiActionParamId.of("port_num");
+    public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
     public static final PiActionParamId TUNNEL_DST_ADDR =
             PiActionParamId.of("tunnel_dst_addr");
+    public static final PiActionParamId QFI = PiActionParamId.of("qfi");
     public static final PiActionParamId GROUP_ID =
             PiActionParamId.of("group_id");
     public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
@@ -390,6 +425,8 @@
     public static final PiPacketMetadataId EGRESS_PORT =
             PiPacketMetadataId.of("egress_port");
     // Meter IDs
+    public static final PiMeterId FABRIC_INGRESS_QOS_SLICE_TC_METER =
+            PiMeterId.of("FabricIngress.qos.slice_tc_meter");
     public static final PiMeterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_M_BESTEFF =
             PiMeterId.of("FabricIngress.bng_ingress.downstream.m_besteff");
     public static final PiMeterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_M_PRIO =
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/Constants.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/Constants.java
index f55a825..6f92cad 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/Constants.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/Constants.java
@@ -25,6 +25,9 @@
     public static final byte[] ONE = new byte[]{1};
     public static final byte[] ZERO = new byte[]{0};
 
+    public static final byte FALSE = (byte) 0x00;
+    public static final byte TRUE = (byte) 0x01;
+
     public static final long PORT_TYPE_MASK = 0x3;
     public static final byte PORT_TYPE_EDGE = 0x1;
     public static final byte PORT_TYPE_INFRA = 0x2;
@@ -40,6 +43,12 @@
     public static final int DEFAULT_VLAN = 4094;
     public static final int DEFAULT_PW_TRANSPORT_VLAN = 4090;
 
+    // Default Slice and Traffic Class IDs
+    public static final int DEFAULT_SLICE_ID = 0;
+    public static final int DEFAULT_TC = 0;
+    public static final byte DEFAULT_QFI = (byte) 0x00;
+
+
     // hide default constructor
     private Constants() {
     }
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/DistributedFabricUpfStore.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/DistributedFabricUpfStore.java
index 21c6054..7045c2d 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/DistributedFabricUpfStore.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/DistributedFabricUpfStore.java
@@ -16,8 +16,6 @@
 
 package org.onosproject.pipelines.fabric.impl.behaviour.upf;
 
-import com.google.common.collect.BiMap;
-import com.google.common.collect.ImmutableBiMap;
 import com.google.common.hash.HashCode;
 import com.google.common.hash.HashFunction;
 import com.google.common.hash.Hashing;
@@ -41,7 +39,6 @@
 /**
  * Distributed implementation of FabricUpfStore.
  */
-// FIXME: this store is generic and not tied to a single device, should we have a store based on deviceId?
 @Component(immediate = true, service = FabricUpfStore.class)
 public final class DistributedFabricUpfStore implements FabricUpfStore {
 
@@ -55,18 +52,6 @@
             .register(KryoNamespaces.API)
             .register(UpfRuleIdentifier.class);
 
-    // TODO: check queue IDs for BMv2, is priority inverted?
-    // Mapping between scheduling priority ranges with BMv2 priority queues
-    private static final BiMap<Integer, Integer> SCHEDULING_PRIORITY_MAP
-            = new ImmutableBiMap.Builder<Integer, Integer>()
-            // Highest scheduling priority for 3GPP is 1 and highest BMv2 queue priority is 7
-            .put(1, 5)
-            .put(6, 4)
-            .put(7, 3)
-            .put(8, 2)
-            .put(9, 1)
-            .build();
-
     // EC map to remember the mapping far_id -> rule_id this is mostly used during reads,
     // it can be definitely removed by simplifying the logical pipeline
     protected EventuallyConsistentMap<Integer, UpfRuleIdentifier> reverseFarIdMap;
@@ -131,16 +116,6 @@
     }
 
     @Override
-    public String queueIdOf(int schedulingPriority) {
-        return (SCHEDULING_PRIORITY_MAP.get(schedulingPriority)).toString();
-    }
-
-    @Override
-    public String schedulingPriorityOf(int queueId) {
-        return (SCHEDULING_PRIORITY_MAP.inverse().get(queueId)).toString();
-    }
-
-    @Override
     public UpfRuleIdentifier localFarIdOf(int globalFarId) {
         return reverseFarIdMap.get(globalFarId);
     }
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfProgrammable.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfProgrammable.java
index 401b5db..310f28d 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfProgrammable.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfProgrammable.java
@@ -70,11 +70,15 @@
 import static org.onosproject.pipelines.fabric.FabricConstants.FABRIC_INGRESS_SPGW_UPLINK_PDRS;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_FAR_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_GTPU_IS_VALID;
+import static org.onosproject.pipelines.fabric.FabricConstants.HDR_HAS_QFI;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_IPV4_DST_ADDR;
+import static org.onosproject.pipelines.fabric.FabricConstants.HDR_QFI;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_TEID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_TUNNEL_IPV4_DST;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_UE_ADDR;
-
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_QFI;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.FALSE;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.TRUE;
 
 /**
  * Implementation of a UPF programmable device behavior.
@@ -531,10 +535,17 @@
         final PiCriterion match;
         final PiTableId tableId;
         if (pdr.matchesEncapped()) {
-            match = PiCriterion.builder()
+            PiCriterion.Builder criterionBuilder = PiCriterion.builder()
                     .matchExact(HDR_TEID, pdr.teid().asArray())
-                    .matchExact(HDR_TUNNEL_IPV4_DST, pdr.tunnelDest().toInt())
-                    .build();
+                    .matchExact(HDR_TUNNEL_IPV4_DST, pdr.tunnelDest().toInt());
+            if (pdr.matchQfi()) {
+                criterionBuilder.matchExact(HDR_HAS_QFI, TRUE);
+                criterionBuilder.matchExact(HDR_QFI, pdr.qfi());
+            } else {
+                criterionBuilder.matchExact(HDR_HAS_QFI, FALSE);
+                criterionBuilder.matchExact(HDR_QFI, DEFAULT_QFI);
+            }
+            match = criterionBuilder.build();
             tableId = FABRIC_INGRESS_SPGW_UPLINK_PDRS;
         } else {
             match = PiCriterion.builder()
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfStore.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfStore.java
index ae3b0e9..8e9e92b 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfStore.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfStore.java
@@ -80,20 +80,4 @@
      * @return the corresponding PFCP session ID and session-local FAR ID, as a RuleIdentifier
      */
     UpfRuleIdentifier localFarIdOf(int globalFarId);
-
-    /**
-     * Get the corresponding queue Id from scheduling priority.
-     *
-     * @param schedulingPriority QCI scheduling priority
-     * @return the corresponding queue ID
-     */
-    String queueIdOf(int schedulingPriority);
-
-    /**
-     * Get the corresponding queue Id from scheduling priority.
-     *
-     * @param queueId Tofino queue Id
-     * @return the corresponding scheduling priroity
-     */
-    String schedulingPriorityOf(int queueId);
 }
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslator.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslator.java
index 2341e04..179e793 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslator.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslator.java
@@ -54,18 +54,28 @@
 import static org.onosproject.pipelines.fabric.FabricConstants.FAR_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_FAR_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_GTPU_IS_VALID;
+import static org.onosproject.pipelines.fabric.FabricConstants.HDR_HAS_QFI;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_IPV4_DST_ADDR;
+import static org.onosproject.pipelines.fabric.FabricConstants.HDR_QFI;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_TEID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_TUNNEL_IPV4_DST;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_UE_ADDR;
 import static org.onosproject.pipelines.fabric.FabricConstants.NEEDS_GTPU_DECAP;
+import static org.onosproject.pipelines.fabric.FabricConstants.NEEDS_QFI_PUSH;
 import static org.onosproject.pipelines.fabric.FabricConstants.NOTIFY_CP;
-import static org.onosproject.pipelines.fabric.FabricConstants.QID;
+import static org.onosproject.pipelines.fabric.FabricConstants.QFI;
+import static org.onosproject.pipelines.fabric.FabricConstants.SLICE_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.SRC_IFACE;
+import static org.onosproject.pipelines.fabric.FabricConstants.TC;
 import static org.onosproject.pipelines.fabric.FabricConstants.TEID;
 import static org.onosproject.pipelines.fabric.FabricConstants.TUNNEL_DST_ADDR;
 import static org.onosproject.pipelines.fabric.FabricConstants.TUNNEL_SRC_ADDR;
 import static org.onosproject.pipelines.fabric.FabricConstants.TUNNEL_SRC_PORT;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_QFI;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_SLICE_ID;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_TC;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.FALSE;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.TRUE;
 
 /**
  * Provides logic to translate UPF entities into pipeline-specific ones and vice-versa.
@@ -140,30 +150,29 @@
             throw new UpfProgrammableException(String.format("Unable to find local far id of %s", globalFarId));
         }
 
-        PiActionId actionId = action.id();
-        if (actionId.equals(FABRIC_INGRESS_SPGW_LOAD_PDR)) {
-            int schedulingPriority = 0;
-            pdrBuilder.withSchedulingPriority(schedulingPriority);
-        } else if (actionId.equals(FABRIC_INGRESS_SPGW_LOAD_PDR_QOS)) {
-            int queueId = FabricUpfTranslatorUtil.getParamInt(action, QID);
-            String schedulingPriority = fabricUpfStore.schedulingPriorityOf(queueId);
-            if (schedulingPriority == null) {
-                throw new UpfProgrammableException("Undefined Scheduling Priority");
-            }
-            pdrBuilder.withSchedulingPriority(Integer.parseInt(schedulingPriority));
-        } else {
-            throw new UpfProgrammableException("Unknown action ID");
-        }
         pdrBuilder.withCounterId(FabricUpfTranslatorUtil.getParamInt(action, CTR_ID))
                 .withLocalFarId(farId.getSessionLocalId())
                 .withSessionId(farId.getPfcpSessionId());
 
+        PiActionId actionId = action.id();
+        if (actionId.equals(FABRIC_INGRESS_SPGW_LOAD_PDR_QOS)) {
+            pdrBuilder.withQfi(FabricUpfTranslatorUtil.getParamByte(action, QFI));
+            if (FabricUpfTranslatorUtil.getParamByte(action, NEEDS_QFI_PUSH) == TRUE) {
+                pdrBuilder.withQfiPush();
+            }
+        }
+
         if (FabricUpfTranslatorUtil.fieldIsPresent(match, HDR_TEID)) {
             // F-TEID is only present for GTP-matching PDRs
             ImmutableByteSequence teid = FabricUpfTranslatorUtil.getFieldValue(match, HDR_TEID);
             Ip4Address tunnelDst = FabricUpfTranslatorUtil.getFieldAddress(match, HDR_TUNNEL_IPV4_DST);
             pdrBuilder.withTeid(teid)
                     .withTunnelDst(tunnelDst);
+            if (FabricUpfTranslatorUtil.fieldIsPresent(match, HDR_HAS_QFI) &&
+                    FabricUpfTranslatorUtil.getFieldByte(match, HDR_HAS_QFI) == TRUE) {
+                pdrBuilder.withQfi(FabricUpfTranslatorUtil.getFieldByte(match, HDR_QFI));
+                pdrBuilder.withQfiMatch();
+            }
         } else if (FabricUpfTranslatorUtil.fieldIsPresent(match, HDR_UE_ADDR)) {
             // And UE address is only present for non-GTP-matching PDRs
             pdrBuilder.withUeAddr(FabricUpfTranslatorUtil.getFieldAddress(match, HDR_UE_ADDR));
@@ -324,45 +333,52 @@
      */
     public FlowRule pdrToFabricEntry(PacketDetectionRule pdr, DeviceId deviceId, ApplicationId appId, int priority)
             throws UpfProgrammableException {
-        PiCriterion match;
-        PiTableId tableId;
-        PiAction action;
+        final PiCriterion match;
+        final PiTableId tableId;
+        final PiAction action;
 
-        if (pdr.matchesEncapped()) {
-            match = PiCriterion.builder()
-                    .matchExact(HDR_TEID, pdr.teid().asArray())
-                    .matchExact(HDR_TUNNEL_IPV4_DST, pdr.tunnelDest().toInt())
-                    .build();
-            tableId = FABRIC_INGRESS_SPGW_UPLINK_PDRS;
-        } else if (pdr.matchesUnencapped()) {
-            match = PiCriterion.builder()
-                    .matchExact(HDR_UE_ADDR, pdr.ueAddress().toInt())
-                    .build();
-            tableId = FABRIC_INGRESS_SPGW_DOWNLINK_PDRS;
-        } else {
-            throw new UpfProgrammableException("Flexible PDRs not yet supported! Cannot translate " + pdr.toString());
-        }
+        final PiCriterion.Builder matchBuilder = PiCriterion.builder();
 
-        PiAction.Builder builder = PiAction.builder()
+        PiAction.Builder actionBuilder = PiAction.builder()
                 .withParameters(Arrays.asList(
                         new PiActionParam(CTR_ID, pdr.counterId()),
                         new PiActionParam(FAR_ID, fabricUpfStore.globalFarIdOf(pdr.sessionId(), pdr.farId())),
-                        new PiActionParam(NEEDS_GTPU_DECAP, pdr.matchesEncapped() ? 1 : 0)
+                        new PiActionParam(NEEDS_GTPU_DECAP, pdr.matchesEncapped() ?
+                                TRUE : FALSE),
+                        new PiActionParam(TC, DEFAULT_TC)
                 ));
-        if (pdr.hasSchedulingPriority()) {
-            String queueId = fabricUpfStore.queueIdOf(pdr.schedulingPriority());
-            if (queueId == null) {
-                throw new UpfProgrammableException("Udefined Scheduling Priority");
+        PiActionId actionId = FABRIC_INGRESS_SPGW_LOAD_PDR;
+        if (pdr.matchesEncapped()) {
+            tableId = FABRIC_INGRESS_SPGW_UPLINK_PDRS;
+            matchBuilder.matchExact(HDR_TEID, pdr.teid().asArray())
+                    .matchExact(HDR_TUNNEL_IPV4_DST, pdr.tunnelDest().toInt());
+            if (pdr.matchQfi()) {
+                matchBuilder.matchExact(HDR_HAS_QFI, TRUE)
+                        .matchExact(HDR_QFI, pdr.qfi());
+            } else {
+                matchBuilder.matchExact(HDR_HAS_QFI, FALSE)
+                        .matchExact(HDR_QFI, DEFAULT_QFI);
+                if (pdr.hasQfi()) {
+                    actionId = FABRIC_INGRESS_SPGW_LOAD_PDR_QOS;
+                    actionBuilder.withParameter(new PiActionParam(QFI, pdr.qfi()))
+                            .withParameter(new PiActionParam(NEEDS_QFI_PUSH, FALSE));
+                }
             }
-            action = builder
-                    .withId(FABRIC_INGRESS_SPGW_LOAD_PDR_QOS)
-                    .withParameter(new PiActionParam(QID, Integer.parseInt(queueId)))
-                    .build();
+        } else if (pdr.matchesUnencapped()) {
+            tableId = FABRIC_INGRESS_SPGW_DOWNLINK_PDRS;
+            matchBuilder.matchExact(HDR_UE_ADDR, pdr.ueAddress().toInt());
+            if (pdr.hasQfi()) {
+                actionBuilder.withParameter(new PiActionParam(QFI, pdr.qfi()));
+                actionId = FABRIC_INGRESS_SPGW_LOAD_PDR_QOS;
+            }
+            actionBuilder.withParameter(
+                    new PiActionParam(NEEDS_QFI_PUSH, pdr.pushQfi() ? TRUE : FALSE));
         } else {
-            action = builder
-                    .withId(FABRIC_INGRESS_SPGW_LOAD_PDR)
-                    .build();
+            throw new UpfProgrammableException("Flexible PDRs not yet supported! Cannot translate " + pdr);
         }
+        match = matchBuilder.build();
+        action = actionBuilder.withId(actionId)
+                .build();
         return DefaultFlowRule.builder()
                 .forDevice(deviceId).fromApp(appId).makePermanent()
                 .forTable(tableId)
@@ -407,6 +423,7 @@
         PiAction action = PiAction.builder()
                 .withId(FABRIC_INGRESS_SPGW_LOAD_IFACE)
                 .withParameter(new PiActionParam(SRC_IFACE, interfaceTypeInt))
+                .withParameter(new PiActionParam(SLICE_ID, DEFAULT_SLICE_ID))
                 .build();
         return DefaultFlowRule.builder()
                 .forDevice(deviceId).fromApp(appId).makePermanent()
diff --git a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorUtil.java b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorUtil.java
index a931f1f..cfbf95e 100644
--- a/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorUtil.java
+++ b/pipelines/fabric/impl/src/main/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorUtil.java
@@ -94,11 +94,21 @@
         return byteSeqToInt(getFieldValue(criterion, fieldId));
     }
 
+    static byte getFieldByte(PiCriterion criterion, PiMatchFieldId fieldId)
+            throws UpfProgrammableException {
+        return byteSeqToByte(getFieldValue(criterion, fieldId));
+    }
+
     static int getParamInt(PiAction action, PiActionParamId paramId)
             throws UpfProgrammableException {
         return byteSeqToInt(getParamValue(action, paramId));
     }
 
+    static byte getParamByte(PiAction action, PiActionParamId paramId)
+            throws UpfProgrammableException {
+        return byteSeqToByte(getParamValue(action, paramId));
+    }
+
     static Ip4Address getParamAddress(PiAction action, PiActionParamId paramId)
             throws UpfProgrammableException {
         return Ip4Address.valueOf(getParamValue(action, paramId).asArray());
@@ -127,6 +137,14 @@
         }
     }
 
+    static byte byteSeqToByte(ImmutableByteSequence sequence) {
+        try {
+            return sequence.fit(8).asReadOnlyBuffer().get();
+        } catch (ImmutableByteSequence.ByteSequenceTrimException e) {
+            throw new IllegalArgumentException("Attempted to convert a >1 byte wide sequence to a byte!");
+        }
+    }
+
     static Pair<PiCriterion, PiTableAction> fabricEntryToPiPair(FlowRule entry) {
         PiCriterion match = (PiCriterion) entry.selector().getCriterion(Criterion.Type.PROTOCOL_INDEPENDENT);
         PiTableAction action = null;
diff --git a/pipelines/fabric/impl/src/main/resources/fabric.p4 b/pipelines/fabric/impl/src/main/resources/fabric.p4
index 0b336b5..bb6ff7c 100644
--- a/pipelines/fabric/impl/src/main/resources/fabric.p4
+++ b/pipelines/fabric/impl/src/main/resources/fabric.p4
@@ -24,6 +24,8 @@
 #include "include/control/acl.p4"
 #include "include/control/next.p4"
 #include "include/control/packetio.p4"
+#include "include/control/lookup_md_init.p4"
+#include "include/control/slicing.p4"
 #include "include/header.p4"
 #include "include/checksum.p4"
 #include "include/parser.p4"
@@ -48,12 +50,15 @@
                        inout fabric_metadata_t fabric_metadata,
                        inout standard_metadata_t standard_metadata) {
 
+    LookupMdInit() lkp_md_init;
     PacketIoIngress() pkt_io_ingress;
     Filtering() filtering;
     Forwarding() forwarding;
     PreNext() pre_next;
     Acl() acl;
     Next() next;
+    IngressSliceTcClassifier() slice_tc_classifier;
+    IngressQos() qos;
 #ifdef WITH_PORT_COUNTER
     PortCountersControl() port_counters_control;
 #endif // WITH_PORT_COUNTER
@@ -63,11 +68,15 @@
 
     apply {
         _PRE_INGRESS
+        lkp_md_init.apply(hdr, fabric_metadata.lkp);
         pkt_io_ingress.apply(hdr, fabric_metadata, standard_metadata);
-#ifdef WITH_SPGW
-        spgw.apply(hdr, fabric_metadata, standard_metadata);
-#endif // WITH_SPGW
+        slice_tc_classifier.apply(hdr, fabric_metadata, standard_metadata);
         filtering.apply(hdr, fabric_metadata, standard_metadata);
+#ifdef WITH_SPGW
+        if (fabric_metadata.skip_forwarding == _FALSE) {
+            spgw.apply(hdr, fabric_metadata, standard_metadata);
+        }
+#endif // WITH_SPGW
         if (fabric_metadata.skip_forwarding == _FALSE) {
             forwarding.apply(hdr, fabric_metadata, standard_metadata);
         }
@@ -89,7 +98,7 @@
 #ifdef WITH_BNG
         bng_ingress.apply(hdr, fabric_metadata, standard_metadata);
 #endif // WITH_BNG
-
+        qos.apply(fabric_metadata, standard_metadata);
     }
 }
 
@@ -99,6 +108,7 @@
 
     PacketIoEgress() pkt_io_egress;
     EgressNextControl() egress_next;
+    EgressDscpRewriter() dscp_rewriter;
 #ifdef WITH_SPGW
     SpgwEgress() spgw;
 #endif // WITH_SPGW
@@ -116,6 +126,7 @@
 #ifdef WITH_INT
         process_int_main.apply(hdr, fabric_metadata, standard_metadata);
 #endif
+    dscp_rewriter.apply(hdr, fabric_metadata, standard_metadata);
     }
 }
 
diff --git a/pipelines/fabric/impl/src/main/resources/include/control/acl.p4 b/pipelines/fabric/impl/src/main/resources/include/control/acl.p4
index ae86e3b..9d7c7ba 100644
--- a/pipelines/fabric/impl/src/main/resources/include/control/acl.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/control/acl.p4
@@ -21,29 +21,22 @@
 #include "../header.p4"
 
 control Acl (inout parsed_headers_t hdr,
-             inout fabric_metadata_t fabric_metadata,
+             inout fabric_metadata_t fabric_md,
              inout standard_metadata_t standard_metadata) {
-
-    ipv4_addr_t ipv4_src    = 0;
-    ipv4_addr_t ipv4_dst    = 0;
-    bit<8> ip_proto         = 0;
-    l4_port_t l4_sport      = 0;
-    l4_port_t l4_dport      = 0;
-
     /*
      * ACL Table.
      */
     direct_counter(CounterType.packets_and_bytes) acl_counter;
 
     action set_next_id_acl(next_id_t next_id) {
-        fabric_metadata.next_id = next_id;
+        fabric_md.next_id = next_id;
         acl_counter.count();
     }
 
     // Send immendiatelly to CPU - skip the rest of ingress.
     action punt_to_cpu() {
         standard_metadata.egress_spec = CPU_PORT;
-        fabric_metadata.skip_next = _TRUE;
+        fabric_md.skip_next = _TRUE;
         acl_counter.count();
     }
 
@@ -55,7 +48,7 @@
 
     action drop() {
         mark_to_drop(standard_metadata);
-        fabric_metadata.skip_next = _TRUE;
+        fabric_md.skip_next = _TRUE;
         acl_counter.count();
     }
 
@@ -70,14 +63,14 @@
             hdr.ethernet.src_addr           : ternary @name("eth_src");   // 48
             hdr.vlan_tag.vlan_id            : ternary @name("vlan_id");   // 12
             hdr.eth_type.value              : ternary @name("eth_type");  // 16
-            ipv4_src                        : ternary @name("ipv4_src");  // 32
-            ipv4_dst                        : ternary @name("ipv4_dst");  // 32
-            ip_proto                        : ternary @name("ip_proto");  // 8
+            fabric_md.lkp.ipv4_src          : ternary @name("ipv4_src");  // 32
+            fabric_md.lkp.ipv4_dst          : ternary @name("ipv4_dst");  // 32
+            fabric_md.lkp.ip_proto          : ternary @name("ip_proto");  // 8
             hdr.icmp.icmp_type              : ternary @name("icmp_type"); // 8
             hdr.icmp.icmp_code              : ternary @name("icmp_code"); // 8
-            l4_sport                        : ternary @name("l4_sport");  // 16
-            l4_dport                        : ternary @name("l4_dport");  // 16
-            fabric_metadata.port_type       : ternary @name("port_type"); // 2
+            fabric_md.lkp.l4_sport          : ternary @name("l4_sport");  // 16
+            fabric_md.lkp.l4_dport          : ternary @name("l4_dport");  // 16
+            fabric_md.port_type             : ternary @name("port_type"); // 2
         }
 
         actions = {
@@ -94,29 +87,6 @@
     }
 
     apply {
-        if (hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()) {
-            ipv4_src = hdr.inner_ipv4.src_addr;
-            ipv4_dst = hdr.inner_ipv4.dst_addr;
-            ip_proto = hdr.inner_ipv4.protocol;
-            if (hdr.inner_tcp.isValid()) {
-                l4_sport = hdr.inner_tcp.sport;
-                l4_dport = hdr.inner_tcp.dport;
-            } else if (hdr.inner_udp.isValid()) {
-                l4_sport = hdr.inner_udp.sport;
-                l4_dport = hdr.inner_udp.dport;
-            }
-        } else if (hdr.ipv4.isValid()) {
-            ipv4_src = hdr.ipv4.src_addr;
-            ipv4_dst = hdr.ipv4.dst_addr;
-            ip_proto = hdr.ipv4.protocol;
-            if (hdr.tcp.isValid()) {
-                l4_sport = hdr.tcp.sport;
-                l4_dport = hdr.tcp.dport;
-            } else if (hdr.udp.isValid()) {
-                l4_sport = hdr.udp.sport;
-                l4_dport = hdr.udp.dport;
-            }
-        }
         acl.apply();
     }
 }
diff --git a/pipelines/fabric/impl/src/main/resources/include/control/lookup_md_init.p4 b/pipelines/fabric/impl/src/main/resources/include/control/lookup_md_init.p4
new file mode 100644
index 0000000..c672bc9
--- /dev/null
+++ b/pipelines/fabric/impl/src/main/resources/include/control/lookup_md_init.p4
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2021-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 __LOOKUP__
+#define __LOOKUP__
+
+control LookupMdInit (in parsed_headers_t hdr,
+                      out lookup_metadata_t lkp_md) {
+    apply {
+        lkp_md.is_ipv4 = _FALSE;
+        lkp_md.ipv4_src = 0;
+        lkp_md.ipv4_dst = 0;
+        lkp_md.ip_proto = 0;
+        lkp_md.l4_sport = 0;
+        lkp_md.l4_dport = 0;
+        lkp_md.icmp_type = 0;
+        lkp_md.icmp_code = 0;
+        if (hdr.inner_ipv4.isValid()) {
+            lkp_md.is_ipv4 = true;
+            lkp_md.ipv4_src = hdr.inner_ipv4.src_addr;
+            lkp_md.ipv4_dst = hdr.inner_ipv4.dst_addr;
+            lkp_md.ip_proto = hdr.inner_ipv4.protocol;
+            if (hdr.inner_tcp.isValid()) {
+                lkp_md.l4_sport = hdr.inner_tcp.sport;
+                lkp_md.l4_dport = hdr.inner_tcp.dport;
+            } else if (hdr.inner_udp.isValid()) {
+                lkp_md.l4_sport = hdr.inner_udp.sport;
+                lkp_md.l4_dport = hdr.inner_udp.dport;
+            } else if (hdr.inner_icmp.isValid()) {
+                lkp_md.icmp_type = hdr.inner_icmp.icmp_type;
+                lkp_md.icmp_code = hdr.inner_icmp.icmp_code;
+            }
+        } else if (hdr.ipv4.isValid()) {
+            lkp_md.is_ipv4 = true;
+            lkp_md.ipv4_src = hdr.ipv4.src_addr;
+            lkp_md.ipv4_dst = hdr.ipv4.dst_addr;
+            lkp_md.ip_proto = hdr.ipv4.protocol;
+            if (hdr.tcp.isValid()) {
+                lkp_md.l4_sport = hdr.tcp.sport;
+                lkp_md.l4_dport = hdr.tcp.dport;
+            } else if (hdr.udp.isValid()) {
+                lkp_md.l4_sport = hdr.udp.sport;
+                lkp_md.l4_dport = hdr.udp.dport;
+            } else if (hdr.icmp.isValid()) {
+                lkp_md.icmp_type = hdr.icmp.icmp_type;
+                lkp_md.icmp_code = hdr.icmp.icmp_code;
+            }
+        }
+    }
+}
+
+#endif
+
diff --git a/pipelines/fabric/impl/src/main/resources/include/control/slicing.p4 b/pipelines/fabric/impl/src/main/resources/include/control/slicing.p4
new file mode 100644
index 0000000..87d887a
--- /dev/null
+++ b/pipelines/fabric/impl/src/main/resources/include/control/slicing.p4
@@ -0,0 +1,165 @@
+/*
+ * Copyright 2021-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 __SLICING__
+#define __SLICING__
+
+// ACL-like classification, maps lookup metadata to slice_id and tc. For UE
+// traffic, values can be overriden later by the SPGW PDR tables.
+// To apply the same slicing and QoS treatment end-to-end, we use the IPv4 DSCP
+// field to piggyback slice_id and tc (see EgressDscpRewriter). This is
+// especially important for UE traffic, where classification based on PDRs can
+// only happen at the ingress leaf switch (implementing the UPF function).
+// As such, for traffic coming from selected ports, we allow trusting the
+// slice_id and tc values carried in the dscp.
+control IngressSliceTcClassifier (in parsed_headers_t hdr,
+                                  inout fabric_metadata_t fabric_md,
+                                  in standard_metadata_t standard_metadata) {
+
+    direct_counter(CounterType.packets) classifier_stats;
+
+    action set_slice_id_tc(slice_id_t slice_id, tc_t tc) {
+        fabric_md.slice_id = slice_id;
+        fabric_md.tc = tc;
+        classifier_stats.count();
+    }
+
+    // Should be used only for infrastructure ports (leaf-leaf, or leaf-spine),
+    // or ports facing servers that implement early classification based on the
+    // SDFAB DSCP encoding (slice_id++tc).
+    action trust_dscp() {
+        fabric_md.slice_id = hdr.ipv4.dscp[SLICE_ID_WIDTH+TC_WIDTH-1:TC_WIDTH];
+        fabric_md.tc = hdr.ipv4.dscp[TC_WIDTH-1:0];
+        classifier_stats.count();
+    }
+
+    table classifier {
+        key = {
+            standard_metadata.ingress_port  : ternary @name("ig_port");
+            fabric_md.lkp.ipv4_src          : ternary @name("ipv4_src");
+            fabric_md.lkp.ipv4_dst          : ternary @name("ipv4_dst");
+            fabric_md.lkp.ip_proto          : ternary @name("ip_proto");
+            fabric_md.lkp.l4_sport          : ternary @name("l4_sport");
+            fabric_md.lkp.l4_dport          : ternary @name("l4_dport");
+        }
+        actions = {
+            set_slice_id_tc;
+            trust_dscp;
+        }
+        const default_action = set_slice_id_tc(DEFAULT_SLICE_ID, DEFAULT_TC);
+        counters = classifier_stats;
+        size = QOS_CLASSIFIER_TABLE_SIZE;
+    }
+
+    apply {
+        classifier.apply();
+    }
+}
+
+// Provides metering and mapping to queues based on slice_id and tc. Should be
+// applied after any other block writing slice_id and tc.
+control IngressQos (inout fabric_metadata_t fabric_md,
+                    inout standard_metadata_t standard_metadata) {
+
+    // One meter per tc per slice. The index should be slice_id++tc.
+    meter(1 << SLICE_TC_WIDTH, MeterType.bytes) slice_tc_meter;
+
+    direct_counter(CounterType.packets) queues_stats;
+
+    action set_queue(qid_t qid) {
+        // We can't set the queue id in bmv2.
+        queues_stats.count();
+    }
+
+    // For policing.
+    action meter_drop() {
+        mark_to_drop(standard_metadata);
+        queues_stats.count();
+    }
+
+    table queues {
+        key = {
+            fabric_md.slice_id:     exact   @name("slice_id");
+            fabric_md.tc:           exact   @name("tc");
+            fabric_md.packet_color: ternary @name("color"); // 0=GREEN, 1=YELLOW, 2=RED
+        }
+        actions = {
+            set_queue;
+            meter_drop;
+        }
+        const default_action = set_queue(0); // 0 = Best Effort
+        counters = queues_stats;
+        // Two times the number of tcs for all slices, because we might need to
+        // match on different colors for the same slice and tc.
+        size = 1 << (SLICE_TC_WIDTH + 1);
+    }
+
+    slice_tc_t slice_tc = fabric_md.slice_id++fabric_md.tc;
+
+    apply {
+        // Meter index should be 0 for all packets with default slice_id and tc.
+        slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color);
+        fabric_md.dscp = slice_tc;
+        queues.apply();
+    }
+}
+
+// Allows per-egress port rewriting of the outermost IPv4 DSCP field to
+// piggyback slice_id and tc across the fabric.
+control EgressDscpRewriter (inout parsed_headers_t hdr,
+                            in fabric_metadata_t fabric_md,
+                            in standard_metadata_t standard_metadata) {
+
+    bit<6> tmp_dscp = fabric_md.dscp;
+
+    action rewrite() {
+        // Do nothing, tmp_dscp is already initialized.
+    }
+
+    // Sets the DSCP field to zero. Should be used for edge ports facing devices
+    // that do not support the SDFAB DSCP encoding.
+    action clear() {
+        tmp_dscp = 0;
+    }
+
+    table rewriter {
+        key = {
+            standard_metadata.egress_port : exact @name("eg_port");
+        }
+        actions = {
+            rewrite;
+            clear;
+            @defaultonly nop;
+        }
+        const default_action = nop;
+        size = DSCP_REWRITER_TABLE_SIZE;
+    }
+
+    apply {
+        if (rewriter.apply().hit) {
+#ifdef WITH_SPGW
+            if (hdr.gtpu_ipv4.isValid()) {
+                hdr.ipv4.dscp = tmp_dscp;
+            } else
+#endif // WITH_SPGW
+            if (hdr.ipv4.isValid()) {
+                hdr.inner_ipv4.dscp = tmp_dscp;
+            }
+        }
+    }
+}
+
+#endif
diff --git a/pipelines/fabric/impl/src/main/resources/include/control/spgw.p4 b/pipelines/fabric/impl/src/main/resources/include/control/spgw.p4
index adacd9a..6750dbd 100644
--- a/pipelines/fabric/impl/src/main/resources/include/control/spgw.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/control/spgw.p4
@@ -45,6 +45,8 @@
         hdr.ipv4 = hdr.inner_ipv4;
         hdr.inner_ipv4.setInvalid();
         hdr.gtpu.setInvalid();
+        hdr.gtpu_options.setInvalid();
+        hdr.gtpu_ext_psc.setInvalid();
     }
     @hidden
     action decap_inner_tcp() {
@@ -115,10 +117,11 @@
     //===== Interface Tables ======//
     //=============================//
 
-    action load_iface(spgw_interface_t src_iface) {
+    action load_iface(spgw_interface_t src_iface, slice_id_t slice_id) {
         // Interface type can be access, core, from_dbuf (see InterfaceType enum)
         fabric_md.spgw.src_iface = src_iface;
         fabric_md.spgw.skip_spgw = _FALSE;
+        fabric_md.slice_id = slice_id;
     }
     action iface_miss() {
         fabric_md.spgw.src_iface = SPGW_IFACE_UNKNOWN;
@@ -143,21 +146,26 @@
     //=============================//
     //===== PDR Tables ======//
     //=============================//
-
     action load_pdr(pdr_ctr_id_t  ctr_id,
                     far_id_t      far_id,
-                    bit<1>        needs_gtpu_decap) {
+                    bit<1>        needs_gtpu_decap,
+                    tc_t          tc) {
         fabric_md.spgw.ctr_id = ctr_id;
         fabric_md.spgw.far_id = far_id;
         fabric_md.spgw.needs_gtpu_decap = (_BOOL)needs_gtpu_decap;
+        fabric_md.tc = tc;
     }
 
-    action load_pdr_qos(pdr_ctr_id_t ctr_id,
-                        far_id_t     far_id,
-                        bit<1>       needs_gtpu_decap,
-                        qid_t        qid) {
-        load_pdr(ctr_id, far_id, needs_gtpu_decap);
-        // we cannot set the qid, since bmv2 does not support it
+    action load_pdr_qos(pdr_ctr_id_t  ctr_id,
+                        far_id_t      far_id,
+                        bit<1>        needs_gtpu_decap,
+                        // Used to push QFI, valid for 5G traffic only
+                        bit<1>        needs_qfi_push,
+                        qfi_t         qfi,
+                        tc_t          tc) {
+        load_pdr(ctr_id, far_id, needs_gtpu_decap, tc);
+        fabric_md.spgw.qfi = qfi;
+        fabric_md.spgw.needs_qfi_push = (_BOOL)needs_qfi_push;
     }
 
     // These two tables scale well and cover the average case PDR
@@ -177,6 +185,10 @@
         key = {
             hdr.ipv4.dst_addr           : exact @name("tunnel_ipv4_dst");
             hdr.gtpu.teid               : exact @name("teid");
+            // Match valid only for 5G traffic
+            hdr.gtpu_ext_psc.isValid()  : exact @name("has_qfi");
+            // QFI metadata is 0 when gptu_ext_psc is invalid.
+            fabric_md.spgw.qfi          : exact @name("qfi");
         }
         actions = {
             load_pdr;
@@ -294,7 +306,6 @@
 
     counter(MAX_PDR_COUNTERS, CounterType.packets_and_bytes) pdr_counter;
 
-
     @hidden
     action gtpu_encap() {
         hdr.gtpu_ipv4.setValid();
@@ -320,7 +331,6 @@
                 + (UDP_HDR_SIZE + GTP_HDR_SIZE);
         hdr.gtpu_udp.checksum = 0; // Updated later, if WITH_SPGW_UDP_CSUM_UPDATE
 
-
         hdr.outer_gtpu.setValid();
         hdr.outer_gtpu.version = GTP_V1;
         hdr.outer_gtpu.pt = GTP_PROTOCOL_TYPE_GTP;
@@ -333,10 +343,35 @@
         hdr.outer_gtpu.teid = fabric_md.spgw.teid;
     }
 
+    @hidden
+    action gtpu_encap_qfi() {
+        gtpu_encap();
+        hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len
+                    + IPV4_HDR_SIZE + UDP_HDR_SIZE + GTP_HDR_SIZE
+                    + GTPU_OPTIONS_HDR_BYTES + GTPU_EXT_PSC_HDR_BYTES;
+        hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len
+                    + UDP_HDR_SIZE + GTP_HDR_SIZE
+                    + GTPU_OPTIONS_HDR_BYTES + GTPU_EXT_PSC_HDR_BYTES;
+        hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len
+                    + GTPU_OPTIONS_HDR_BYTES + GTPU_EXT_PSC_HDR_BYTES;
+        hdr.outer_gtpu.ex_flag = 1;
+        hdr.outer_gtpu_options.setValid();
+        hdr.outer_gtpu_options.next_ext = GTPU_NEXT_EXT_PSC;
+        hdr.outer_gtpu_ext_psc.setValid();
+        hdr.outer_gtpu_ext_psc.type = GTPU_EXT_PSC_TYPE_DL;
+        hdr.outer_gtpu_ext_psc.len = GTPU_EXT_PSC_LEN;
+        hdr.outer_gtpu_ext_psc.qfi = fabric_md.spgw.qfi;
+        hdr.outer_gtpu_ext_psc.next_ext = GTPU_NEXT_EXT_NONE;
+    }
+
     apply {
         if (fabric_md.spgw.skip_spgw == _FALSE) {
             if (fabric_md.spgw.needs_gtpu_encap == _TRUE) {
-                gtpu_encap();
+                if (fabric_md.spgw.needs_qfi_push == _TRUE) {
+                    gtpu_encap_qfi();
+                } else {
+                    gtpu_encap();
+                }
             }
             if (fabric_md.spgw.skip_egress_pdr_ctr == _FALSE) {
                 pdr_counter.count(fabric_md.spgw.ctr_id);
diff --git a/pipelines/fabric/impl/src/main/resources/include/define.p4 b/pipelines/fabric/impl/src/main/resources/include/define.p4
index 36a5ec7..519d454 100644
--- a/pipelines/fabric/impl/src/main/resources/include/define.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/define.p4
@@ -73,10 +73,20 @@
 #define UDP_HDR_SIZE 8
 #define GTP_HDR_SIZE 8
 
+#define GTPU_OPTIONS_HDR_BYTES 4
+#define GTPU_EXT_PSC_HDR_BYTES 4
+
 #define UDP_PORT_GTPU 2152
 #define GTP_GPDU 0xff
 #define GTP_V1 0x01
 #define GTP_PROTOCOL_TYPE_GTP 0x01
+#define GTPU_NEXT_EXT_NONE 0x0
+#define GTPU_NEXT_EXT_PSC 0x85
+// 1*4-octets
+#define GTPU_EXT_PSC_LEN 8w1
+
+const bit<4> GTPU_EXT_PSC_TYPE_DL = 4w0; // Downlink
+const bit<4> GTPU_EXT_PSC_TYPE_UL = 4w1; // Uplink
 
 #define PKT_INSTANCE_TYPE_NORMAL 0
 #define PKT_INSTANCE_TYPE_INGRESS_CLONE 1
@@ -95,6 +105,12 @@
 typedef bit<12> vlan_id_t;
 typedef bit<32> ipv4_addr_t;
 typedef bit<16> l4_port_t;
+typedef bit<SLICE_ID_WIDTH> slice_id_t;
+typedef bit<TC_WIDTH> tc_t; // Traffic Class (for QoS) within a slice
+typedef bit<SLICE_TC_WIDTH> slice_tc_t; // Slice and TC identifier
+
+const slice_id_t DEFAULT_SLICE_ID = 0;
+const tc_t DEFAULT_TC = 0;
 
 // SPGW types
 typedef bit<2> direction_t;
@@ -105,6 +121,7 @@
 typedef bit<32> far_id_t;
 typedef bit<32> pdr_ctr_id_t;
 typedef bit<32> teid_t;
+typedef bit<6> qfi_t;
 typedef bit<5> qid_t;
 
 const spgw_interface_t SPGW_IFACE_UNKNOWN = 8w0;
diff --git a/pipelines/fabric/impl/src/main/resources/include/header.p4 b/pipelines/fabric/impl/src/main/resources/include/header.p4
index b76ea01..8e3537e 100644
--- a/pipelines/fabric/impl/src/main/resources/include/header.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/header.p4
@@ -139,6 +139,25 @@
     teid_t  teid;       /* tunnel endpoint id */
 }
 
+// Follows gtpu_t if any of ex_flag, seq_flag, or npdu_flag is 1.
+header gtpu_options_t {
+    bit<16> seq_num;   /* Sequence number */
+    bit<8>  n_pdu_num; /* N-PDU number */
+    bit<8>  next_ext;  /* Next extension header */
+}
+
+// GTPU extension: PDU Session Container (PSC) -- 3GPP TS 38.415 version 15.2.0
+// https://www.etsi.org/deliver/etsi_ts/138400_138499/138415/15.02.00_60/ts_138415v150200p.pdf
+header gtpu_ext_psc_t {
+    bit<8> len;      /* Length in 4-octet units (common to all extensions) */
+    bit<4> type;     /* Uplink or downlink */
+    bit<4> spare0;   /* Reserved */
+    bit<1> ppp;      /* Paging Policy Presence (UL only, not supported) */
+    bit<1> rqi;      /* Reflective QoS Indicator (UL only) */
+    qfi_t  qfi;      /* QoS Flow Identifier */
+    bit<8> next_ext;
+}
+
 #ifdef WITH_SPGW
 struct spgw_meta_t {
     bit<16>           ipv4_len;
@@ -149,11 +168,13 @@
     pdr_ctr_id_t      ctr_id;
     far_id_t          far_id;
     spgw_interface_t  src_iface;
+    qfi_t             qfi;
     _BOOL             skip_spgw;
     _BOOL             notify_spgwc;
     _BOOL             needs_gtpu_encap;
     _BOOL             needs_gtpu_decap;
     _BOOL             skip_egress_pdr_ctr;
+    _BOOL             needs_qfi_push;
 }
 #endif // WITH_SPGW
 
@@ -174,8 +195,25 @@
 }
 #endif // WITH_BNG
 
+// Used for table lookup. Initialized with the parsed headers, or 0 if invalid.
+// Never updated by the pipe. When both outer and inner IPv4 headers are valid,
+// this should always carry the inner ones. The assumption is that we terminate
+// GTP tunnels in the fabric, so we are more interested in observing/blocking
+// the inner flows. We might revisit this decision in the future.
+struct lookup_metadata_t {
+    _BOOL                   is_ipv4;
+    bit<32>                 ipv4_src;
+    bit<32>                 ipv4_dst;
+    bit<8>                  ip_proto;
+    l4_port_t               l4_sport;
+    l4_port_t               l4_dport;
+    bit<8>                  icmp_type;
+    bit<8>                  icmp_code;
+}
+
 //Custom metadata definition
 struct fabric_metadata_t {
+    lookup_metadata_t lkp;
     bit<16>       ip_eth_type;
     vlan_id_t     vlan_id;
     bit<3>        vlan_pri;
@@ -199,6 +237,10 @@
     bit<16>       l4_dport;
     bit<32>       ipv4_src_addr;
     bit<32>       ipv4_dst_addr;
+    slice_id_t    slice_id;
+    bit<2>        packet_color;
+    tc_t          tc;
+    bit<6>        dscp;
 #ifdef WITH_SPGW
     bit<16>       inner_l4_sport;
     bit<16>       inner_l4_dport;
@@ -228,8 +270,12 @@
     ipv4_t gtpu_ipv4;
     udp_t gtpu_udp;
     gtpu_t outer_gtpu;
+    gtpu_options_t outer_gtpu_options;
+    gtpu_ext_psc_t outer_gtpu_ext_psc;
 #endif // WITH_SPGW
     gtpu_t gtpu;
+    gtpu_options_t gtpu_options;
+    gtpu_ext_psc_t gtpu_ext_psc;
     ipv4_t inner_ipv4;
     udp_t inner_udp;
     tcp_t inner_tcp;
diff --git a/pipelines/fabric/impl/src/main/resources/include/parser.p4 b/pipelines/fabric/impl/src/main/resources/include/parser.p4
index fb9e764..0a77d4c 100644
--- a/pipelines/fabric/impl/src/main/resources/include/parser.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/parser.p4
@@ -200,7 +200,30 @@
 
     state parse_gtpu {
         packet.extract(hdr.gtpu);
-        transition parse_inner_ipv4;
+        transition select(hdr.gtpu.ex_flag, hdr.gtpu.seq_flag, hdr.gtpu.npdu_flag) {
+            (0, 0, 0): parse_inner_ipv4;
+            default: parse_gtpu_options;
+        }
+    }
+
+    state parse_gtpu_options {
+        packet.extract(hdr.gtpu_options);
+        bit<8> gtpu_ext_len = packet.lookahead<bit<8>>();
+        transition select(hdr.gtpu_options.next_ext, gtpu_ext_len) {
+            (GTPU_NEXT_EXT_PSC, GTPU_EXT_PSC_LEN): parse_gtpu_ext_psc;
+            default: accept;
+        }
+    }
+
+    state parse_gtpu_ext_psc {
+        packet.extract(hdr.gtpu_ext_psc);
+#ifdef WITH_SPGW
+        fabric_metadata.spgw.qfi = hdr.gtpu_ext_psc.qfi;
+#endif // WITH_SPGW
+        transition select(hdr.gtpu_ext_psc.next_ext) {
+            GTPU_NEXT_EXT_NONE: parse_inner_ipv4;
+            default: accept;
+        }
     }
 
     state parse_inner_ipv4 {
@@ -307,6 +330,8 @@
         packet.emit(hdr.gtpu_ipv4);
         packet.emit(hdr.gtpu_udp);
         packet.emit(hdr.outer_gtpu);
+        packet.emit(hdr.outer_gtpu_options);
+        packet.emit(hdr.outer_gtpu_ext_psc);
 #endif // WITH_SPGW
         packet.emit(hdr.ipv4);
 #ifdef WITH_IPV6
@@ -317,6 +342,8 @@
         packet.emit(hdr.icmp);
         // if we parsed a GTPU packet but did not decap it
         packet.emit(hdr.gtpu);
+        packet.emit(hdr.gtpu_options);
+        packet.emit(hdr.gtpu_ext_psc);
         packet.emit(hdr.inner_ipv4);
         packet.emit(hdr.inner_tcp);
         packet.emit(hdr.inner_udp);
diff --git a/pipelines/fabric/impl/src/main/resources/include/size.p4 b/pipelines/fabric/impl/src/main/resources/include/size.p4
index caa8c14..3a782f10 100644
--- a/pipelines/fabric/impl/src/main/resources/include/size.p4
+++ b/pipelines/fabric/impl/src/main/resources/include/size.p4
@@ -25,5 +25,11 @@
 #define HASHED_ACT_PROFILE_SIZE 32w1024
 #define MULTICAST_NEXT_TABLE_SIZE 1024
 #define EGRESS_VLAN_TABLE_SIZE 1024
+#define QOS_CLASSIFIER_TABLE_SIZE 512
+#define DSCP_REWRITER_TABLE_SIZE 512
+
+#define SLICE_ID_WIDTH 4
+#define TC_WIDTH 2
+#define SLICE_TC_WIDTH (SLICE_ID_WIDTH + TC_WIDTH)
 
 #endif
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
index 19a3cd9..2d265cb 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/bmv2.json
@@ -7,6 +7,7 @@
         ["tmp_0", 1, false],
         ["tmp_2", 3, false],
         ["tmp_4", 8, false],
+        ["gtpu_ext_len_0", 8, false],
         ["tmp_1", 16, false],
         ["tmp_3", 16, false],
         ["tmp_5", 4, false],
@@ -14,41 +15,50 @@
         ["tmp_7", 64, false],
         ["tmp_8", 32, false],
         ["tmp_9", 32, false],
-        ["acl_ipv4_src", 32, false],
-        ["acl_ipv4_dst", 32, false],
-        ["acl_ip_proto", 8, false],
-        ["acl_l4_sport", 16, false],
-        ["acl_l4_dport", 16, false],
+        ["tmp_10", 32, false],
         ["bng_ingress_upstream_hasReturned", 1, false],
-        ["userMetadata._ip_eth_type0", 16, false],
-        ["userMetadata._vlan_id1", 12, false],
-        ["userMetadata._vlan_pri2", 3, false],
-        ["userMetadata._vlan_cfi3", 1, false],
-        ["userMetadata._push_double_vlan4", 1, false],
-        ["userMetadata._inner_vlan_id5", 12, false],
-        ["userMetadata._inner_vlan_pri6", 3, false],
-        ["userMetadata._inner_vlan_cfi7", 1, false],
-        ["userMetadata._mpls_label8", 20, false],
-        ["userMetadata._mpls_ttl9", 8, false],
-        ["userMetadata._skip_forwarding10", 1, false],
-        ["userMetadata._skip_next11", 1, false],
-        ["userMetadata._fwd_type12", 3, false],
-        ["userMetadata._next_id13", 32, false],
-        ["userMetadata._is_multicast14", 1, false],
-        ["userMetadata._is_controller_packet_out15", 1, false],
-        ["userMetadata._ip_proto16", 8, false],
-        ["userMetadata._l4_sport17", 16, false],
-        ["userMetadata._l4_dport18", 16, false],
-        ["userMetadata._ipv4_src_addr19", 32, false],
-        ["userMetadata._ipv4_dst_addr20", 32, false],
-        ["userMetadata._bng_type21", 2, false],
-        ["userMetadata._bng_line_id22", 32, false],
-        ["userMetadata._bng_pppoe_session_id23", 16, false],
-        ["userMetadata._bng_ds_meter_result24", 32, false],
-        ["userMetadata._bng_s_tag25", 12, false],
-        ["userMetadata._bng_c_tag26", 12, false],
-        ["userMetadata._port_type27", 2, false],
-        ["_padding_0", 7, false]
+        ["dscp_rewriter_tmp_dscp", 6, false],
+        ["userMetadata._lkp_is_ipv40", 1, false],
+        ["userMetadata._lkp_ipv4_src1", 32, false],
+        ["userMetadata._lkp_ipv4_dst2", 32, false],
+        ["userMetadata._lkp_ip_proto3", 8, false],
+        ["userMetadata._lkp_l4_sport4", 16, false],
+        ["userMetadata._lkp_l4_dport5", 16, false],
+        ["userMetadata._lkp_icmp_type6", 8, false],
+        ["userMetadata._lkp_icmp_code7", 8, false],
+        ["userMetadata._ip_eth_type8", 16, false],
+        ["userMetadata._vlan_id9", 12, false],
+        ["userMetadata._vlan_pri10", 3, false],
+        ["userMetadata._vlan_cfi11", 1, false],
+        ["userMetadata._push_double_vlan12", 1, false],
+        ["userMetadata._inner_vlan_id13", 12, false],
+        ["userMetadata._inner_vlan_pri14", 3, false],
+        ["userMetadata._inner_vlan_cfi15", 1, false],
+        ["userMetadata._mpls_label16", 20, false],
+        ["userMetadata._mpls_ttl17", 8, false],
+        ["userMetadata._skip_forwarding18", 1, false],
+        ["userMetadata._skip_next19", 1, false],
+        ["userMetadata._fwd_type20", 3, false],
+        ["userMetadata._next_id21", 32, false],
+        ["userMetadata._is_multicast22", 1, false],
+        ["userMetadata._is_controller_packet_out23", 1, false],
+        ["userMetadata._ip_proto24", 8, false],
+        ["userMetadata._l4_sport25", 16, false],
+        ["userMetadata._l4_dport26", 16, false],
+        ["userMetadata._ipv4_src_addr27", 32, false],
+        ["userMetadata._ipv4_dst_addr28", 32, false],
+        ["userMetadata._slice_id29", 4, false],
+        ["userMetadata._packet_color30", 2, false],
+        ["userMetadata._tc31", 2, false],
+        ["userMetadata._dscp32", 6, false],
+        ["userMetadata._bng_type33", 2, false],
+        ["userMetadata._bng_line_id34", 32, false],
+        ["userMetadata._bng_pppoe_session_id35", 16, false],
+        ["userMetadata._bng_ds_meter_result36", 32, false],
+        ["userMetadata._bng_s_tag37", 12, false],
+        ["userMetadata._bng_c_tag38", 12, false],
+        ["userMetadata._port_type39", 2, false],
+        ["_padding_0", 2, false]
       ]
     },
     {
@@ -146,9 +156,31 @@
       ]
     },
     {
-      "name" : "ipv4_t",
+      "name" : "gtpu_options_t",
       "id" : 9,
       "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 10,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "ipv4_t",
+      "id" : 11,
+      "fields" : [
         ["version", 4, false],
         ["ihl", 4, false],
         ["dscp", 6, false],
@@ -166,7 +198,7 @@
     },
     {
       "name" : "udp_t",
-      "id" : 10,
+      "id" : 12,
       "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
@@ -176,7 +208,7 @@
     },
     {
       "name" : "tcp_t",
-      "id" : 11,
+      "id" : 13,
       "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
@@ -193,7 +225,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 12,
+      "id" : 14,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -205,7 +237,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 13,
+      "id" : 15,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -291,71 +323,85 @@
       "pi_omit" : true
     },
     {
-      "name" : "inner_ipv4",
+      "name" : "gtpu_options",
       "id" : 11,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu_ext_psc",
+      "id" : 12,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "inner_ipv4",
+      "id" : 13,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_udp",
-      "id" : 12,
+      "id" : 14,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_tcp",
-      "id" : 13,
+      "id" : 15,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_icmp",
-      "id" : 14,
+      "id" : 16,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "ipv4",
-      "id" : 15,
+      "id" : 17,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "tcp",
-      "id" : 16,
+      "id" : 18,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "udp",
-      "id" : 17,
+      "id" : 19,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "icmp",
-      "id" : 18,
+      "id" : 20,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_out",
-      "id" : 19,
+      "id" : 21,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 20,
+      "id" : 22,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
@@ -371,7 +417,7 @@
       "name" : "fl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 52,
+        "line" : 45,
         "column" : 40,
         "source_fragment" : "{standard_metadata.ingress_port}"
       },
@@ -706,7 +752,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._vlan_id1"]
+                  "value" : ["scalars", "userMetadata._vlan_id9"]
                 },
                 {
                   "type" : "hexstr",
@@ -779,7 +825,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._bng_s_tag25"]
+                  "value" : ["scalars", "userMetadata._bng_s_tag37"]
                 },
                 {
                   "type" : "field",
@@ -840,7 +886,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._bng_c_tag26"]
+                  "value" : ["scalars", "userMetadata._bng_c_tag38"]
                 },
                 {
                   "type" : "field",
@@ -971,7 +1017,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_label8"]
+                  "value" : ["scalars", "userMetadata._mpls_label16"]
                 },
                 {
                   "type" : "field",
@@ -984,7 +1030,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_ttl9"]
+                  "value" : ["scalars", "userMetadata._mpls_ttl17"]
                 },
                 {
                   "type" : "field",
@@ -1045,7 +1091,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_proto16"]
+                  "value" : ["scalars", "userMetadata._ip_proto24"]
                 },
                 {
                   "type" : "field",
@@ -1058,7 +1104,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_eth_type0"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -1071,7 +1117,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
+                  "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
                 },
                 {
                   "type" : "field",
@@ -1084,7 +1130,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
+                  "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
                 },
                 {
                   "type" : "field",
@@ -1144,7 +1190,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport17"]
+                  "value" : ["scalars", "userMetadata._l4_sport25"]
                 },
                 {
                   "type" : "field",
@@ -1157,7 +1203,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport18"]
+                  "value" : ["scalars", "userMetadata._l4_dport26"]
                 },
                 {
                   "type" : "field",
@@ -1194,7 +1240,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport17"]
+                  "value" : ["scalars", "userMetadata._l4_sport25"]
                 },
                 {
                   "type" : "field",
@@ -1207,7 +1253,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport18"]
+                  "value" : ["scalars", "userMetadata._l4_dport26"]
                 },
                 {
                   "type" : "field",
@@ -1795,8 +1841,129 @@
                 }
               ],
               "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
             },
             {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 15,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_options"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "gtpu_ext_len_0"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 8]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8501",
+              "mask" : null,
+              "next_state" : "parse_gtpu_ext_psc"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 16,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_ext_psc"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ext_psc", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 17,
+          "parser_ops" : [
+            {
               "parameters" : [
                 {
                   "type" : "regular",
@@ -1841,7 +2008,7 @@
         },
         {
           "name" : "parse_inner_udp",
-          "id" : 15,
+          "id" : 18,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1865,7 +2032,7 @@
         },
         {
           "name" : "parse_inner_tcp",
-          "id" : 16,
+          "id" : 19,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1889,7 +2056,7 @@
         },
         {
           "name" : "parse_inner_icmp",
-          "id" : 17,
+          "id" : 20,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1921,11 +2088,11 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 285,
+        "line" : 308,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
+      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
       "primitives" : []
     }
   ],
@@ -1957,6 +2124,20 @@
       "size" : 8192,
       "rate_count" : 2,
       "type" : "bytes"
+    },
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 2,
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 78,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
     }
   ],
   "counter_arrays" : [
@@ -2087,7 +2268,7 @@
       "binding" : "FabricIngress.acl.acl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 36,
+        "line" : 29,
         "column" : 50,
         "source_fragment" : "acl_counter"
       }
@@ -2117,8 +2298,32 @@
       }
     },
     {
-      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
       "id" : 13,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 32,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 14,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 80,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "id" : 15,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 26,
@@ -2130,7 +2335,7 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 14,
+      "id" : 16,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 27,
@@ -2142,7 +2347,7 @@
     },
     {
       "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
-      "id" : 15,
+      "id" : 17,
       "source_info" : {
         "filename" : "include/bng.p4",
         "line" : 267,
@@ -2154,7 +2359,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 16,
+      "id" : 18,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
@@ -2398,7 +2603,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             }
           ],
           "source_info" : {
@@ -2420,7 +2625,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type21"]
+              "value" : ["scalars", "userMetadata._bng_type33"]
             },
             {
               "type" : "hexstr",
@@ -2429,7 +2634,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 163,
+            "line" : 184,
             "column" : 36,
             "source_fragment" : "2w0x0; ..."
           }
@@ -2470,7 +2675,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 132,
+            "line" : 149,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
           }
@@ -2499,7 +2704,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             }
           ],
           "source_info" : {
@@ -2526,7 +2731,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type21"]
+              "value" : ["scalars", "userMetadata._bng_type33"]
             },
             {
               "type" : "hexstr",
@@ -2535,7 +2740,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 165,
+            "line" : 186,
             "column" : 39,
             "source_fragment" : "2w0x2;; ..."
           }
@@ -2545,7 +2750,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
+              "value" : ["scalars", "userMetadata._bng_pppoe_session_id35"]
             },
             {
               "type" : "runtime_data",
@@ -2568,7 +2773,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             }
           ],
           "source_info" : {
@@ -2590,7 +2795,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type21"]
+              "value" : ["scalars", "userMetadata._bng_type33"]
             },
             {
               "type" : "hexstr",
@@ -2599,7 +2804,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 165,
+            "line" : 186,
             "column" : 39,
             "source_fragment" : "2w0x2;; ..."
           }
@@ -2613,7 +2818,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             }
           ],
           "source_info" : {
@@ -2667,7 +2872,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             },
             {
               "type" : "runtime_data",
@@ -2693,7 +2898,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding10"]
+              "value" : ["scalars", "userMetadata._skip_forwarding18"]
             },
             {
               "type" : "expression",
@@ -2722,7 +2927,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -2751,7 +2956,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type27"]
+              "value" : ["scalars", "userMetadata._port_type39"]
             },
             {
               "type" : "hexstr",
@@ -2760,7 +2965,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 119,
+            "line" : 136,
             "column" : 38,
             "source_fragment" : "0x0; ..."
           }
@@ -2782,7 +2987,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type27"]
+              "value" : ["scalars", "userMetadata._port_type39"]
             },
             {
               "type" : "runtime_data",
@@ -2817,7 +3022,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2836,7 +3041,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type27"]
+              "value" : ["scalars", "userMetadata._port_type39"]
             },
             {
               "type" : "runtime_data",
@@ -2867,7 +3072,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._fwd_type12"]
+              "value" : ["scalars", "userMetadata._fwd_type20"]
             },
             {
               "type" : "runtime_data",
@@ -2898,7 +3103,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -2929,7 +3134,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label8"]
+              "value" : ["scalars", "userMetadata._mpls_label16"]
             },
             {
               "type" : "hexstr",
@@ -2948,7 +3153,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -2979,7 +3184,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -3016,7 +3221,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label8"]
+              "value" : ["scalars", "userMetadata._mpls_label16"]
             },
             {
               "type" : "runtime_data",
@@ -3047,7 +3252,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -3082,7 +3287,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -3101,7 +3306,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._push_double_vlan4"]
+              "value" : ["scalars", "userMetadata._push_double_vlan12"]
             },
             {
               "type" : "expression",
@@ -3130,7 +3335,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_id5"]
+              "value" : ["scalars", "userMetadata._inner_vlan_id13"]
             },
             {
               "type" : "runtime_data",
@@ -3149,7 +3354,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_s_tag25"]
+              "value" : ["scalars", "userMetadata._bng_s_tag37"]
             },
             {
               "type" : "runtime_data",
@@ -3168,7 +3373,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_c_tag26"]
+              "value" : ["scalars", "userMetadata._bng_c_tag38"]
             },
             {
               "type" : "runtime_data",
@@ -3199,7 +3404,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -3208,8 +3413,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 39,
-            "column" : 32,
+            "line" : 32,
+            "column" : 26,
             "source_fragment" : "= next_id; ..."
           }
         }
@@ -3234,7 +3439,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 45,
+            "line" : 38,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
           }
@@ -3244,7 +3449,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -3263,8 +3468,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 46,
-            "column" : 34,
+            "line" : 39,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -3294,7 +3499,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 52,
+            "line" : 45,
             "column" : 8,
             "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
           }
@@ -3316,7 +3521,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 57,
+            "line" : 50,
             "column" : 8,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -3326,7 +3531,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -3345,8 +3550,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 58,
-            "column" : 34,
+            "line" : 51,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -3500,7 +3705,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_multicast14"]
+              "value" : ["scalars", "userMetadata._is_multicast22"]
             },
             {
               "type" : "expression",
@@ -3527,8 +3732,811 @@
       ]
     },
     {
-      "name" : "packetio25",
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
       "id" : 36,
+      "runtime_data" : [
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id29"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 35,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 36,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 37,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id29"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["ipv4", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 44,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["ipv4", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 45,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 38,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 39,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 89,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_metadata)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init37",
+      "id" : 40,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init40",
+      "id" : 41,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init43",
+      "id" : 42,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init32",
+      "id" : 43,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init52",
+      "id" : 44,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init55",
+      "id" : 45,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init58",
+      "id" : 46,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init47",
+      "id" : 47,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init23",
+      "id" : 48,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "packetio25",
+      "id" : 49,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3570,7 +4578,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
+              "value" : ["scalars", "userMetadata._is_controller_packet_out23"]
             },
             {
               "type" : "expression",
@@ -3608,7 +4616,7 @@
     },
     {
       "name" : "filtering113",
-      "id" : 37,
+      "id" : 50,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3616,7 +4624,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "field",
@@ -3635,7 +4643,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             },
             {
               "type" : "field",
@@ -3654,7 +4662,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             },
             {
               "type" : "field",
@@ -3672,7 +4680,7 @@
     },
     {
       "name" : "filtering119",
-      "id" : 38,
+      "id" : 51,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3680,7 +4688,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_id5"]
+              "value" : ["scalars", "userMetadata._inner_vlan_id13"]
             },
             {
               "type" : "field",
@@ -3699,7 +4707,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
+              "value" : ["scalars", "userMetadata._inner_vlan_pri14"]
             },
             {
               "type" : "field",
@@ -3718,7 +4726,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
+              "value" : ["scalars", "userMetadata._inner_vlan_cfi15"]
             },
             {
               "type" : "field",
@@ -3736,7 +4744,7 @@
     },
     {
       "name" : "filtering129",
-      "id" : 39,
+      "id" : 52,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3744,7 +4752,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl9"]
+              "value" : ["scalars", "userMetadata._mpls_ttl17"]
             },
             {
               "type" : "hexstr",
@@ -3761,418 +4769,8 @@
       ]
     },
     {
-      "name" : "acl102",
-      "id" : 40,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 103,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl105",
-      "id" : 41,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 106,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl98",
-      "id" : 42,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 99,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 100,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl113",
-      "id" : 43,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 114,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl116",
-      "id" : 44,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 117,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl109",
-      "id" : 45,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 110,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 111,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl27",
-      "id" : 46,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 28,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 29,
-            "column" : 4,
-            "source_fragment" : "bit<8> ip_proto = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 30,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_sport = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 31,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_dport = 0;"
-          }
-        }
-      ]
-    },
-    {
       "name" : "port_counter31",
-      "id" : 47,
+      "id" : 53,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4230,7 +4828,7 @@
     },
     {
       "name" : "port_counter34",
-      "id" : 48,
+      "id" : 54,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4288,7 +4886,7 @@
     },
     {
       "name" : "bng126",
-      "id" : 49,
+      "id" : 55,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4324,7 +4922,7 @@
     },
     {
       "name" : "bng342",
-      "id" : 50,
+      "id" : 56,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4332,7 +4930,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type21"]
+              "value" : ["scalars", "userMetadata._bng_type33"]
             },
             {
               "type" : "hexstr",
@@ -4341,7 +4939,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 164,
+            "line" : 185,
             "column" : 37,
             "source_fragment" : "2w0x1; ..."
           }
@@ -4373,7 +4971,7 @@
     },
     {
       "name" : "bng131",
-      "id" : 51,
+      "id" : 57,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4385,7 +4983,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             }
           ],
           "source_info" : {
@@ -4399,7 +4997,7 @@
     },
     {
       "name" : "bng238",
-      "id" : 52,
+      "id" : 58,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4411,11 +5009,11 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
+              "value" : ["scalars", "userMetadata._bng_ds_meter_result36"]
             }
           ],
           "source_info" : {
@@ -4429,7 +5027,7 @@
     },
     {
       "name" : "bng241",
-      "id" : 53,
+      "id" : 59,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4441,11 +5039,11 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_ds_meter_result24"]
+              "value" : ["scalars", "userMetadata._bng_ds_meter_result36"]
             }
           ],
           "source_info" : {
@@ -4458,8 +5056,218 @@
       ]
     },
     {
+      "name" : "slicing114",
+      "id" : 60,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "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" : ["scalars", "userMetadata._slice_id29"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x3f"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x2"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._tc31"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x07"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 37,
+            "source_fragment" : "(bit<32>) slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._packet_color30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp32"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "<<",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._slice_id29"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["scalars", "userMetadata._tc31"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 110,
+            "column" : 26,
+            "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "nop",
+      "id" : 61,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
       "name" : "FabricEgress.bng_egress.downstream.encap_v4",
-      "id" : 54,
+      "id" : 62,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4476,7 +5284,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 136,
+            "line" : 153,
             "column" : 33,
             "source_fragment" : "0x8864; ..."
           }
@@ -4562,7 +5370,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_pppoe_session_id23"]
+              "value" : ["scalars", "userMetadata._bng_pppoe_session_id35"]
             }
           ],
           "source_info" : {
@@ -4581,7 +5389,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id22"]
+              "value" : ["scalars", "userMetadata._bng_line_id34"]
             }
           ],
           "source_info" : {
@@ -4647,7 +5455,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 138,
+            "line" : 155,
             "column" : 35,
             "source_fragment" : "0x0021; ..."
           }
@@ -4656,7 +5464,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_mpls_if_present",
-      "id" : 55,
+      "id" : 63,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4683,7 +5491,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
             }
           ],
           "source_info" : {
@@ -4697,7 +5505,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.set_mpls",
-      "id" : 56,
+      "id" : 64,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4724,7 +5532,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label8"]
+              "value" : ["scalars", "userMetadata._mpls_label16"]
             }
           ],
           "source_info" : {
@@ -4781,7 +5589,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl9"]
+              "value" : ["scalars", "userMetadata._mpls_ttl17"]
             }
           ],
           "source_info" : {
@@ -4805,7 +5613,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 130,
+            "line" : 147,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
           }
@@ -4814,7 +5622,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_outer_vlan",
-      "id" : 57,
+      "id" : 65,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4841,7 +5649,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -4860,7 +5668,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -4884,7 +5692,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -4898,7 +5706,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -4912,7 +5720,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_inner_vlan",
-      "id" : 58,
+      "id" : 66,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4939,7 +5747,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
+              "value" : ["scalars", "userMetadata._inner_vlan_cfi15"]
             }
           ],
           "source_info" : {
@@ -4958,7 +5766,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
+              "value" : ["scalars", "userMetadata._inner_vlan_pri14"]
             }
           ],
           "source_info" : {
@@ -4977,7 +5785,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_id5"]
+              "value" : ["scalars", "userMetadata._inner_vlan_id13"]
             }
           ],
           "source_info" : {
@@ -5001,7 +5809,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -5020,7 +5828,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -5029,7 +5837,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_vlan",
-      "id" : 59,
+      "id" : 67,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5056,7 +5864,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -5075,7 +5883,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -5099,7 +5907,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -5113,7 +5921,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -5127,7 +5935,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 60,
+      "id" : 68,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5149,7 +5957,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.drop",
-      "id" : 61,
+      "id" : 69,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5170,8 +5978,40 @@
       ]
     },
     {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 70,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 71,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 135,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio41",
-      "id" : 62,
+      "id" : 72,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5188,7 +6028,7 @@
     },
     {
       "name" : "packetio44",
-      "id" : 63,
+      "id" : 73,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5239,7 +6079,7 @@
     },
     {
       "name" : "next283",
-      "id" : 64,
+      "id" : 74,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5261,7 +6101,7 @@
     },
     {
       "name" : "next299",
-      "id" : 65,
+      "id" : 75,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5283,7 +6123,7 @@
     },
     {
       "name" : "next310",
-      "id" : 66,
+      "id" : 76,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5305,7 +6145,7 @@
     },
     {
       "name" : "next309",
-      "id" : 67,
+      "id" : 77,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5354,7 +6194,7 @@
     },
     {
       "name" : "next314",
-      "id" : 68,
+      "id" : 78,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5376,7 +6216,7 @@
     },
     {
       "name" : "next313",
-      "id" : 69,
+      "id" : 79,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5422,6 +6262,58 @@
           }
         }
       ]
+    },
+    {
+      "name" : "slicing159",
+      "id" : 80,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing126",
+      "id" : 81,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
+          }
+        }
+      ]
     }
   ],
   "pipelines" : [
@@ -5430,16 +6322,277 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 47,
+        "line" : 49,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
-      "init_table" : "node_2",
+      "init_table" : "tbl_lookup_md_init23",
       "tables" : [
         {
-          "name" : "tbl_packetio25",
+          "name" : "tbl_lookup_md_init23",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [48],
+          "actions" : ["lookup_md_init23"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "lookup_md_init23" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 48,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init32",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [43],
+          "actions" : ["lookup_md_init32"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "lookup_md_init32" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 43,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init37",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [40],
+          "actions" : ["lookup_md_init37"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init37" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 40,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init40",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [41],
+          "actions" : ["lookup_md_init40"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init40" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 41,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init43",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [42],
+          "actions" : ["lookup_md_init43"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init43" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 42,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init47",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [47],
+          "actions" : ["lookup_md_init47"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init47" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 47,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init52",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [44],
+          "actions" : ["lookup_md_init52"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init52" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 44,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init55",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [45],
+          "actions" : ["lookup_md_init55"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init55" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 45,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init58",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [46],
+          "actions" : ["lookup_md_init58"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init58" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 46,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio25",
+          "id" : 9,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 42,
@@ -5452,22 +6605,89 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [36],
+          "action_ids" : [49],
           "actions" : ["packetio25"],
-          "base_default_next" : "node_4",
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
           "next_tables" : {
-            "packetio25" : "node_4"
+            "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
           },
           "default_entry" : {
-            "action_id" : 36,
+            "action_id" : 49,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 49,
+            "column" : 10,
+            "source_fragment" : "classifier"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["standard_metadata", "ingress_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [36, 37],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
+          "base_default_next" : "node_22",
+          "next_tables" : {
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
+          },
+          "default_entry" : {
+            "action_id" : 36,
+            "action_const" : true,
+            "action_data" : ["0x0", "0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
           "name" : "tbl_filtering113",
-          "id" : 1,
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
@@ -5481,14 +6701,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [37],
+          "action_ids" : [50],
           "actions" : ["filtering113"],
-          "base_default_next" : "node_6",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "filtering113" : "node_6"
+            "filtering113" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 37,
+            "action_id" : 50,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5496,7 +6716,7 @@
         },
         {
           "name" : "tbl_filtering119",
-          "id" : 2,
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 119,
@@ -5510,14 +6730,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [38],
+          "action_ids" : [51],
           "actions" : ["filtering119"],
-          "base_default_next" : "node_8",
+          "base_default_next" : "node_26",
           "next_tables" : {
-            "filtering119" : "node_8"
+            "filtering119" : "node_26"
           },
           "default_entry" : {
-            "action_id" : 38,
+            "action_id" : 51,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5525,7 +6745,7 @@
         },
         {
           "name" : "tbl_filtering129",
-          "id" : 3,
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
@@ -5539,14 +6759,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [39],
+          "action_ids" : [52],
           "actions" : ["filtering129"],
           "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
           "next_tables" : {
             "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
           },
           "default_entry" : {
-            "action_id" : 39,
+            "action_id" : 52,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5554,7 +6774,7 @@
         },
         {
           "name" : "FabricIngress.filtering.ingress_port_vlan",
-          "id" : 4,
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 55,
@@ -5610,7 +6830,7 @@
         },
         {
           "name" : "FabricIngress.filtering.fwd_classifier",
-          "id" : 5,
+          "id" : 15,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 94,
@@ -5639,7 +6859,7 @@
             {
               "match_type" : "exact",
               "name" : "ip_eth_type",
-              "target" : ["scalars", "userMetadata._ip_eth_type0"],
+              "target" : ["scalars", "userMetadata._ip_eth_type8"],
               "mask" : null
             }
           ],
@@ -5651,9 +6871,9 @@
           "direct_meters" : null,
           "action_ids" : [20],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
-          "base_default_next" : "node_12",
+          "base_default_next" : "node_30",
           "next_tables" : {
-            "FabricIngress.filtering.set_forwarding_type" : "node_12"
+            "FabricIngress.filtering.set_forwarding_type" : "node_30"
           },
           "default_entry" : {
             "action_id" : 20,
@@ -5664,7 +6884,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.bridging",
-          "id" : 6,
+          "id" : 16,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 46,
@@ -5675,7 +6895,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -5693,10 +6913,10 @@
           "direct_meters" : null,
           "action_ids" : [21, 2],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
-          "base_default_next" : "node_19",
+          "base_default_next" : "node_37",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_bridging" : "node_19",
-            "nop" : "node_19"
+            "FabricIngress.forwarding.set_next_id_bridging" : "node_37",
+            "nop" : "node_37"
           },
           "default_entry" : {
             "action_id" : 2,
@@ -5707,7 +6927,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.mpls",
-          "id" : 7,
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 71,
@@ -5718,7 +6938,7 @@
             {
               "match_type" : "exact",
               "name" : "mpls_label",
-              "target" : ["scalars", "userMetadata._mpls_label8"],
+              "target" : ["scalars", "userMetadata._mpls_label16"],
               "mask" : null
             }
           ],
@@ -5730,10 +6950,10 @@
           "direct_meters" : null,
           "action_ids" : [22, 3],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
-          "base_default_next" : "node_19",
+          "base_default_next" : "node_37",
           "next_tables" : {
-            "FabricIngress.forwarding.pop_mpls_and_next" : "node_19",
-            "nop" : "node_19"
+            "FabricIngress.forwarding.pop_mpls_and_next" : "node_37",
+            "nop" : "node_37"
           },
           "default_entry" : {
             "action_id" : 3,
@@ -5744,7 +6964,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v4",
-          "id" : 8,
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 108,
@@ -5755,7 +6975,7 @@
             {
               "match_type" : "lpm",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
+              "target" : ["scalars", "userMetadata._ipv4_dst_addr28"],
               "mask" : null
             }
           ],
@@ -5767,11 +6987,11 @@
           "direct_meters" : null,
           "action_ids" : [23, 24, 4],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
-          "base_default_next" : "node_19",
+          "base_default_next" : "node_37",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_19",
-            "FabricIngress.forwarding.nop_routing_v4" : "node_19",
-            "nop" : "node_19"
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_37",
+            "FabricIngress.forwarding.nop_routing_v4" : "node_37",
+            "nop" : "node_37"
           },
           "default_entry" : {
             "action_id" : 4,
@@ -5782,7 +7002,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_mpls",
-          "id" : 9,
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 36,
@@ -5793,7 +7013,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -5819,7 +7039,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_vlan",
-          "id" : 10,
+          "id" : 20,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 73,
@@ -5830,7 +7050,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -5842,11 +7062,11 @@
           "direct_meters" : null,
           "action_ids" : [26, 27, 6],
           "actions" : ["FabricIngress.pre_next.set_vlan", "FabricIngress.pre_next.set_double_vlan", "nop"],
-          "base_default_next" : "tbl_acl27",
+          "base_default_next" : "FabricIngress.acl.acl",
           "next_tables" : {
-            "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
-            "FabricIngress.pre_next.set_double_vlan" : "tbl_acl27",
-            "nop" : "tbl_acl27"
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "FabricIngress.pre_next.set_double_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
           },
           "default_entry" : {
             "action_id" : 6,
@@ -5856,214 +7076,11 @@
           }
         },
         {
-          "name" : "tbl_acl27",
-          "id" : 11,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [46],
-          "actions" : ["acl27"],
-          "base_default_next" : "node_23",
-          "next_tables" : {
-            "acl27" : "node_23"
-          },
-          "default_entry" : {
-            "action_id" : 46,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl98",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 21,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [42],
-          "actions" : ["acl98"],
-          "base_default_next" : "node_25",
-          "next_tables" : {
-            "acl98" : "node_25"
-          },
-          "default_entry" : {
-            "action_id" : 42,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl102",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [40],
-          "actions" : ["acl102"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl102" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 40,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl105",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [41],
-          "actions" : ["acl105"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl105" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 41,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl109",
-          "id" : 15,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 21,
-            "source_fragment" : "= hdr.ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [45],
-          "actions" : ["acl109"],
-          "base_default_next" : "node_31",
-          "next_tables" : {
-            "acl109" : "node_31"
-          },
-          "default_entry" : {
-            "action_id" : 45,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl113",
-          "id" : 16,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 25,
-            "source_fragment" : "= hdr.tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [43],
-          "actions" : ["acl113"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl113" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 43,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl116",
-          "id" : 17,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 25,
-            "source_fragment" : "= hdr.udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [44],
-          "actions" : ["acl116"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl116" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 44,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
           "name" : "FabricIngress.acl.acl",
-          "id" : 18,
+          "id" : 21,
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 66,
+            "line" : 59,
             "column" : 10,
             "source_fragment" : "acl"
           },
@@ -6101,19 +7118,19 @@
             {
               "match_type" : "ternary",
               "name" : "ipv4_src",
-              "target" : ["scalars", "acl_ipv4_src"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "acl_ipv4_dst"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ip_proto",
-              "target" : ["scalars", "acl_ip_proto"],
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
               "mask" : null
             },
             {
@@ -6131,19 +7148,19 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "acl_l4_sport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "acl_l4_dport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "port_type",
-              "target" : ["scalars", "userMetadata._port_type27"],
+              "target" : ["scalars", "userMetadata._port_type39"],
               "mask" : null
             }
           ],
@@ -6155,13 +7172,13 @@
           "direct_meters" : null,
           "action_ids" : [28, 29, 30, 31, 32],
           "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
-          "base_default_next" : "node_36",
+          "base_default_next" : "node_41",
           "next_tables" : {
-            "FabricIngress.acl.set_next_id_acl" : "node_36",
-            "FabricIngress.acl.punt_to_cpu" : "node_36",
-            "FabricIngress.acl.set_clone_session_id" : "node_36",
-            "FabricIngress.acl.drop" : "node_36",
-            "FabricIngress.acl.nop_acl" : "node_36"
+            "FabricIngress.acl.set_next_id_acl" : "node_41",
+            "FabricIngress.acl.punt_to_cpu" : "node_41",
+            "FabricIngress.acl.set_clone_session_id" : "node_41",
+            "FabricIngress.acl.drop" : "node_41",
+            "FabricIngress.acl.nop_acl" : "node_41"
           },
           "default_entry" : {
             "action_id" : 32,
@@ -6172,7 +7189,7 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 19,
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 138,
@@ -6183,7 +7200,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -6205,7 +7222,7 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 20,
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 171,
@@ -6216,7 +7233,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -6228,10 +7245,10 @@
           "direct_meters" : null,
           "action_ids" : [35, 8],
           "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
-          "base_default_next" : "node_39",
+          "base_default_next" : "node_44",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group_id" : "node_39",
-            "nop" : "node_39"
+            "FabricIngress.next.set_mcast_group_id" : "node_44",
+            "nop" : "node_44"
           },
           "default_entry" : {
             "action_id" : 8,
@@ -6242,7 +7259,7 @@
         },
         {
           "name" : "tbl_port_counter31",
-          "id" : 21,
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 31,
@@ -6256,14 +7273,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [47],
+          "action_ids" : [53],
           "actions" : ["port_counter31"],
-          "base_default_next" : "node_41",
+          "base_default_next" : "node_46",
           "next_tables" : {
-            "port_counter31" : "node_41"
+            "port_counter31" : "node_46"
           },
           "default_entry" : {
-            "action_id" : 47,
+            "action_id" : 53,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -6271,7 +7288,7 @@
         },
         {
           "name" : "tbl_port_counter34",
-          "id" : 22,
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 34,
@@ -6285,14 +7302,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [48],
+          "action_ids" : [54],
           "actions" : ["port_counter34"],
           "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
           "next_tables" : {
             "port_counter34" : "FabricIngress.bng_ingress.t_line_map"
           },
           "default_entry" : {
-            "action_id" : 48,
+            "action_id" : 54,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -6300,7 +7317,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.t_line_map",
-          "id" : 23,
+          "id" : 26,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 323,
@@ -6311,13 +7328,13 @@
             {
               "match_type" : "exact",
               "name" : "s_tag",
-              "target" : ["scalars", "userMetadata._bng_s_tag25"],
+              "target" : ["scalars", "userMetadata._bng_s_tag37"],
               "mask" : null
             },
             {
               "match_type" : "exact",
               "name" : "c_tag",
-              "target" : ["scalars", "userMetadata._bng_c_tag26"],
+              "target" : ["scalars", "userMetadata._bng_c_tag38"],
               "mask" : null
             }
           ],
@@ -6329,9 +7346,9 @@
           "direct_meters" : null,
           "action_ids" : [16],
           "actions" : ["FabricIngress.bng_ingress.set_line"],
-          "base_default_next" : "node_44",
+          "base_default_next" : "node_49",
           "next_tables" : {
-            "FabricIngress.bng_ingress.set_line" : "node_44"
+            "FabricIngress.bng_ingress.set_line" : "node_49"
           },
           "default_entry" : {
             "action_id" : 16,
@@ -6342,7 +7359,7 @@
         },
         {
           "name" : "tbl_bng342",
-          "id" : 24,
+          "id" : 27,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 342,
@@ -6356,14 +7373,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [50],
+          "action_ids" : [56],
           "actions" : ["bng342"],
           "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
           "next_tables" : {
             "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
           },
           "default_entry" : {
-            "action_id" : 50,
+            "action_id" : 56,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -6371,7 +7388,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
-          "id" : 25,
+          "id" : 28,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 51,
@@ -6403,7 +7420,7 @@
           "base_default_next" : null,
           "next_tables" : {
             "__HIT__" : "tbl_bng126",
-            "__MISS__" : "node_48"
+            "__MISS__" : "node_53"
           },
           "default_entry" : {
             "action_id" : 0,
@@ -6414,7 +7431,7 @@
         },
         {
           "name" : "tbl_bng126",
-          "id" : 26,
+          "id" : 29,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 126,
@@ -6428,14 +7445,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [49],
+          "action_ids" : [55],
           "actions" : ["bng126"],
-          "base_default_next" : "node_48",
+          "base_default_next" : "node_53",
           "next_tables" : {
-            "bng126" : "node_48"
+            "bng126" : "node_53"
           },
           "default_entry" : {
-            "action_id" : 49,
+            "action_id" : 55,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -6443,7 +7460,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
-          "id" : 27,
+          "id" : 30,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 87,
@@ -6454,7 +7471,7 @@
             {
               "match_type" : "exact",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id22"],
+              "target" : ["scalars", "userMetadata._bng_line_id34"],
               "mask" : null
             },
             {
@@ -6478,10 +7495,10 @@
           "direct_meters" : null,
           "action_ids" : [11, 10],
           "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
             "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
-            "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
+            "FabricIngress.bng_ingress.upstream.term_enabled_v4" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 10,
@@ -6492,7 +7509,7 @@
         },
         {
           "name" : "tbl_bng131",
-          "id" : 28,
+          "id" : 31,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 131,
@@ -6506,14 +7523,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [51],
+          "action_ids" : [57],
           "actions" : ["bng131"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng131" : null
+            "bng131" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 51,
+            "action_id" : 57,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -6521,7 +7538,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
-          "id" : 29,
+          "id" : 32,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 169,
@@ -6532,7 +7549,7 @@
             {
               "match_type" : "exact",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id22"],
+              "target" : ["scalars", "userMetadata._bng_line_id34"],
               "mask" : null
             }
           ],
@@ -6546,8 +7563,8 @@
           "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
           "base_default_next" : null,
           "next_tables" : {
-            "__MISS__" : null,
-            "__HIT__" : "node_53"
+            "__HIT__" : "node_58",
+            "__MISS__" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 1,
@@ -6558,7 +7575,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
-          "id" : 30,
+          "id" : 33,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 194,
@@ -6569,7 +7586,7 @@
             {
               "match_type" : "ternary",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id22"],
+              "target" : ["scalars", "userMetadata._bng_line_id34"],
               "mask" : null
             },
             {
@@ -6599,7 +7616,7 @@
           "direct_meters" : null,
           "action_ids" : [14, 15],
           "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
             "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
             "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
@@ -6613,7 +7630,7 @@
         },
         {
           "name" : "tbl_bng238",
-          "id" : 31,
+          "id" : 34,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 238,
@@ -6627,14 +7644,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [52],
+          "action_ids" : [58],
           "actions" : ["bng238"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng238" : null
+            "bng238" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 52,
+            "action_id" : 58,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -6642,7 +7659,7 @@
         },
         {
           "name" : "tbl_bng241",
-          "id" : 32,
+          "id" : 35,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 241,
@@ -6656,18 +7673,96 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [53],
+          "action_ids" : [59],
           "actions" : ["bng241"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng241" : null
+            "bng241" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 53,
+            "action_id" : 59,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
+        },
+        {
+          "name" : "tbl_slicing114",
+          "id" : 36,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [60],
+          "actions" : ["slicing114"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing114" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 60,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 37,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 93,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_id",
+              "target" : ["scalars", "userMetadata._slice_id29"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc",
+              "target" : ["scalars", "userMetadata._tc31"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "userMetadata._packet_color30"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [38, 39],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : null,
+            "FabricIngress.qos.meter_drop" : null
+          },
+          "default_entry" : {
+            "action_id" : 38,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
         }
       ],
       "action_profiles" : [
@@ -6686,23 +7781,23 @@
             "input" : [
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
+                "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
+                "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ip_proto16"]
+                "value" : ["scalars", "userMetadata._ip_proto24"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_sport17"]
+                "value" : ["scalars", "userMetadata._l4_sport25"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_dport18"]
+                "value" : ["scalars", "userMetadata._l4_dport26"]
               }
             ]
           }
@@ -6710,9 +7805,193 @@
       ],
       "conditionals" : [
         {
-          "name" : "node_2",
+          "name" : "node_3",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init32",
+          "false_next" : "node_11"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init37",
+          "false_next" : "node_7"
+        },
+        {
+          "name" : "node_7",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init40",
+          "false_next" : "node_9"
+        },
+        {
+          "name" : "node_9",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init43",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_11",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 46,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init47",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init52",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init55",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init58",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_19",
+          "id" : 8,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 24,
             "column" : 12,
@@ -6730,11 +8009,11 @@
             }
           },
           "true_next" : "tbl_packetio25",
-          "false_next" : "node_4"
+          "false_next" : "FabricIngress.slice_tc_classifier.classifier"
         },
         {
-          "name" : "node_4",
-          "id" : 1,
+          "name" : "node_22",
+          "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 112,
@@ -6753,11 +8032,11 @@
             }
           },
           "true_next" : "tbl_filtering113",
-          "false_next" : "node_6"
+          "false_next" : "node_24"
         },
         {
-          "name" : "node_6",
-          "id" : 2,
+          "name" : "node_24",
+          "id" : 10,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 118,
@@ -6776,11 +8055,11 @@
             }
           },
           "true_next" : "tbl_filtering119",
-          "false_next" : "node_8"
+          "false_next" : "node_26"
         },
         {
-          "name" : "node_8",
-          "id" : 3,
+          "name" : "node_26",
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 124,
@@ -6809,11 +8088,11 @@
           "false_next" : "FabricIngress.filtering.ingress_port_vlan"
         },
         {
-          "name" : "node_12",
-          "id" : 4,
+          "name" : "node_30",
+          "id" : 12,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 71,
+            "line" : 80,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding"
           },
@@ -6829,18 +8108,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_forwarding10"]
+                    "value" : ["scalars", "userMetadata._skip_forwarding18"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_13",
-          "false_next" : "node_19"
+          "true_next" : "node_31",
+          "false_next" : "node_37"
         },
         {
-          "name" : "node_13",
-          "id" : 5,
+          "name" : "node_31",
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 150,
@@ -6853,7 +8132,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -6862,11 +8141,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.bridging",
-          "false_next" : "node_15"
+          "false_next" : "node_33"
         },
         {
-          "name" : "node_15",
-          "id" : 6,
+          "name" : "node_33",
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 151,
@@ -6879,7 +8158,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -6888,11 +8167,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.mpls",
-          "false_next" : "node_17"
+          "false_next" : "node_35"
         },
         {
-          "name" : "node_17",
-          "id" : 7,
+          "name" : "node_35",
+          "id" : 15,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 152,
@@ -6905,7 +8184,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -6914,14 +8193,14 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v4",
-          "false_next" : "node_19"
+          "false_next" : "node_37"
         },
         {
-          "name" : "node_19",
-          "id" : 8,
+          "name" : "node_37",
+          "id" : 16,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 74,
+            "line" : 83,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -6937,176 +8216,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next11"]
+                    "value" : ["scalars", "userMetadata._skip_next19"]
                   }
                 }
               }
             }
           },
           "true_next" : "FabricIngress.pre_next.next_mpls",
-          "false_next" : "tbl_acl27"
-        },
-        {
-          "name" : "node_23",
-          "id" : 9,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 97,
-            "column" : 12,
-            "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "and",
-              "left" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["gtpu", "$valid$"]
-                  }
-                }
-              },
-              "right" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["inner_ipv4", "$valid$"]
-                  }
-                }
-              }
-            }
-          },
-          "true_next" : "tbl_acl98",
-          "false_next" : "node_29"
-        },
-        {
-          "name" : "node_25",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 101,
-            "column" : 16,
-            "source_fragment" : "hdr.inner_tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl102",
-          "false_next" : "node_27"
-        },
-        {
-          "name" : "node_27",
-          "id" : 11,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 104,
-            "column" : 23,
-            "source_fragment" : "hdr.inner_udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl105",
           "false_next" : "FabricIngress.acl.acl"
         },
         {
-          "name" : "node_29",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 108,
-            "column" : 19,
-            "source_fragment" : "hdr.ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv4", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl109",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_31",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 112,
-            "column" : 16,
-            "source_fragment" : "hdr.tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl113",
-          "false_next" : "node_33"
-        },
-        {
-          "name" : "node_33",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 115,
-            "column" : 23,
-            "source_fragment" : "hdr.udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl116",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_36",
-          "id" : 15,
+          "name" : "node_41",
+          "id" : 17,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 78,
+            "line" : 87,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -7122,7 +8246,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next11"]
+                    "value" : ["scalars", "userMetadata._skip_next19"]
                   }
                 }
               }
@@ -7132,8 +8256,8 @@
           "false_next" : "FabricIngress.bng_ingress.t_line_map"
         },
         {
-          "name" : "node_39",
-          "id" : 16,
+          "name" : "node_44",
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 30,
@@ -7155,11 +8279,11 @@
             }
           },
           "true_next" : "tbl_port_counter31",
-          "false_next" : "node_41"
+          "false_next" : "node_46"
         },
         {
-          "name" : "node_41",
-          "id" : 17,
+          "name" : "node_46",
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 33,
@@ -7184,8 +8308,8 @@
           "false_next" : "FabricIngress.bng_ingress.t_line_map"
         },
         {
-          "name" : "node_44",
-          "id" : 18,
+          "name" : "node_49",
+          "id" : 20,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 341,
@@ -7207,8 +8331,8 @@
           "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
         },
         {
-          "name" : "node_48",
-          "id" : 19,
+          "name" : "node_53",
+          "id" : 21,
           "expression" : {
             "type" : "expression",
             "value" : {
@@ -7227,12 +8351,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_49"
+          "true_next" : "node_54",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_49",
-          "id" : 20,
+          "name" : "node_54",
+          "id" : 22,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 128,
@@ -7250,12 +8374,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4"
+          "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_53",
-          "id" : 21,
+          "name" : "node_58",
+          "id" : 23,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 235,
@@ -7273,8 +8397,8 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4"
+          "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
+          "false_next" : "tbl_slicing114"
         }
       ]
     },
@@ -7283,15 +8407,15 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 96,
+        "line" : 105,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
-      "init_table" : "node_59",
+      "init_table" : "node_66",
       "tables" : [
         {
           "name" : "tbl_packetio41",
-          "id" : 33,
+          "id" : 38,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 41,
@@ -7305,14 +8429,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [62],
+          "action_ids" : [72],
           "actions" : ["packetio41"],
-          "base_default_next" : "node_61",
+          "base_default_next" : "node_68",
           "next_tables" : {
-            "packetio41" : "node_61"
+            "packetio41" : "node_68"
           },
           "default_entry" : {
-            "action_id" : 62,
+            "action_id" : 72,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7320,7 +8444,7 @@
         },
         {
           "name" : "tbl_packetio44",
-          "id" : 34,
+          "id" : 39,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 44,
@@ -7334,14 +8458,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [63],
+          "action_ids" : [73],
           "actions" : ["packetio44"],
-          "base_default_next" : "node_63",
+          "base_default_next" : "node_70",
           "next_tables" : {
-            "packetio44" : "node_63"
+            "packetio44" : "node_70"
           },
           "default_entry" : {
-            "action_id" : 63,
+            "action_id" : 73,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7349,7 +8473,7 @@
         },
         {
           "name" : "tbl_next283",
-          "id" : 35,
+          "id" : 40,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 283,
@@ -7363,14 +8487,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [64],
+          "action_ids" : [74],
           "actions" : ["next283"],
-          "base_default_next" : "node_65",
+          "base_default_next" : "node_72",
           "next_tables" : {
-            "next283" : "node_65"
+            "next283" : "node_72"
           },
           "default_entry" : {
-            "action_id" : 64,
+            "action_id" : 74,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7378,7 +8502,7 @@
         },
         {
           "name" : "tbl_egress_next_pop_mpls_if_present",
-          "id" : 36,
+          "id" : 41,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -7392,14 +8516,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [55],
+          "action_ids" : [63],
           "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
-          "base_default_next" : "node_69",
+          "base_default_next" : "node_76",
           "next_tables" : {
-            "FabricEgress.egress_next.pop_mpls_if_present" : "node_69"
+            "FabricEgress.egress_next.pop_mpls_if_present" : "node_76"
           },
           "default_entry" : {
-            "action_id" : 55,
+            "action_id" : 63,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7407,7 +8531,7 @@
         },
         {
           "name" : "tbl_egress_next_set_mpls",
-          "id" : 37,
+          "id" : 42,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 289,
@@ -7421,14 +8545,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [56],
+          "action_ids" : [64],
           "actions" : ["FabricEgress.egress_next.set_mpls"],
-          "base_default_next" : "node_69",
+          "base_default_next" : "node_76",
           "next_tables" : {
-            "FabricEgress.egress_next.set_mpls" : "node_69"
+            "FabricEgress.egress_next.set_mpls" : "node_76"
           },
           "default_entry" : {
-            "action_id" : 56,
+            "action_id" : 64,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7436,7 +8560,7 @@
         },
         {
           "name" : "tbl_egress_next_push_outer_vlan",
-          "id" : 38,
+          "id" : 43,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 295,
@@ -7450,14 +8574,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [57],
+          "action_ids" : [65],
           "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
           "base_default_next" : "tbl_egress_next_push_inner_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
           },
           "default_entry" : {
-            "action_id" : 57,
+            "action_id" : 65,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7465,7 +8589,7 @@
         },
         {
           "name" : "tbl_egress_next_push_inner_vlan",
-          "id" : 39,
+          "id" : 44,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 296,
@@ -7479,14 +8603,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [58],
+          "action_ids" : [66],
           "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
-          "base_default_next" : "node_74",
+          "base_default_next" : "node_81",
           "next_tables" : {
-            "FabricEgress.egress_next.push_inner_vlan" : "node_74"
+            "FabricEgress.egress_next.push_inner_vlan" : "node_81"
           },
           "default_entry" : {
-            "action_id" : 58,
+            "action_id" : 66,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7494,7 +8618,7 @@
         },
         {
           "name" : "tbl_next299",
-          "id" : 40,
+          "id" : 45,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 299,
@@ -7508,14 +8632,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [65],
+          "action_ids" : [75],
           "actions" : ["next299"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "next299" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 65,
+            "action_id" : 75,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7523,7 +8647,7 @@
         },
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 41,
+          "id" : 46,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 265,
@@ -7534,7 +8658,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -7550,16 +8674,16 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [59, 60, 61],
+          "action_ids" : [67, 68, 69],
           "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
-          "base_default_next" : "node_74",
+          "base_default_next" : "node_81",
           "next_tables" : {
-            "FabricEgress.egress_next.push_vlan" : "node_74",
-            "FabricEgress.egress_next.pop_vlan" : "node_74",
-            "FabricEgress.egress_next.drop" : "node_74"
+            "FabricEgress.egress_next.push_vlan" : "node_81",
+            "FabricEgress.egress_next.pop_vlan" : "node_81",
+            "FabricEgress.egress_next.drop" : "node_81"
           },
           "default_entry" : {
-            "action_id" : 61,
+            "action_id" : 69,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7567,7 +8691,7 @@
         },
         {
           "name" : "tbl_next309",
-          "id" : 42,
+          "id" : 47,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 309,
@@ -7581,14 +8705,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [67],
+          "action_ids" : [77],
           "actions" : ["next309"],
-          "base_default_next" : "node_76",
+          "base_default_next" : "node_83",
           "next_tables" : {
-            "next309" : "node_76"
+            "next309" : "node_83"
           },
           "default_entry" : {
-            "action_id" : 67,
+            "action_id" : 77,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7596,7 +8720,7 @@
         },
         {
           "name" : "tbl_next310",
-          "id" : 43,
+          "id" : 48,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -7610,14 +8734,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [66],
+          "action_ids" : [76],
           "actions" : ["next310"],
-          "base_default_next" : "node_82",
+          "base_default_next" : "node_89",
           "next_tables" : {
-            "next310" : "node_82"
+            "next310" : "node_89"
           },
           "default_entry" : {
-            "action_id" : 66,
+            "action_id" : 76,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7625,7 +8749,7 @@
         },
         {
           "name" : "tbl_next313",
-          "id" : 44,
+          "id" : 49,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 313,
@@ -7639,14 +8763,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [69],
+          "action_ids" : [79],
           "actions" : ["next313"],
-          "base_default_next" : "node_80",
+          "base_default_next" : "node_87",
           "next_tables" : {
-            "next313" : "node_80"
+            "next313" : "node_87"
           },
           "default_entry" : {
-            "action_id" : 69,
+            "action_id" : 79,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7654,7 +8778,7 @@
         },
         {
           "name" : "tbl_next314",
-          "id" : 45,
+          "id" : 50,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -7668,14 +8792,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [68],
+          "action_ids" : [78],
           "actions" : ["next314"],
-          "base_default_next" : "node_82",
+          "base_default_next" : "node_89",
           "next_tables" : {
-            "next314" : "node_82"
+            "next314" : "node_89"
           },
           "default_entry" : {
-            "action_id" : 68,
+            "action_id" : 78,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7683,7 +8807,7 @@
         },
         {
           "name" : "tbl_bng_egress_downstream_encap_v4",
-          "id" : 46,
+          "id" : 51,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 297,
@@ -7697,14 +8821,109 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [54],
+          "action_ids" : [62],
           "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "FabricEgress.bng_egress.downstream.encap_v4" : null
+            "FabricEgress.bng_egress.downstream.encap_v4" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 54,
+            "action_id" : 62,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing126",
+          "id" : 52,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [81],
+          "actions" : ["slicing126"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 81,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 53,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 138,
+            "column" : 10,
+            "source_fragment" : "rewriter"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [70, 71, 61],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__MISS__" : null,
+            "__HIT__" : "node_94"
+          },
+          "default_entry" : {
+            "action_id" : 61,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing159",
+          "id" : 54,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [80],
+          "actions" : ["slicing159"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing159" : null
+          },
+          "default_entry" : {
+            "action_id" : 80,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -7714,11 +8933,11 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_59",
-          "id" : 22,
+          "name" : "node_66",
+          "id" : 24,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 108,
+            "line" : 118,
             "column" : 33,
             "source_fragment" : "fabric_metadata"
           },
@@ -7729,16 +8948,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
+                "value" : ["scalars", "userMetadata._is_controller_packet_out23"]
               }
             }
           },
           "true_next" : "tbl_packetio41",
-          "false_next" : "node_61"
+          "false_next" : "node_68"
         },
         {
-          "name" : "node_61",
-          "id" : 23,
+          "name" : "node_68",
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 43,
@@ -7760,11 +8979,11 @@
             }
           },
           "true_next" : "tbl_packetio44",
-          "false_next" : "node_63"
+          "false_next" : "node_70"
         },
         {
-          "name" : "node_63",
-          "id" : 24,
+          "name" : "node_70",
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 281,
@@ -7782,7 +9001,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._is_multicast14"]
+                    "value" : ["scalars", "userMetadata._is_multicast22"]
                   }
                 }
               },
@@ -7803,11 +9022,11 @@
             }
           },
           "true_next" : "tbl_next283",
-          "false_next" : "node_65"
+          "false_next" : "node_72"
         },
         {
-          "name" : "node_65",
-          "id" : 25,
+          "name" : "node_72",
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 286,
@@ -7820,7 +9039,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._mpls_label8"]
+                "value" : ["scalars", "userMetadata._mpls_label16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -7828,12 +9047,12 @@
               }
             }
           },
-          "true_next" : "node_66",
+          "true_next" : "node_73",
           "false_next" : "tbl_egress_next_set_mpls"
         },
         {
-          "name" : "node_66",
-          "id" : 26,
+          "name" : "node_73",
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -7852,14 +9071,14 @@
             }
           },
           "true_next" : "tbl_egress_next_pop_mpls_if_present",
-          "false_next" : "node_69"
+          "false_next" : "node_76"
         },
         {
-          "name" : "node_69",
-          "id" : 27,
+          "name" : "node_76",
+          "id" : 29,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 109,
+            "line" : 119,
             "column" : 31,
             "source_fragment" : "fabric_metadata"
           },
@@ -7870,7 +9089,7 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._push_double_vlan4"]
+                "value" : ["scalars", "userMetadata._push_double_vlan12"]
               }
             }
           },
@@ -7878,8 +9097,8 @@
           "false_next" : "tbl_next299"
         },
         {
-          "name" : "node_74",
-          "id" : 28,
+          "name" : "node_81",
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 308,
@@ -7898,11 +9117,11 @@
             }
           },
           "true_next" : "tbl_next309",
-          "false_next" : "node_78"
+          "false_next" : "node_85"
         },
         {
-          "name" : "node_76",
-          "id" : 29,
+          "name" : "node_83",
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -7924,11 +9143,11 @@
             }
           },
           "true_next" : "tbl_next310",
-          "false_next" : "node_82"
+          "false_next" : "node_89"
         },
         {
-          "name" : "node_78",
-          "id" : 30,
+          "name" : "node_85",
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 312,
@@ -7956,7 +9175,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._fwd_type12"]
+                    "value" : ["scalars", "userMetadata._fwd_type20"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -7967,11 +9186,11 @@
             }
           },
           "true_next" : "tbl_next313",
-          "false_next" : "node_82"
+          "false_next" : "node_89"
         },
         {
-          "name" : "node_80",
-          "id" : 31,
+          "name" : "node_87",
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -7993,11 +9212,11 @@
             }
           },
           "true_next" : "tbl_next314",
-          "false_next" : "node_82"
+          "false_next" : "node_89"
         },
         {
-          "name" : "node_82",
-          "id" : 32,
+          "name" : "node_89",
+          "id" : 34,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 358,
@@ -8010,7 +9229,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._bng_type21"]
+                "value" : ["scalars", "userMetadata._bng_type33"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -8018,12 +9237,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_83"
+          "true_next" : "node_90",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_83",
-          "id" : 33,
+          "name" : "node_90",
+          "id" : 35,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 296,
@@ -8041,8 +9260,31 @@
               }
             }
           },
+          "true_next" : "tbl_bng_egress_downstream_encap_v4",
+          "false_next" : "tbl_slicing126"
+        },
+        {
+          "name" : "node_94",
+          "id" : 36,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 158,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
           "false_next" : null,
-          "true_next" : "tbl_bng_egress_downstream_encap_v4"
+          "true_next" : "tbl_slicing159"
         }
       ]
     }
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
index 29aa49f..b909706 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-bng/bmv2/default/p4info.txt
@@ -521,6 +521,92 @@
 }
 tables {
   preamble {
+    id: 34606298
+    name: "FabricIngress.slice_tc_classifier.classifier"
+    alias: "classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23786376
+  }
+  action_refs {
+    id: 25983516
+  }
+  const_default_action_id: 23786376
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "color"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 32116918
+  }
+  action_refs {
+    id: 28214351
+  }
+  const_default_action_id: 32116918
+  direct_resource_ids: 327743278
+  size: 128
+}
+tables {
+  preamble {
     id: 49262446
     name: "FabricEgress.egress_next.egress_vlan"
     alias: "egress_vlan"
@@ -552,6 +638,32 @@
   direct_resource_ids: 318892680
   size: 1024
 }
+tables {
+  preamble {
+    id: 49970092
+    name: "FabricEgress.dscp_rewriter.rewriter"
+    alias: "rewriter"
+  }
+  match_fields {
+    id: 1
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27951287
+  }
+  action_refs {
+    id: 24120545
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 512
+}
 actions {
   preamble {
     id: 28485346
@@ -850,6 +962,49 @@
 }
 actions {
   preamble {
+    id: 23786376
+    name: "FabricIngress.slice_tc_classifier.set_slice_id_tc"
+    alias: "set_slice_id_tc"
+  }
+  params {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+  }
+  params {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25983516
+    name: "FabricIngress.slice_tc_classifier.trust_dscp"
+    alias: "trust_dscp"
+  }
+}
+actions {
+  preamble {
+    id: 32116918
+    name: "FabricIngress.qos.set_queue"
+    alias: "set_queue"
+  }
+  params {
+    id: 1
+    name: "qid"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 28214351
+    name: "FabricIngress.qos.meter_drop"
+    alias: "meter_drop"
+  }
+}
+actions {
+  preamble {
     id: 20781696
     name: "FabricEgress.bng_egress.downstream.encap_v4"
     alias: "encap_v4"
@@ -876,6 +1031,20 @@
     alias: "egress_next.drop"
   }
 }
+actions {
+  preamble {
+    id: 27951287
+    name: "FabricEgress.dscp_rewriter.rewrite"
+    alias: "rewrite"
+  }
+}
+actions {
+  preamble {
+    id: 24120545
+    name: "FabricEgress.dscp_rewriter.clear"
+    alias: "clear"
+  }
+}
 action_profiles {
   preamble {
     id: 291115404
@@ -1065,6 +1234,28 @@
 }
 direct_counters {
   preamble {
+    id: 334706097
+    name: "FabricIngress.slice_tc_classifier.classifier_stats"
+    alias: "classifier_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 34606298
+}
+direct_counters {
+  preamble {
+    id: 327743278
+    name: "FabricIngress.qos.queues_stats"
+    alias: "queues_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 36435258
+}
+direct_counters {
+  preamble {
     id: 318892680
     name: "FabricEgress.egress_next.egress_vlan_counter"
     alias: "egress_vlan_counter"
@@ -1096,6 +1287,17 @@
   }
   size: 8192
 }
+meters {
+  preamble {
+    id: 348573637
+    name: "FabricIngress.qos.slice_tc_meter"
+    alias: "slice_tc_meter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 64
+}
 controller_packet_metadata {
   preamble {
     id: 81826293
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
index b767fbf..cb1372c 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/bmv2.json
@@ -9,6 +9,7 @@
         ["tmp_4", 8, false],
         ["tmp_8", 32, false],
         ["last_ipv4_dscp_0", 6, false],
+        ["gtpu_ext_len_0", 8, false],
         ["tmp_1", 16, false],
         ["tmp_3", 16, false],
         ["tmp_5", 4, false],
@@ -16,65 +17,77 @@
         ["tmp_7", 64, false],
         ["tmp_9", 32, false],
         ["tmp_10", 32, false],
-        ["acl_ipv4_src", 32, false],
-        ["acl_ipv4_dst", 32, false],
-        ["acl_ip_proto", 8, false],
-        ["acl_l4_sport", 16, false],
-        ["acl_l4_dport", 16, false],
+        ["tmp_11", 32, false],
         ["bng_ingress_upstream_hasReturned", 1, false],
         ["key_0", 64, false],
+        ["dscp_rewriter_tmp_dscp", 6, false],
         ["process_int_main_process_int_transit_hasReturned", 1, false],
-        ["userMetadata._ip_eth_type0", 16, false],
-        ["userMetadata._vlan_id1", 12, false],
-        ["userMetadata._vlan_pri2", 3, false],
-        ["userMetadata._vlan_cfi3", 1, false],
-        ["userMetadata._push_double_vlan4", 1, false],
-        ["userMetadata._inner_vlan_id5", 12, false],
-        ["userMetadata._inner_vlan_pri6", 3, false],
-        ["userMetadata._inner_vlan_cfi7", 1, false],
-        ["userMetadata._mpls_label8", 20, false],
-        ["userMetadata._mpls_ttl9", 8, false],
-        ["userMetadata._skip_forwarding10", 1, false],
-        ["userMetadata._skip_next11", 1, false],
-        ["userMetadata._fwd_type12", 3, false],
-        ["userMetadata._next_id13", 32, false],
-        ["userMetadata._is_multicast14", 1, false],
-        ["userMetadata._is_controller_packet_out15", 1, false],
-        ["userMetadata._ip_proto16", 8, false],
-        ["userMetadata._l4_sport17", 16, false],
-        ["userMetadata._l4_dport18", 16, false],
-        ["userMetadata._ipv4_src_addr19", 32, false],
-        ["userMetadata._ipv4_dst_addr20", 32, false],
-        ["userMetadata._inner_l4_sport21", 16, false],
-        ["userMetadata._inner_l4_dport22", 16, false],
-        ["userMetadata._spgw_ipv4_len23", 16, false],
-        ["userMetadata._spgw_teid24", 32, false],
-        ["userMetadata._spgw_tunnel_src_port25", 16, false],
-        ["userMetadata._spgw_tunnel_src_addr26", 32, false],
-        ["userMetadata._spgw_tunnel_dst_addr27", 32, false],
-        ["userMetadata._spgw_ctr_id28", 32, false],
-        ["userMetadata._spgw_far_id29", 32, false],
-        ["userMetadata._spgw_src_iface30", 8, false],
-        ["userMetadata._spgw_skip_spgw31", 1, false],
-        ["userMetadata._spgw_notify_spgwc32", 1, false],
-        ["userMetadata._spgw_needs_gtpu_encap33", 1, false],
-        ["userMetadata._spgw_needs_gtpu_decap34", 1, false],
-        ["userMetadata._spgw_skip_egress_pdr_ctr35", 1, false],
-        ["userMetadata._bng_type36", 2, false],
-        ["userMetadata._bng_line_id37", 32, false],
-        ["userMetadata._bng_pppoe_session_id38", 16, false],
-        ["userMetadata._bng_ds_meter_result39", 32, false],
-        ["userMetadata._bng_s_tag40", 12, false],
-        ["userMetadata._bng_c_tag41", 12, false],
-        ["userMetadata._int_meta_source42", 1, false],
-        ["userMetadata._int_meta_transit43", 1, false],
-        ["userMetadata._int_meta_sink44", 1, false],
-        ["userMetadata._int_meta_switch_id45", 32, false],
-        ["userMetadata._int_meta_new_words46", 8, false],
-        ["userMetadata._int_meta_new_bytes47", 16, false],
-        ["userMetadata._int_meta_ig_tstamp48", 32, false],
-        ["userMetadata._int_meta_eg_tstamp49", 32, false],
-        ["userMetadata._port_type50", 2, false]
+        ["userMetadata._lkp_is_ipv40", 1, false],
+        ["userMetadata._lkp_ipv4_src1", 32, false],
+        ["userMetadata._lkp_ipv4_dst2", 32, false],
+        ["userMetadata._lkp_ip_proto3", 8, false],
+        ["userMetadata._lkp_l4_sport4", 16, false],
+        ["userMetadata._lkp_l4_dport5", 16, false],
+        ["userMetadata._lkp_icmp_type6", 8, false],
+        ["userMetadata._lkp_icmp_code7", 8, false],
+        ["userMetadata._ip_eth_type8", 16, false],
+        ["userMetadata._vlan_id9", 12, false],
+        ["userMetadata._vlan_pri10", 3, false],
+        ["userMetadata._vlan_cfi11", 1, false],
+        ["userMetadata._push_double_vlan12", 1, false],
+        ["userMetadata._inner_vlan_id13", 12, false],
+        ["userMetadata._inner_vlan_pri14", 3, false],
+        ["userMetadata._inner_vlan_cfi15", 1, false],
+        ["userMetadata._mpls_label16", 20, false],
+        ["userMetadata._mpls_ttl17", 8, false],
+        ["userMetadata._skip_forwarding18", 1, false],
+        ["userMetadata._skip_next19", 1, false],
+        ["userMetadata._fwd_type20", 3, false],
+        ["userMetadata._next_id21", 32, false],
+        ["userMetadata._is_multicast22", 1, false],
+        ["userMetadata._is_controller_packet_out23", 1, false],
+        ["userMetadata._ip_proto24", 8, false],
+        ["userMetadata._l4_sport25", 16, false],
+        ["userMetadata._l4_dport26", 16, false],
+        ["userMetadata._ipv4_src_addr27", 32, false],
+        ["userMetadata._ipv4_dst_addr28", 32, false],
+        ["userMetadata._slice_id29", 4, false],
+        ["userMetadata._packet_color30", 2, false],
+        ["userMetadata._tc31", 2, false],
+        ["userMetadata._dscp32", 6, false],
+        ["userMetadata._inner_l4_sport33", 16, false],
+        ["userMetadata._inner_l4_dport34", 16, false],
+        ["userMetadata._spgw_ipv4_len35", 16, false],
+        ["userMetadata._spgw_teid36", 32, false],
+        ["userMetadata._spgw_tunnel_src_port37", 16, false],
+        ["userMetadata._spgw_tunnel_src_addr38", 32, false],
+        ["userMetadata._spgw_tunnel_dst_addr39", 32, false],
+        ["userMetadata._spgw_ctr_id40", 32, false],
+        ["userMetadata._spgw_far_id41", 32, false],
+        ["userMetadata._spgw_src_iface42", 8, false],
+        ["userMetadata._spgw_qfi43", 6, false],
+        ["userMetadata._spgw_skip_spgw44", 1, false],
+        ["userMetadata._spgw_notify_spgwc45", 1, false],
+        ["userMetadata._spgw_needs_gtpu_encap46", 1, false],
+        ["userMetadata._spgw_needs_gtpu_decap47", 1, false],
+        ["userMetadata._spgw_skip_egress_pdr_ctr48", 1, false],
+        ["userMetadata._spgw_needs_qfi_push49", 1, false],
+        ["userMetadata._bng_type50", 2, false],
+        ["userMetadata._bng_line_id51", 32, false],
+        ["userMetadata._bng_pppoe_session_id52", 16, false],
+        ["userMetadata._bng_ds_meter_result53", 32, false],
+        ["userMetadata._bng_s_tag54", 12, false],
+        ["userMetadata._bng_c_tag55", 12, false],
+        ["userMetadata._int_meta_source56", 1, false],
+        ["userMetadata._int_meta_transit57", 1, false],
+        ["userMetadata._int_meta_sink58", 1, false],
+        ["userMetadata._int_meta_switch_id59", 32, false],
+        ["userMetadata._int_meta_new_words60", 8, false],
+        ["userMetadata._int_meta_new_bytes61", 16, false],
+        ["userMetadata._int_meta_ig_tstamp62", 32, false],
+        ["userMetadata._int_meta_eg_tstamp63", 32, false],
+        ["userMetadata._port_type64", 2, false],
+        ["_padding_0", 4, false]
       ]
     },
     {
@@ -201,9 +214,31 @@
       ]
     },
     {
-      "name" : "tcp_t",
+      "name" : "gtpu_options_t",
       "id" : 11,
       "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 12,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "tcp_t",
+      "id" : 13,
+      "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
         ["seq_no", 32, false],
@@ -219,7 +254,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 12,
+      "id" : 14,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -231,7 +266,7 @@
     },
     {
       "name" : "ipv6_t",
-      "id" : 13,
+      "id" : 15,
       "fields" : [
         ["version", 4, false],
         ["traffic_class", 8, false],
@@ -245,7 +280,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 14,
+      "id" : 16,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -253,7 +288,7 @@
     },
     {
       "name" : "report_fixed_header_t",
-      "id" : 15,
+      "id" : 17,
       "fields" : [
         ["ver", 4, false],
         ["nproto", 4, false],
@@ -268,7 +303,7 @@
     },
     {
       "name" : "intl4_shim_t",
-      "id" : 16,
+      "id" : 18,
       "fields" : [
         ["int_type", 8, false],
         ["rsvd1", 8, false],
@@ -278,7 +313,7 @@
     },
     {
       "name" : "int_header_t",
-      "id" : 17,
+      "id" : 19,
       "fields" : [
         ["ver", 2, false],
         ["rep", 2, false],
@@ -297,14 +332,14 @@
     },
     {
       "name" : "int_switch_id_t",
-      "id" : 18,
+      "id" : 20,
       "fields" : [
         ["switch_id", 32, false]
       ]
     },
     {
       "name" : "int_port_ids_t",
-      "id" : 19,
+      "id" : 21,
       "fields" : [
         ["ingress_port_id", 16, false],
         ["egress_port_id", 16, false]
@@ -312,14 +347,14 @@
     },
     {
       "name" : "int_hop_latency_t",
-      "id" : 20,
+      "id" : 22,
       "fields" : [
         ["hop_latency", 32, false]
       ]
     },
     {
       "name" : "int_q_occupancy_t",
-      "id" : 21,
+      "id" : 23,
       "fields" : [
         ["q_id", 8, false],
         ["q_occupancy", 24, false]
@@ -327,21 +362,21 @@
     },
     {
       "name" : "int_ingress_tstamp_t",
-      "id" : 22,
+      "id" : 24,
       "fields" : [
         ["ingress_tstamp", 32, false]
       ]
     },
     {
       "name" : "int_egress_tstamp_t",
-      "id" : 23,
+      "id" : 25,
       "fields" : [
         ["egress_tstamp", 32, false]
       ]
     },
     {
       "name" : "int_q_congestion_t",
-      "id" : 24,
+      "id" : 26,
       "fields" : [
         ["q_id", 8, false],
         ["q_congestion", 24, false]
@@ -349,14 +384,14 @@
     },
     {
       "name" : "int_egress_port_tx_util_t",
-      "id" : 25,
+      "id" : 27,
       "fields" : [
         ["egress_port_tx_util", 32, false]
       ]
     },
     {
       "name" : "int_data_t",
-      "id" : 26,
+      "id" : 28,
       "fields" : [
         ["data", "*"]
       ],
@@ -364,7 +399,7 @@
     },
     {
       "name" : "intl4_tail_t",
-      "id" : 27,
+      "id" : 29,
       "fields" : [
         ["next_proto", 8, false],
         ["dest_port", 16, false],
@@ -466,204 +501,232 @@
       "pi_omit" : true
     },
     {
-      "name" : "gtpu",
+      "name" : "outer_gtpu_options",
       "id" : 13,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "outer_gtpu_ext_psc",
+      "id" : 14,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu",
+      "id" : 15,
       "header_type" : "gtpu_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "inner_ipv4",
-      "id" : 14,
-      "header_type" : "ipv4_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "inner_udp",
-      "id" : 15,
-      "header_type" : "udp_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "inner_tcp",
+      "name" : "gtpu_options",
       "id" : 16,
-      "header_type" : "tcp_t",
+      "header_type" : "gtpu_options_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "inner_icmp",
+      "name" : "gtpu_ext_psc",
       "id" : 17,
-      "header_type" : "icmp_t",
+      "header_type" : "gtpu_ext_psc_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "ipv4",
+      "name" : "inner_ipv4",
       "id" : 18,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "ipv6",
+      "name" : "inner_udp",
       "id" : 19,
-      "header_type" : "ipv6_t",
+      "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "tcp",
+      "name" : "inner_tcp",
       "id" : 20,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "udp",
+      "name" : "inner_icmp",
       "id" : 21,
+      "header_type" : "icmp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "ipv4",
+      "id" : 22,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "ipv6",
+      "id" : 23,
+      "header_type" : "ipv6_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "tcp",
+      "id" : 24,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "udp",
+      "id" : 25,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "icmp",
-      "id" : 22,
+      "id" : 26,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_out",
-      "id" : 23,
+      "id" : 27,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 24,
+      "id" : 28,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "report_ethernet",
-      "id" : 25,
+      "id" : 29,
       "header_type" : "ethernet_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "report_eth_type",
-      "id" : 26,
+      "id" : 30,
       "header_type" : "eth_type_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "report_ipv4",
-      "id" : 27,
+      "id" : 31,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "report_udp",
-      "id" : 28,
+      "id" : 32,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "report_fixed_header",
-      "id" : 29,
+      "id" : 33,
       "header_type" : "report_fixed_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "intl4_shim",
-      "id" : 30,
+      "id" : 34,
       "header_type" : "intl4_shim_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_header",
-      "id" : 31,
+      "id" : 35,
       "header_type" : "int_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_switch_id",
-      "id" : 32,
+      "id" : 36,
       "header_type" : "int_switch_id_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_port_ids",
-      "id" : 33,
+      "id" : 37,
       "header_type" : "int_port_ids_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_hop_latency",
-      "id" : 34,
+      "id" : 38,
       "header_type" : "int_hop_latency_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_q_occupancy",
-      "id" : 35,
+      "id" : 39,
       "header_type" : "int_q_occupancy_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_ingress_tstamp",
-      "id" : 36,
+      "id" : 40,
       "header_type" : "int_ingress_tstamp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_egress_tstamp",
-      "id" : 37,
+      "id" : 41,
       "header_type" : "int_egress_tstamp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_q_congestion",
-      "id" : 38,
+      "id" : 42,
       "header_type" : "int_q_congestion_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_egress_tx_util",
-      "id" : 39,
+      "id" : 43,
       "header_type" : "int_egress_port_tx_util_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_data",
-      "id" : 40,
+      "id" : 44,
       "header_type" : "int_data_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "intl4_tail",
-      "id" : 41,
+      "id" : 45,
       "header_type" : "intl4_tail_t",
       "metadata" : false,
       "pi_omit" : true
@@ -679,7 +742,7 @@
       "name" : "fl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 52,
+        "line" : 45,
         "column" : 40,
         "source_fragment" : "{standard_metadata.ingress_port}"
       },
@@ -1044,7 +1107,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._vlan_id1"]
+                  "value" : ["scalars", "userMetadata._vlan_id9"]
                 },
                 {
                   "type" : "hexstr",
@@ -1117,7 +1180,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._bng_s_tag40"]
+                  "value" : ["scalars", "userMetadata._bng_s_tag54"]
                 },
                 {
                   "type" : "field",
@@ -1178,7 +1241,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._bng_c_tag41"]
+                  "value" : ["scalars", "userMetadata._bng_c_tag55"]
                 },
                 {
                   "type" : "field",
@@ -1321,7 +1384,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_label8"]
+                  "value" : ["scalars", "userMetadata._mpls_label16"]
                 },
                 {
                   "type" : "field",
@@ -1334,7 +1397,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_ttl9"]
+                  "value" : ["scalars", "userMetadata._mpls_ttl17"]
                 },
                 {
                   "type" : "field",
@@ -1401,7 +1464,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_proto16"]
+                  "value" : ["scalars", "userMetadata._ip_proto24"]
                 },
                 {
                   "type" : "field",
@@ -1414,7 +1477,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_eth_type0"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -1427,7 +1490,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
+                  "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
                 },
                 {
                   "type" : "field",
@@ -1440,7 +1503,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
+                  "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
                 },
                 {
                   "type" : "field",
@@ -1513,7 +1576,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_proto16"]
+                  "value" : ["scalars", "userMetadata._ip_proto24"]
                 },
                 {
                   "type" : "field",
@@ -1526,7 +1589,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_eth_type0"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -1586,7 +1649,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport17"]
+                  "value" : ["scalars", "userMetadata._l4_sport25"]
                 },
                 {
                   "type" : "field",
@@ -1599,7 +1662,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport18"]
+                  "value" : ["scalars", "userMetadata._l4_dport26"]
                 },
                 {
                   "type" : "field",
@@ -1636,7 +1699,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport17"]
+                  "value" : ["scalars", "userMetadata._l4_sport25"]
                 },
                 {
                   "type" : "field",
@@ -1649,7 +1712,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport18"]
+                  "value" : ["scalars", "userMetadata._l4_dport26"]
                 },
                 {
                   "type" : "field",
@@ -2237,8 +2300,142 @@
                 }
               ],
               "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
             },
             {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 16,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_options"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "gtpu_ext_len_0"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 8]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8501",
+              "mask" : null,
+              "next_state" : "parse_gtpu_ext_psc"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 17,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_ext_psc"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._spgw_qfi43"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_ext_psc", "qfi"]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ext_psc", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 18,
+          "parser_ops" : [
+            {
               "parameters" : [
                 {
                   "type" : "regular",
@@ -2296,7 +2493,7 @@
         },
         {
           "name" : "parse_inner_udp",
-          "id" : 16,
+          "id" : 19,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2311,7 +2508,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_sport21"]
+                  "value" : ["scalars", "userMetadata._inner_l4_sport33"]
                 },
                 {
                   "type" : "field",
@@ -2324,7 +2521,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_dport22"]
+                  "value" : ["scalars", "userMetadata._inner_l4_dport34"]
                 },
                 {
                   "type" : "field",
@@ -2346,7 +2543,7 @@
         },
         {
           "name" : "parse_inner_tcp",
-          "id" : 17,
+          "id" : 20,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2361,7 +2558,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_sport21"]
+                  "value" : ["scalars", "userMetadata._inner_l4_sport33"]
                 },
                 {
                   "type" : "field",
@@ -2374,7 +2571,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_dport22"]
+                  "value" : ["scalars", "userMetadata._inner_l4_dport34"]
                 },
                 {
                   "type" : "field",
@@ -2396,7 +2593,7 @@
         },
         {
           "name" : "parse_inner_icmp",
-          "id" : 18,
+          "id" : 21,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2420,7 +2617,7 @@
         },
         {
           "name" : "parse_int",
-          "id" : 19,
+          "id" : 22,
           "parser_ops" : [],
           "transitions" : [
             {
@@ -2445,7 +2642,7 @@
         },
         {
           "name" : "parse_intl4_shim",
-          "id" : 20,
+          "id" : 23,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2489,7 +2686,7 @@
         },
         {
           "name" : "parse_int_data",
-          "id" : 21,
+          "id" : 24,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2586,7 +2783,7 @@
         },
         {
           "name" : "parse_intl4_tail",
-          "id" : 22,
+          "id" : 25,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2618,11 +2815,11 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 285,
+        "line" : 308,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "report_ethernet", "report_eth_type", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "ipv6", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_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", "report_ethernet", "report_eth_type", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "pppoe", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "outer_gtpu_options", "outer_gtpu_ext_psc", "ipv4", "ipv6", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_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"],
       "primitives" : []
     }
   ],
@@ -2654,6 +2851,20 @@
       "size" : 8192,
       "rate_count" : 2,
       "type" : "bytes"
+    },
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 2,
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 78,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
     }
   ],
   "counter_arrays" : [
@@ -2820,7 +3031,7 @@
       "binding" : "FabricIngress.acl.acl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 36,
+        "line" : 29,
         "column" : 50,
         "source_fragment" : "acl_counter"
       }
@@ -2874,8 +3085,32 @@
       }
     },
     {
-      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
       "id" : 18,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 32,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 19,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 80,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "id" : 20,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 26,
@@ -2887,7 +3122,7 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 19,
+      "id" : 21,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 27,
@@ -2899,10 +3134,10 @@
     },
     {
       "name" : "FabricIngress.spgw.pdr_counter",
-      "id" : 20,
+      "id" : 22,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 108,
+        "line" : 110,
         "column" : 53,
         "source_fragment" : "pdr_counter"
       },
@@ -2911,7 +3146,7 @@
     },
     {
       "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
-      "id" : 21,
+      "id" : 23,
       "source_info" : {
         "filename" : "include/bng.p4",
         "line" : 267,
@@ -2923,7 +3158,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
-      "id" : 22,
+      "id" : 24,
       "is_direct" : true,
       "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
       "source_info" : {
@@ -2935,7 +3170,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 23,
+      "id" : 25,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
@@ -2947,10 +3182,10 @@
     },
     {
       "name" : "FabricEgress.spgw.pdr_counter",
-      "id" : 24,
+      "id" : 26,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 295,
+        "line" : 307,
         "column" : 53,
         "source_fragment" : "pdr_counter"
       },
@@ -3026,7 +3261,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 358,
+        "line" : 393,
         "column" : 8,
         "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
       },
@@ -3252,7 +3487,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_source42"]
+              "value" : ["scalars", "userMetadata._int_meta_source56"]
             },
             {
               "type" : "expression",
@@ -3288,7 +3523,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_sink44"]
+              "value" : ["scalars", "userMetadata._int_meta_sink58"]
             },
             {
               "type" : "expression",
@@ -3366,7 +3601,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -3388,7 +3623,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type36"]
+              "value" : ["scalars", "userMetadata._bng_type50"]
             },
             {
               "type" : "hexstr",
@@ -3397,7 +3632,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 163,
+            "line" : 184,
             "column" : 36,
             "source_fragment" : "2w0x0; ..."
           }
@@ -3429,7 +3664,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type36"]
+              "value" : ["scalars", "userMetadata._bng_type50"]
             },
             {
               "type" : "hexstr",
@@ -3438,7 +3673,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 163,
+            "line" : 184,
             "column" : 36,
             "source_fragment" : "2w0x0; ..."
           }
@@ -3479,7 +3714,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 132,
+            "line" : 149,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
           }
@@ -3508,7 +3743,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -3539,7 +3774,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 133,
+            "line" : 150,
             "column" : 31,
             "source_fragment" : "0x86dd; ..."
           }
@@ -3568,7 +3803,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -3595,7 +3830,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type36"]
+              "value" : ["scalars", "userMetadata._bng_type50"]
             },
             {
               "type" : "hexstr",
@@ -3604,7 +3839,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 165,
+            "line" : 186,
             "column" : 39,
             "source_fragment" : "2w0x2;; ..."
           }
@@ -3614,7 +3849,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_pppoe_session_id38"]
+              "value" : ["scalars", "userMetadata._bng_pppoe_session_id52"]
             },
             {
               "type" : "runtime_data",
@@ -3637,7 +3872,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -3659,7 +3894,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type36"]
+              "value" : ["scalars", "userMetadata._bng_type50"]
             },
             {
               "type" : "hexstr",
@@ -3668,7 +3903,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 165,
+            "line" : 186,
             "column" : 39,
             "source_fragment" : "2w0x2;; ..."
           }
@@ -3682,7 +3917,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -3748,7 +3983,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             },
             {
               "type" : "runtime_data",
@@ -3774,7 +4009,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding10"]
+              "value" : ["scalars", "userMetadata._skip_forwarding18"]
             },
             {
               "type" : "expression",
@@ -3803,7 +4038,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -3832,7 +4067,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type50"]
+              "value" : ["scalars", "userMetadata._port_type64"]
             },
             {
               "type" : "hexstr",
@@ -3841,7 +4076,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 119,
+            "line" : 136,
             "column" : 38,
             "source_fragment" : "0x0; ..."
           }
@@ -3863,7 +4098,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type50"]
+              "value" : ["scalars", "userMetadata._port_type64"]
             },
             {
               "type" : "runtime_data",
@@ -3898,7 +4133,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -3917,7 +4152,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type50"]
+              "value" : ["scalars", "userMetadata._port_type64"]
             },
             {
               "type" : "runtime_data",
@@ -3948,7 +4183,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._fwd_type12"]
+              "value" : ["scalars", "userMetadata._fwd_type20"]
             },
             {
               "type" : "runtime_data",
@@ -3979,7 +4214,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -4010,7 +4245,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label8"]
+              "value" : ["scalars", "userMetadata._mpls_label16"]
             },
             {
               "type" : "hexstr",
@@ -4029,7 +4264,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -4060,7 +4295,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -4097,7 +4332,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -4128,7 +4363,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label8"]
+              "value" : ["scalars", "userMetadata._mpls_label16"]
             },
             {
               "type" : "runtime_data",
@@ -4159,7 +4394,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -4194,7 +4429,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -4213,7 +4448,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._push_double_vlan4"]
+              "value" : ["scalars", "userMetadata._push_double_vlan12"]
             },
             {
               "type" : "expression",
@@ -4242,7 +4477,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_id5"]
+              "value" : ["scalars", "userMetadata._inner_vlan_id13"]
             },
             {
               "type" : "runtime_data",
@@ -4261,7 +4496,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_s_tag40"]
+              "value" : ["scalars", "userMetadata._bng_s_tag54"]
             },
             {
               "type" : "runtime_data",
@@ -4280,7 +4515,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_c_tag41"]
+              "value" : ["scalars", "userMetadata._bng_c_tag55"]
             },
             {
               "type" : "runtime_data",
@@ -4311,7 +4546,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -4320,8 +4555,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 39,
-            "column" : 32,
+            "line" : 32,
+            "column" : 26,
             "source_fragment" : "= next_id; ..."
           }
         }
@@ -4346,7 +4581,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 45,
+            "line" : 38,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
           }
@@ -4356,7 +4591,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -4375,8 +4610,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 46,
-            "column" : 34,
+            "line" : 39,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -4406,7 +4641,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 52,
+            "line" : 45,
             "column" : 8,
             "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
           }
@@ -4428,7 +4663,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 57,
+            "line" : 50,
             "column" : 8,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -4438,7 +4673,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -4457,8 +4692,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 58,
-            "column" : 34,
+            "line" : 51,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -4516,7 +4751,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id13"]
+              "value" : ["scalars", "userMetadata._next_id21"]
             },
             {
               "type" : "runtime_data",
@@ -4782,7 +5017,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_multicast14"]
+              "value" : ["scalars", "userMetadata._is_multicast22"]
             },
             {
               "type" : "expression",
@@ -4809,1666 +5044,16 @@
       ]
     },
     {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
       "id" : 54,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 52,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "tcp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 53,
-            "column" : 8,
-            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 54,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_tcp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
-      "id" : 55,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 59,
-            "column" : 8,
-            "source_fragment" : "hdr.udp = hdr.inner_udp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
-      "id" : 56,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 65,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "icmp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 66,
-            "column" : 8,
-            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 67,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_icmp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
-      "id" : 57,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 72,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
-      "id" : 58,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 52,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "tcp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 53,
-            "column" : 8,
-            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 54,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_tcp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
-      "id" : 59,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 59,
-            "column" : 8,
-            "source_fragment" : "hdr.udp = hdr.inner_udp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
-      "id" : 60,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 65,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "icmp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 66,
-            "column" : 8,
-            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 67,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_icmp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
-      "id" : 61,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport21"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport22"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 72,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.load_iface",
-      "id" : 62,
       "runtime_data" : [
         {
-          "name" : "src_iface",
-          "bitwidth" : 8
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -6477,7 +5062,2079 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_src_iface30"]
+              "value" : ["scalars", "userMetadata._slice_id29"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 35,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 36,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 55,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id29"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["ipv4", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 44,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["ipv4", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 45,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 56,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 57,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 89,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_metadata)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+      "id" : 58,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "tcp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_tcp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+      "id" : 59,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.udp = hdr.inner_udp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
+      "id" : 60,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "icmp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_icmp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+      "id" : 61,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+      "id" : 62,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "tcp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_tcp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+      "id" : 63,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.udp = hdr.inner_udp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+      "id" : 64,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "icmp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_icmp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+      "id" : 65,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.load_iface",
+      "id" : 66,
+      "runtime_data" : [
+        {
+          "name" : "src_iface",
+          "bitwidth" : 8
+        },
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_src_iface42"]
             },
             {
               "type" : "runtime_data",
@@ -6486,7 +7143,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 120,
+            "line" : 122,
             "column" : 33,
             "source_fragment" : "= src_iface; ..."
           }
@@ -6496,7 +7153,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_spgw31"]
+              "value" : ["scalars", "userMetadata._spgw_skip_spgw44"]
             },
             {
               "type" : "expression",
@@ -6515,16 +7172,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 121,
+            "line" : 123,
             "column" : 33,
             "source_fragment" : "= false; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id29"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 124,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.iface_miss",
-      "id" : 63,
+      "id" : 67,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6532,7 +7208,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_src_iface30"]
+              "value" : ["scalars", "userMetadata._spgw_src_iface42"]
             },
             {
               "type" : "hexstr",
@@ -6541,7 +7217,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 110,
+            "line" : 127,
             "column" : 44,
             "source_fragment" : "8w0; ..."
           }
@@ -6551,7 +7227,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_spgw31"]
+              "value" : ["scalars", "userMetadata._spgw_skip_spgw44"]
             },
             {
               "type" : "expression",
@@ -6570,7 +7246,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 125,
+            "line" : 128,
             "column" : 33,
             "source_fragment" : "= true; ..."
           }
@@ -6579,7 +7255,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_pdr",
-      "id" : 64,
+      "id" : 68,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -6592,6 +7268,10 @@
         {
           "name" : "needs_gtpu_decap",
           "bitwidth" : 1
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -6600,7 +7280,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id28"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id40"]
             },
             {
               "type" : "runtime_data",
@@ -6609,7 +7289,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -6619,7 +7299,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id29"]
+              "value" : ["scalars", "userMetadata._spgw_far_id41"]
             },
             {
               "type" : "runtime_data",
@@ -6628,7 +7308,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -6638,7 +7318,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap34"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap47"]
             },
             {
               "type" : "expression",
@@ -6667,16 +7347,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr",
-      "id" : 65,
+      "id" : 69,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -6689,6 +7388,10 @@
         {
           "name" : "needs_gtpu_decap",
           "bitwidth" : 1
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -6697,7 +7400,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id28"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id40"]
             },
             {
               "type" : "runtime_data",
@@ -6706,7 +7409,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -6716,7 +7419,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id29"]
+              "value" : ["scalars", "userMetadata._spgw_far_id41"]
             },
             {
               "type" : "runtime_data",
@@ -6725,7 +7428,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -6735,7 +7438,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap34"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap47"]
             },
             {
               "type" : "expression",
@@ -6764,16 +7467,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr_qos",
-      "id" : 66,
+      "id" : 70,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -6788,8 +7510,16 @@
           "bitwidth" : 1
         },
         {
-          "name" : "qid",
-          "bitwidth" : 5
+          "name" : "needs_qfi_push",
+          "bitwidth" : 1
+        },
+        {
+          "name" : "qfi",
+          "bitwidth" : 6
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -6798,7 +7528,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id28"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id40"]
             },
             {
               "type" : "runtime_data",
@@ -6807,7 +7537,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -6817,7 +7547,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id29"]
+              "value" : ["scalars", "userMetadata._spgw_far_id41"]
             },
             {
               "type" : "runtime_data",
@@ -6826,7 +7556,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -6836,7 +7566,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap34"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap47"]
             },
             {
               "type" : "expression",
@@ -6865,16 +7595,93 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 5
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi43"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 167,
+            "column" : 27,
+            "source_fragment" : "= qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_needs_qfi_push49"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "!=",
+                      "left" : {
+                        "type" : "local",
+                        "value" : 3
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 168,
+            "column" : 38,
+            "source_fragment" : "= (bool)needs_qfi_push; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr_qos",
-      "id" : 67,
+      "id" : 71,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -6889,8 +7696,16 @@
           "bitwidth" : 1
         },
         {
-          "name" : "qid",
-          "bitwidth" : 5
+          "name" : "needs_qfi_push",
+          "bitwidth" : 1
+        },
+        {
+          "name" : "qfi",
+          "bitwidth" : 6
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -6899,7 +7714,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id28"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id40"]
             },
             {
               "type" : "runtime_data",
@@ -6908,7 +7723,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -6918,7 +7733,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id29"]
+              "value" : ["scalars", "userMetadata._spgw_far_id41"]
             },
             {
               "type" : "runtime_data",
@@ -6927,7 +7742,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -6937,7 +7752,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap34"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap47"]
             },
             {
               "type" : "expression",
@@ -6966,16 +7781,93 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc31"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 5
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi43"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 167,
+            "column" : 27,
+            "source_fragment" : "= qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_needs_qfi_push49"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "!=",
+                      "left" : {
+                        "type" : "local",
+                        "value" : 3
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 168,
+            "column" : 38,
+            "source_fragment" : "= (bool)needs_qfi_push; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_normal_far",
-      "id" : 68,
+      "id" : 72,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -6992,7 +7884,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding10"]
+              "value" : ["scalars", "userMetadata._skip_forwarding18"]
             },
             {
               "type" : "expression",
@@ -7021,7 +7913,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 195,
+            "line" : 207,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -7031,7 +7923,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -7060,7 +7952,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 196,
+            "line" : 208,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -7070,7 +7962,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc32"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc45"]
             },
             {
               "type" : "expression",
@@ -7099,7 +7991,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 197,
+            "line" : 209,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -7108,7 +8000,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_tunnel_far",
-      "id" : 69,
+      "id" : 73,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -7141,7 +8033,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding10"]
+              "value" : ["scalars", "userMetadata._skip_forwarding18"]
             },
             {
               "type" : "expression",
@@ -7170,7 +8062,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 206,
+            "line" : 218,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -7180,7 +8072,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -7209,7 +8101,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 207,
+            "line" : 219,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -7219,7 +8111,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc32"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc45"]
             },
             {
               "type" : "expression",
@@ -7248,7 +8140,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 208,
+            "line" : 220,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -7258,7 +8150,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap33"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap46"]
             },
             {
               "type" : "expression",
@@ -7277,7 +8169,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 210,
+            "line" : 222,
             "column" : 40,
             "source_fragment" : "= true; ..."
           }
@@ -7287,7 +8179,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid24"]
+              "value" : ["scalars", "userMetadata._spgw_teid36"]
             },
             {
               "type" : "runtime_data",
@@ -7296,7 +8188,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 211,
+            "line" : 223,
             "column" : 28,
             "source_fragment" : "= teid; ..."
           }
@@ -7306,7 +8198,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port25"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port37"]
             },
             {
               "type" : "runtime_data",
@@ -7315,7 +8207,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 212,
+            "line" : 224,
             "column" : 39,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -7325,7 +8217,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr26"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr38"]
             },
             {
               "type" : "runtime_data",
@@ -7334,7 +8226,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 213,
+            "line" : 225,
             "column" : 39,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -7344,7 +8236,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr27"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr39"]
             },
             {
               "type" : "runtime_data",
@@ -7353,7 +8245,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 214,
+            "line" : 226,
             "column" : 39,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -7363,7 +8255,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
             },
             {
               "type" : "runtime_data",
@@ -7372,7 +8264,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 216,
+            "line" : 228,
             "column" : 32,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -7382,7 +8274,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
             },
             {
               "type" : "runtime_data",
@@ -7391,7 +8283,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 217,
+            "line" : 229,
             "column" : 32,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -7401,7 +8293,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
+              "value" : ["scalars", "userMetadata._l4_sport25"]
             },
             {
               "type" : "runtime_data",
@@ -7410,7 +8302,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 218,
+            "line" : 230,
             "column" : 27,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -7420,7 +8312,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
+              "value" : ["scalars", "userMetadata._l4_dport26"]
             },
             {
               "type" : "hexstr",
@@ -7429,7 +8321,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 219,
+            "line" : 231,
             "column" : 27,
             "source_fragment" : "= 2152; ..."
           }
@@ -7438,7 +8330,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_dbuf_far",
-      "id" : 70,
+      "id" : 74,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -7471,7 +8363,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding10"]
+              "value" : ["scalars", "userMetadata._skip_forwarding18"]
             },
             {
               "type" : "expression",
@@ -7500,7 +8392,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 206,
+            "line" : 218,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -7510,7 +8402,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next11"]
+              "value" : ["scalars", "userMetadata._skip_next19"]
             },
             {
               "type" : "expression",
@@ -7539,7 +8431,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 207,
+            "line" : 219,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -7549,7 +8441,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc32"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc45"]
             },
             {
               "type" : "expression",
@@ -7578,7 +8470,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 208,
+            "line" : 220,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -7588,7 +8480,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap33"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap46"]
             },
             {
               "type" : "expression",
@@ -7607,7 +8499,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 210,
+            "line" : 222,
             "column" : 40,
             "source_fragment" : "= true; ..."
           }
@@ -7617,7 +8509,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid24"]
+              "value" : ["scalars", "userMetadata._spgw_teid36"]
             },
             {
               "type" : "runtime_data",
@@ -7626,7 +8518,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 211,
+            "line" : 223,
             "column" : 28,
             "source_fragment" : "= teid; ..."
           }
@@ -7636,7 +8528,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port25"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port37"]
             },
             {
               "type" : "runtime_data",
@@ -7645,7 +8537,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 212,
+            "line" : 224,
             "column" : 39,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -7655,7 +8547,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr26"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr38"]
             },
             {
               "type" : "runtime_data",
@@ -7664,7 +8556,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 213,
+            "line" : 225,
             "column" : 39,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -7674,7 +8566,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr27"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr39"]
             },
             {
               "type" : "runtime_data",
@@ -7683,7 +8575,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 214,
+            "line" : 226,
             "column" : 39,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -7693,7 +8585,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
+              "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
             },
             {
               "type" : "runtime_data",
@@ -7702,7 +8594,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 216,
+            "line" : 228,
             "column" : 32,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -7712,7 +8604,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
             },
             {
               "type" : "runtime_data",
@@ -7721,7 +8613,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 217,
+            "line" : 229,
             "column" : 32,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -7731,7 +8623,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport17"]
+              "value" : ["scalars", "userMetadata._l4_sport25"]
             },
             {
               "type" : "runtime_data",
@@ -7740,7 +8632,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 218,
+            "line" : 230,
             "column" : 27,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -7750,7 +8642,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
+              "value" : ["scalars", "userMetadata._l4_dport26"]
             },
             {
               "type" : "hexstr",
@@ -7759,7 +8651,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 219,
+            "line" : 231,
             "column" : 27,
             "source_fragment" : "= 2152; ..."
           }
@@ -7769,7 +8661,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr35"]
+              "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr48"]
             },
             {
               "type" : "expression",
@@ -7788,7 +8680,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 230,
+            "line" : 242,
             "column" : 43,
             "source_fragment" : "= true; ..."
           }
@@ -7796,8 +8688,633 @@
       ]
     },
     {
+      "name" : "lookup_md_init37",
+      "id" : 75,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init40",
+      "id" : 76,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init43",
+      "id" : 77,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init32",
+      "id" : 78,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init52",
+      "id" : 79,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init55",
+      "id" : 80,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init58",
+      "id" : 81,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init47",
+      "id" : 82,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init23",
+      "id" : 83,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio25",
-      "id" : 71,
+      "id" : 84,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7839,7 +9356,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
+              "value" : ["scalars", "userMetadata._is_controller_packet_out23"]
             },
             {
               "type" : "expression",
@@ -7876,60 +9393,8 @@
       ]
     },
     {
-      "name" : "spgw265",
-      "id" : 72,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "count",
-          "parameters" : [
-            {
-              "type" : "counter_array",
-              "value" : "FabricIngress.spgw.pdr_counter"
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id28"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 265,
-            "column" : 16,
-            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "spgw282",
-      "id" : 73,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ipv4_len23"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "total_len"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 282,
-            "column" : 36,
-            "source_fragment" : "= hdr.ipv4.total_len; ..."
-          }
-        }
-      ]
-    },
-    {
       "name" : "filtering113",
-      "id" : 74,
+      "id" : 85,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7937,7 +9402,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "field",
@@ -7956,7 +9421,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             },
             {
               "type" : "field",
@@ -7975,7 +9440,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             },
             {
               "type" : "field",
@@ -7993,7 +9458,7 @@
     },
     {
       "name" : "filtering119",
-      "id" : 75,
+      "id" : 86,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8001,7 +9466,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_id5"]
+              "value" : ["scalars", "userMetadata._inner_vlan_id13"]
             },
             {
               "type" : "field",
@@ -8020,7 +9485,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
+              "value" : ["scalars", "userMetadata._inner_vlan_pri14"]
             },
             {
               "type" : "field",
@@ -8039,7 +9504,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
+              "value" : ["scalars", "userMetadata._inner_vlan_cfi15"]
             },
             {
               "type" : "field",
@@ -8057,7 +9522,7 @@
     },
     {
       "name" : "filtering129",
-      "id" : 76,
+      "id" : 87,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8065,7 +9530,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl9"]
+              "value" : ["scalars", "userMetadata._mpls_ttl17"]
             },
             {
               "type" : "hexstr",
@@ -8082,53 +9547,34 @@
       ]
     },
     {
-      "name" : "acl102",
-      "id" : 77,
+      "name" : "spgw277",
+      "id" : 88,
       "runtime_data" : [],
       "primitives" : [
         {
-          "op" : "assign",
+          "op" : "count",
           "parameters" : [
             {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
+              "type" : "counter_array",
+              "value" : "FabricIngress.spgw.pdr_counter"
             },
             {
               "type" : "field",
-              "value" : ["inner_tcp", "sport"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id40"]
             }
           ],
           "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
+            "filename" : "include/control/spgw.p4",
+            "line" : 277,
             "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 103,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           }
         }
       ]
     },
     {
-      "name" : "acl105",
-      "id" : 78,
+      "name" : "spgw294",
+      "id" : 89,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8136,364 +9582,25 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
             },
             {
               "type" : "field",
-              "value" : ["inner_udp", "sport"]
+              "value" : ["ipv4", "total_len"]
             }
           ],
           "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 106,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl98",
-      "id" : 79,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 99,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 100,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl113",
-      "id" : 80,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 114,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl116",
-      "id" : 81,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 117,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl109",
-      "id" : 82,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 110,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 111,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl27",
-      "id" : 83,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 28,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 29,
-            "column" : 4,
-            "source_fragment" : "bit<8> ip_proto = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 30,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_sport = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 31,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_dport = 0;"
+            "filename" : "include/control/spgw.p4",
+            "line" : 294,
+            "column" : 36,
+            "source_fragment" : "= hdr.ipv4.total_len; ..."
           }
         }
       ]
     },
     {
       "name" : "port_counter31",
-      "id" : 84,
+      "id" : 90,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8551,7 +9658,7 @@
     },
     {
       "name" : "port_counter34",
-      "id" : 85,
+      "id" : 91,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8609,7 +9716,7 @@
     },
     {
       "name" : "int_main89",
-      "id" : 86,
+      "id" : 92,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8635,7 +9742,7 @@
     },
     {
       "name" : "bng126",
-      "id" : 87,
+      "id" : 93,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8671,7 +9778,7 @@
     },
     {
       "name" : "bng342",
-      "id" : 88,
+      "id" : 94,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8679,7 +9786,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_type36"]
+              "value" : ["scalars", "userMetadata._bng_type50"]
             },
             {
               "type" : "hexstr",
@@ -8688,7 +9795,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../header.p4",
-            "line" : 164,
+            "line" : 185,
             "column" : 37,
             "source_fragment" : "2w0x1; ..."
           }
@@ -8720,7 +9827,7 @@
     },
     {
       "name" : "bng131",
-      "id" : 89,
+      "id" : 95,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8732,7 +9839,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -8746,7 +9853,7 @@
     },
     {
       "name" : "bng139",
-      "id" : 90,
+      "id" : 96,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8758,7 +9865,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -8772,7 +9879,7 @@
     },
     {
       "name" : "bng112",
-      "id" : 91,
+      "id" : 97,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8831,7 +9938,7 @@
     },
     {
       "name" : "bng238",
-      "id" : 92,
+      "id" : 98,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8843,11 +9950,11 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_ds_meter_result39"]
+              "value" : ["scalars", "userMetadata._bng_ds_meter_result53"]
             }
           ],
           "source_info" : {
@@ -8861,7 +9968,7 @@
     },
     {
       "name" : "bng241",
-      "id" : 93,
+      "id" : 99,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8873,11 +9980,11 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_ds_meter_result39"]
+              "value" : ["scalars", "userMetadata._bng_ds_meter_result53"]
             }
           ],
           "source_info" : {
@@ -8891,7 +9998,7 @@
     },
     {
       "name" : "bng250",
-      "id" : 94,
+      "id" : 100,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8903,11 +10010,11 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_ds_meter_result39"]
+              "value" : ["scalars", "userMetadata._bng_ds_meter_result53"]
             }
           ],
           "source_info" : {
@@ -8921,7 +10028,7 @@
     },
     {
       "name" : "bng253",
-      "id" : 95,
+      "id" : 101,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8933,11 +10040,11 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_ds_meter_result39"]
+              "value" : ["scalars", "userMetadata._bng_ds_meter_result53"]
             }
           ],
           "source_info" : {
@@ -8950,38 +10057,248 @@
       ]
     },
     {
+      "name" : "slicing114",
+      "id" : 102,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_11"]
+            },
+            {
+              "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" : ["scalars", "userMetadata._slice_id29"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x3f"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x2"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._tc31"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x07"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 37,
+            "source_fragment" : "(bit<32>) slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_11"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._packet_color30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp32"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "<<",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._slice_id29"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["scalars", "userMetadata._tc31"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 110,
+            "column" : 26,
+            "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
+          }
+        }
+      ]
+    },
+    {
       "name" : "nop",
-      "id" : 96,
+      "id" : 103,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "nop",
-      "id" : 97,
+      "id" : 104,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "nop",
-      "id" : 98,
+      "id" : 105,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 106,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "NoAction",
-      "id" : 99,
+      "id" : 107,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "NoAction",
-      "id" : 100,
+      "id" : 108,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.bng_egress.downstream.encap_v4",
-      "id" : 101,
+      "id" : 109,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8998,7 +10315,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 136,
+            "line" : 153,
             "column" : 33,
             "source_fragment" : "0x8864; ..."
           }
@@ -9084,7 +10401,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_pppoe_session_id38"]
+              "value" : ["scalars", "userMetadata._bng_pppoe_session_id52"]
             }
           ],
           "source_info" : {
@@ -9103,7 +10420,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -9169,7 +10486,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 138,
+            "line" : 155,
             "column" : 35,
             "source_fragment" : "0x0021; ..."
           }
@@ -9178,7 +10495,7 @@
     },
     {
       "name" : "FabricEgress.bng_egress.downstream.encap_v6",
-      "id" : 102,
+      "id" : 110,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -9195,7 +10512,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 136,
+            "line" : 153,
             "column" : 33,
             "source_fragment" : "0x8864; ..."
           }
@@ -9281,7 +10598,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_pppoe_session_id38"]
+              "value" : ["scalars", "userMetadata._bng_pppoe_session_id52"]
             }
           ],
           "source_info" : {
@@ -9300,7 +10617,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._bng_line_id37"]
+              "value" : ["scalars", "userMetadata._bng_line_id51"]
             }
           ],
           "source_info" : {
@@ -9366,7 +10683,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 139,
+            "line" : 156,
             "column" : 35,
             "source_fragment" : "0x0057; ..."
           }
@@ -9375,7 +10692,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
-      "id" : 103,
+      "id" : 111,
       "runtime_data" : [
         {
           "name" : "max_hop",
@@ -9443,7 +10760,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 169,
+            "line" : 186,
             "column" : 36,
             "source_fragment" : "4; ..."
           }
@@ -9734,7 +11051,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport18"]
+              "value" : ["scalars", "userMetadata._l4_dport26"]
             }
           ],
           "source_info" : {
@@ -9861,7 +11178,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 165,
+            "line" : 182,
             "column" : 24,
             "source_fragment" : "0x1; ..."
           }
@@ -9870,7 +11187,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
-      "id" : 104,
+      "id" : 112,
       "runtime_data" : [
         {
           "name" : "switch_id",
@@ -9883,7 +11200,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_transit43"]
+              "value" : ["scalars", "userMetadata._int_meta_transit57"]
             },
             {
               "type" : "expression",
@@ -9912,7 +11229,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
             },
             {
               "type" : "runtime_data",
@@ -9930,1490 +11247,12 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
-      "id" : 105,
+      "id" : 113,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
-      "id" : 106,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
-      "id" : 107,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_hop_latency"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 54,
-            "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" : 55,
-            "column" : 8,
-            "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
-      "id" : 108,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 54,
-            "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" : 55,
-            "column" : 8,
-            "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
-      "id" : 109,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_port_ids"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
-      "id" : 110,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
-      "id" : 111,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_hop_latency"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 54,
-            "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" : 55,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
-      "id" : 112,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 54,
-            "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" : 55,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x03"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 109,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x000c"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 110,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
-      "id" : 113,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
       "id" : 114,
       "runtime_data" : [],
       "primitives" : [
@@ -11484,45 +11323,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -11536,11 +11341,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -11554,9 +11359,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -11564,7 +11369,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -11578,11 +11383,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -11596,15 +11401,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
       "id" : 115,
       "runtime_data" : [],
       "primitives" : [
@@ -11643,45 +11448,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -11695,11 +11466,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -11713,9 +11484,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -11723,7 +11494,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -11737,11 +11508,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -11755,15 +11526,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
       "id" : 116,
       "runtime_data" : [],
       "primitives" : [
@@ -11868,45 +11639,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -11920,11 +11657,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -11938,9 +11675,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -11948,7 +11685,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -11962,11 +11699,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -11980,15 +11717,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
       "id" : 117,
       "runtime_data" : [],
       "primitives" : [
@@ -12072,45 +11809,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -12124,11 +11827,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -12142,9 +11845,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -12152,7 +11855,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -12166,11 +11869,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -12184,15 +11887,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
       "id" : 118,
       "runtime_data" : [],
       "primitives" : [
@@ -12342,45 +12045,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -12394,11 +12063,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -12412,9 +12081,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -12422,7 +12091,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -12436,11 +12105,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -12454,15 +12123,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
       "id" : 119,
       "runtime_data" : [],
       "primitives" : [
@@ -12580,45 +12249,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -12632,11 +12267,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -12650,9 +12285,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -12660,7 +12295,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -12674,11 +12309,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -12692,15 +12327,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
       "id" : 120,
       "runtime_data" : [],
       "primitives" : [
@@ -12884,45 +12519,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id45"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -12936,1226 +12537,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x04"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 115,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 4; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0010"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 116,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 16; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
-      "id" : 121,
-      "runtime_data" : [],
-      "primitives" : []
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
-      "id" : 122,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "column" : 8,
-            "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
-      "id" : 123,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_congestion"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 80,
-            "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" : 82,
-            "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" : 83,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
-      "id" : 124,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 80,
-            "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" : 82,
-            "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" : 83,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
-      "id" : 125,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
-      "id" : 126,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
-      "id" : 127,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_congestion"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 80,
-            "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" : 82,
-            "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" : 83,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
-      "id" : 128,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 80,
-            "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" : 82,
-            "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" : 83,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words46"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -14183,7 +12565,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -14197,7 +12579,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -14223,8 +12605,8 @@
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
-      "id" : 129,
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
+      "id" : 121,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14232,14 +12614,14 @@
           "parameters" : [
             {
               "type" : "header",
-              "value" : "int_ingress_tstamp"
+              "value" : "int_switch_id"
             }
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 68,
+            "line" : 41,
             "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+            "source_fragment" : "hdr.int_switch_id.setValid()"
           }
         },
         {
@@ -14247,18 +12629,18 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+              "value" : ["int_switch_id", "switch_id"]
             },
             {
               "type" : "field",
-              "value" : ["standard_metadata", "enq_timestamp"]
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
             }
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 69,
+            "line" : 42,
             "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
           }
         },
         {
@@ -14266,7 +12648,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -14280,7 +12662,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -14308,7 +12690,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -14322,7 +12704,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -14348,7 +12730,1604 @@
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
+      "id" : 122,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+      "id" : 123,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_hop_latency"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 54,
+            "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" : 55,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+      "id" : 124,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 54,
+            "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" : 55,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+      "id" : 125,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_port_ids"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+      "id" : 126,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+      "id" : 127,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_hop_latency"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 54,
+            "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" : 55,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+      "id" : 128,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 54,
+            "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" : 55,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id59"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x04"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 115,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 4; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0010"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 116,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 16; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
+      "id" : 129,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
       "id" : 130,
       "runtime_data" : [],
       "primitives" : [
@@ -14387,45 +14366,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -14439,11 +14384,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -14457,9 +14402,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -14467,7 +14412,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -14481,11 +14426,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -14499,15 +14444,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
       "id" : 131,
       "runtime_data" : [],
       "primitives" : [
@@ -14565,45 +14510,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -14617,11 +14528,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -14635,9 +14546,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -14645,7 +14556,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -14659,11 +14570,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -14677,15 +14588,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
       "id" : 132,
       "runtime_data" : [],
       "primitives" : [
@@ -14777,45 +14688,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -14829,11 +14706,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -14847,9 +14724,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -14857,7 +14734,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -14871,11 +14748,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -14889,15 +14766,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
       "id" : 133,
       "runtime_data" : [],
       "primitives" : [
@@ -14959,45 +14836,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -15011,11 +14854,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -15029,9 +14872,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -15039,7 +14882,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -15053,11 +14896,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -15071,15 +14914,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
       "id" : 134,
       "runtime_data" : [],
       "primitives" : [
@@ -15175,45 +15018,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -15227,11 +15036,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -15245,9 +15054,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -15255,7 +15064,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -15269,11 +15078,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -15287,15 +15096,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
       "id" : 135,
       "runtime_data" : [],
       "primitives" : [
@@ -15410,45 +15219,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -15462,11 +15237,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -15480,9 +15255,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -15490,7 +15265,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -15504,11 +15279,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -15522,15 +15297,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
       "id" : 136,
       "runtime_data" : [],
       "primitives" : [
@@ -15679,6 +15454,97 @@
           }
         },
         {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
+      "id" : 137,
+      "runtime_data" : [],
+      "primitives" : [
+        {
           "op" : "add_header",
           "parameters" : [
             {
@@ -15717,7 +15583,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
             },
             {
               "type" : "expression",
@@ -15731,7 +15597,1458 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 97,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0004"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 98,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+      "id" : 138,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+      "id" : 139,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_congestion"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+      "id" : 140,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+      "id" : 141,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tstamp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+      "id" : 142,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+      "id" : 143,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_congestion"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+      "id" : 144,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words60"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -15759,7 +17076,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
             },
             {
               "type" : "expression",
@@ -15773,7 +17090,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -15800,7 +17117,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_report.do_report_encapsulation",
-      "id" : 137,
+      "id" : 145,
       "runtime_data" : [
         {
           "name" : "src_mac",
@@ -15906,7 +17223,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 132,
+            "line" : 149,
             "column" : 31,
             "source_fragment" : "0x0800; ..."
           }
@@ -16134,7 +17451,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 144,
+            "line" : 161,
             "column" : 25,
             "source_fragment" : "17; ..."
           }
@@ -16320,7 +17637,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 175,
+            "line" : 192,
             "column" : 31,
             "source_fragment" : "0; ..."
           }
@@ -16415,7 +17732,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 179,
+            "line" : 196,
             "column" : 21,
             "source_fragment" : "1; ..."
           }
@@ -16462,7 +17779,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_sink.restore_header",
-      "id" : 138,
+      "id" : 146,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -16507,7 +17824,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_sink.int_sink",
-      "id" : 139,
+      "id" : 147,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -16838,7 +18155,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_mpls_if_present",
-      "id" : 140,
+      "id" : 148,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -16865,7 +18182,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
             }
           ],
           "source_info" : {
@@ -16879,7 +18196,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.set_mpls",
-      "id" : 141,
+      "id" : 149,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -16906,7 +18223,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label8"]
+              "value" : ["scalars", "userMetadata._mpls_label16"]
             }
           ],
           "source_info" : {
@@ -16963,7 +18280,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl9"]
+              "value" : ["scalars", "userMetadata._mpls_ttl17"]
             }
           ],
           "source_info" : {
@@ -16987,7 +18304,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 130,
+            "line" : 147,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
           }
@@ -16996,7 +18313,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_outer_vlan",
-      "id" : 142,
+      "id" : 150,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17023,7 +18340,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -17042,7 +18359,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -17066,7 +18383,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -17080,7 +18397,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -17094,7 +18411,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_inner_vlan",
-      "id" : 143,
+      "id" : 151,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17121,7 +18438,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_cfi7"]
+              "value" : ["scalars", "userMetadata._inner_vlan_cfi15"]
             }
           ],
           "source_info" : {
@@ -17140,7 +18457,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_pri6"]
+              "value" : ["scalars", "userMetadata._inner_vlan_pri14"]
             }
           ],
           "source_info" : {
@@ -17159,7 +18476,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_vlan_id5"]
+              "value" : ["scalars", "userMetadata._inner_vlan_id13"]
             }
           ],
           "source_info" : {
@@ -17183,7 +18500,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -17202,7 +18519,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -17211,7 +18528,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_vlan",
-      "id" : 144,
+      "id" : 152,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17238,7 +18555,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -17257,7 +18574,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -17281,7 +18598,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -17295,7 +18612,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -17309,7 +18626,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 145,
+      "id" : 153,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17331,7 +18648,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.drop",
-      "id" : 146,
+      "id" : 154,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17352,8 +18669,40 @@
       ]
     },
     {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 155,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 156,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 135,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "FabricEgress.spgw.gtpu_encap",
-      "id" : 147,
+      "id" : 157,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17366,7 +18715,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 300,
+            "line" : 311,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.setValid()"
           }
@@ -17385,7 +18734,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 301,
+            "line" : 312,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.version = 4"
           }
@@ -17404,7 +18753,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 147,
+            "line" : 164,
             "column" : 28,
             "source_fragment" : "5; ..."
           }
@@ -17423,7 +18772,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 303,
+            "line" : 314,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
           }
@@ -17442,7 +18791,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 304,
+            "line" : 315,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
           }
@@ -17484,7 +18833,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 305,
+            "line" : 316,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
           }
@@ -17503,7 +18852,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 307,
+            "line" : 318,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
           }
@@ -17522,7 +18871,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 308,
+            "line" : 319,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
           }
@@ -17541,7 +18890,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 309,
+            "line" : 320,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
           }
@@ -17560,7 +18909,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 160,
+            "line" : 177,
             "column" : 32,
             "source_fragment" : "64; ..."
           }
@@ -17579,7 +18928,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 144,
+            "line" : 161,
             "column" : 25,
             "source_fragment" : "17; ..."
           }
@@ -17593,12 +18942,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr26"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr38"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 312,
+            "line" : 323,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
           }
@@ -17612,12 +18961,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr27"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr39"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 313,
+            "line" : 324,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
           }
@@ -17636,7 +18985,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 314,
+            "line" : 325,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
           }
@@ -17651,7 +19000,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 316,
+            "line" : 327,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.setValid()"
           }
@@ -17665,12 +19014,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port25"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port37"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 317,
+            "line" : 328,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
           }
@@ -17689,7 +19038,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 318,
+            "line" : 329,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.dport = 2152"
           }
@@ -17713,7 +19062,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._spgw_ipv4_len23"]
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -17731,7 +19080,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 319,
+            "line" : 330,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
           }
@@ -17750,7 +19099,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 321,
+            "line" : 332,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.checksum = 0"
           }
@@ -17765,7 +19114,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 324,
+            "line" : 334,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.setValid()"
           }
@@ -17784,7 +19133,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 325,
+            "line" : 335,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.version = 0x01"
           }
@@ -17803,7 +19152,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 326,
+            "line" : 336,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
           }
@@ -17822,7 +19171,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 327,
+            "line" : 337,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.spare = 0"
           }
@@ -17841,7 +19190,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 328,
+            "line" : 338,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
           }
@@ -17860,7 +19209,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 329,
+            "line" : 339,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
           }
@@ -17879,7 +19228,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 330,
+            "line" : 340,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
           }
@@ -17898,7 +19247,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 331,
+            "line" : 341,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
           }
@@ -17912,12 +19261,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ipv4_len23"]
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 332,
+            "line" : 342,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
           }
@@ -17931,12 +19280,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid24"]
+              "value" : ["scalars", "userMetadata._spgw_teid36"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 333,
+            "line" : 343,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
           }
@@ -17944,8 +19293,870 @@
       ]
     },
     {
+      "name" : "FabricEgress.spgw.gtpu_encap_qfi",
+      "id" : 158,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 311,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 312,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.version = 4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 164,
+            "column" : 28,
+            "source_fragment" : "5; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 314,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 315,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4", "total_len"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0024"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 316,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x1513"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 318,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 319,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 320,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 177,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 161,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "src_addr"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr38"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 323,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr39"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 324,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "hdr_checksum"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 325,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 327,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "sport"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port37"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 328,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "dport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0868"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 329,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.dport = 2152"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0010"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 330,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "checksum"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 332,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.checksum = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 334,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 335,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.version = 0x01"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "pt"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 336,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "spare"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 337,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.spare = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "ex_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 338,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "seq_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 339,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "npdu_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 340,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msgtype"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 341,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msglen"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 342,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "teid"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_teid36"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 343,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4", "total_len"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x002c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 349,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0018"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 352,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msglen"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len35"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 355,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "ex_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 357,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.ex_flag = 1"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 358,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_options.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x85"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 359,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_options.next_ext = 0x85"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 360,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 88,
+            "column" : 36,
+            "source_fragment" : "4w0; // Downlink ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "len"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 362,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.len = 8w1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "qfi"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi43"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 363,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.qfi = fabric_md.spgw.qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "next_ext"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 364,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.next_ext = 0x0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio41",
-      "id" : 148,
+      "id" : 159,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -17962,7 +20173,7 @@
     },
     {
       "name" : "packetio44",
-      "id" : 149,
+      "id" : 160,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18013,7 +20224,7 @@
     },
     {
       "name" : "next283",
-      "id" : 150,
+      "id" : 161,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18035,7 +20246,7 @@
     },
     {
       "name" : "next299",
-      "id" : 151,
+      "id" : 162,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18057,7 +20268,7 @@
     },
     {
       "name" : "next310",
-      "id" : 152,
+      "id" : 163,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18079,7 +20290,7 @@
     },
     {
       "name" : "next309",
-      "id" : 153,
+      "id" : 164,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18128,7 +20339,7 @@
     },
     {
       "name" : "next314",
-      "id" : 154,
+      "id" : 165,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18150,7 +20361,7 @@
     },
     {
       "name" : "next313",
-      "id" : 155,
+      "id" : 166,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18199,7 +20410,7 @@
     },
     {
       "name" : "next319",
-      "id" : 156,
+      "id" : 167,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18221,7 +20432,7 @@
     },
     {
       "name" : "next318",
-      "id" : 157,
+      "id" : 168,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18269,8 +20480,8 @@
       ]
     },
     {
-      "name" : "spgw342",
-      "id" : 158,
+      "name" : "spgw377",
+      "id" : 169,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18282,12 +20493,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id28"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id40"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 342,
+            "line" : 377,
             "column" : 16,
             "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           }
@@ -18296,7 +20507,7 @@
     },
     {
       "name" : "act",
-      "id" : 159,
+      "id" : 170,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18326,7 +20537,7 @@
     },
     {
       "name" : "int_transit420",
-      "id" : 160,
+      "id" : 171,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18362,7 +20573,7 @@
     },
     {
       "name" : "int_transit428",
-      "id" : 161,
+      "id" : 172,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18388,7 +20599,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       }
                     }
                   },
@@ -18411,7 +20622,7 @@
     },
     {
       "name" : "int_transit425",
-      "id" : 162,
+      "id" : 173,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18460,7 +20671,7 @@
     },
     {
       "name" : "int_transit431",
-      "id" : 163,
+      "id" : 174,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18486,7 +20697,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes47"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes61"]
                       }
                     }
                   },
@@ -18509,7 +20720,7 @@
     },
     {
       "name" : "int_transit434",
-      "id" : 164,
+      "id" : 175,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -18535,7 +20746,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words46"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words60"]
                       }
                     }
                   },
@@ -18555,6 +20766,84 @@
           }
         }
       ]
+    },
+    {
+      "name" : "slicing155",
+      "id" : 176,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 155,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing159",
+      "id" : 177,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing126",
+      "id" : 178,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
+          }
+        }
+      ]
     }
   ],
   "pipelines" : [
@@ -18563,16 +20852,277 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 47,
+        "line" : 49,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
-      "init_table" : "node_2",
+      "init_table" : "tbl_lookup_md_init23",
       "tables" : [
         {
-          "name" : "tbl_packetio25",
+          "name" : "tbl_lookup_md_init23",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [83],
+          "actions" : ["lookup_md_init23"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "lookup_md_init23" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 83,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init32",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [78],
+          "actions" : ["lookup_md_init32"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "lookup_md_init32" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 78,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init37",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [75],
+          "actions" : ["lookup_md_init37"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init37" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 75,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init40",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [76],
+          "actions" : ["lookup_md_init40"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init40" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 76,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init43",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [77],
+          "actions" : ["lookup_md_init43"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init43" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 77,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init47",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [82],
+          "actions" : ["lookup_md_init47"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init47" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 82,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init52",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [79],
+          "actions" : ["lookup_md_init52"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init52" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 79,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init55",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [80],
+          "actions" : ["lookup_md_init55"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init55" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 80,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init58",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [81],
+          "actions" : ["lookup_md_init58"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init58" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 81,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio25",
+          "id" : 9,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 42,
@@ -18585,511 +21135,89 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [71],
+          "action_ids" : [84],
           "actions" : ["packetio25"],
-          "base_default_next" : "FabricIngress.spgw.interfaces",
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
           "next_tables" : {
-            "packetio25" : "FabricIngress.spgw.interfaces"
+            "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
           },
           "default_entry" : {
-            "action_id" : 71,
+            "action_id" : 84,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "FabricIngress.spgw.interfaces",
-          "id" : 1,
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 10,
           "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 129,
+            "filename" : "include/control/slicing.p4",
+            "line" : 49,
             "column" : 10,
-            "source_fragment" : "interfaces"
+            "source_fragment" : "classifier"
           },
           "key" : [
             {
-              "match_type" : "lpm",
-              "name" : "ipv4_dst_addr",
-              "target" : ["ipv4", "dst_addr"],
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["standard_metadata", "ingress_port"],
               "mask" : null
             },
             {
-              "match_type" : "exact",
-              "name" : "gtpu_is_valid",
-              "target" : ["gtpu", "$valid$"],
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             }
           ],
-          "match_type" : "lpm",
+          "match_type" : "ternary",
           "type" : "simple",
-          "max_size" : 128,
-          "with_counters" : false,
+          "max_size" : 512,
+          "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [62, 63],
-          "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
-          "base_default_next" : null,
+          "action_ids" : [54, 55],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
+          "base_default_next" : "node_22",
           "next_tables" : {
-            "__HIT__" : "node_5",
-            "__MISS__" : "node_16"
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
           },
           "default_entry" : {
-            "action_id" : 63,
+            "action_id" : 54,
             "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
-          "id" : 2,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 75,
-            "column" : 10,
-            "source_fragment" : "decap_gtpu"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_tcp.$valid$",
-              "target" : ["inner_tcp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_udp.$valid$",
-              "target" : ["inner_udp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_icmp.$valid$",
-              "target" : ["inner_icmp", "$valid$"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [54, 55, 56, 57],
-          "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
-          "base_default_next" : "node_7",
-          "next_tables" : {
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
-          },
-          "default_entry" : {
-            "action_id" : 57,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          },
-          "entries" : [
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 89,
-                "column" : 12,
-                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 54,
-                "action_data" : []
-              },
-              "priority" : 1
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 90,
-                "column" : 12,
-                "source_fragment" : "(false, true, false) : decap_inner_udp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 55,
-                "action_data" : []
-              },
-              "priority" : 2
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 91,
-                "column" : 12,
-                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 56,
-                "action_data" : []
-              },
-              "priority" : 3
-            }
-          ]
-        },
-        {
-          "name" : "FabricIngress.spgw.uplink_pdrs",
-          "id" : 3,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 176,
-            "column" : 10,
-            "source_fragment" : "uplink_pdrs"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "tunnel_ipv4_dst",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "teid",
-              "target" : ["gtpu", "teid"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [65, 67, 15],
-          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
-          "base_default_next" : "node_10",
-          "next_tables" : {
-            "FabricIngress.spgw.load_pdr" : "node_10",
-            "FabricIngress.spgw.load_pdr_qos" : "node_10",
-            "NoAction" : "node_10"
-          },
-          "default_entry" : {
-            "action_id" : 15,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.downlink_pdrs",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 164,
-            "column" : 10,
-            "source_fragment" : "downlink_pdrs"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "ue_addr",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [64, 66, 14],
-          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
-          "base_default_next" : "node_10",
-          "next_tables" : {
-            "FabricIngress.spgw.load_pdr" : "node_10",
-            "FabricIngress.spgw.load_pdr_qos" : "node_10",
-            "NoAction" : "node_10"
-          },
-          "default_entry" : {
-            "action_id" : 14,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "tbl_spgw265",
-          "id" : 5,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 265,
-            "column" : 16,
-            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [72],
-          "actions" : ["spgw265"],
-          "base_default_next" : "node_12",
-          "next_tables" : {
-            "spgw265" : "node_12"
-          },
-          "default_entry" : {
-            "action_id" : 72,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
-          "id" : 6,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 75,
-            "column" : 10,
-            "source_fragment" : "decap_gtpu"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_tcp.$valid$",
-              "target" : ["inner_tcp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_udp.$valid$",
-              "target" : ["inner_udp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_icmp.$valid$",
-              "target" : ["inner_icmp", "$valid$"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [58, 59, 60, 61],
-          "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
-          "base_default_next" : "FabricIngress.spgw.fars",
-          "next_tables" : {
-            "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
-          },
-          "default_entry" : {
-            "action_id" : 61,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          },
-          "entries" : [
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 89,
-                "column" : 12,
-                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 58,
-                "action_data" : []
-              },
-              "priority" : 1
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 90,
-                "column" : 12,
-                "source_fragment" : "(false, true, false) : decap_inner_udp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 59,
-                "action_data" : []
-              },
-              "priority" : 2
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 91,
-                "column" : 12,
-                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 60,
-                "action_data" : []
-              },
-              "priority" : 3
-            }
-          ]
-        },
-        {
-          "name" : "FabricIngress.spgw.fars",
-          "id" : 7,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 233,
-            "column" : 10,
-            "source_fragment" : "fars"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "far_id",
-              "target" : ["scalars", "userMetadata._spgw_far_id29"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 2048,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [68, 69, 70],
-          "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
-          "base_default_next" : "tbl_spgw282",
-          "next_tables" : {
-            "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
-            "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
-            "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
-          },
-          "default_entry" : {
-            "action_id" : 68,
-            "action_const" : true,
-            "action_data" : ["0x1", "0x0"],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_spgw282",
-          "id" : 8,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 282,
-            "column" : 36,
-            "source_fragment" : "="
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [73],
-          "actions" : ["spgw282"],
-          "base_default_next" : "node_16",
-          "next_tables" : {
-            "spgw282" : "node_16"
-          },
-          "default_entry" : {
-            "action_id" : 73,
-            "action_const" : true,
-            "action_data" : [],
+            "action_data" : ["0x0", "0x0"],
             "action_entry_const" : true
           }
         },
         {
           "name" : "tbl_filtering113",
-          "id" : 9,
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
@@ -19103,14 +21231,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [74],
+          "action_ids" : [85],
           "actions" : ["filtering113"],
-          "base_default_next" : "node_18",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "filtering113" : "node_18"
+            "filtering113" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 74,
+            "action_id" : 85,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -19118,7 +21246,7 @@
         },
         {
           "name" : "tbl_filtering119",
-          "id" : 10,
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 119,
@@ -19132,14 +21260,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [75],
+          "action_ids" : [86],
           "actions" : ["filtering119"],
-          "base_default_next" : "node_20",
+          "base_default_next" : "node_26",
           "next_tables" : {
-            "filtering119" : "node_20"
+            "filtering119" : "node_26"
           },
           "default_entry" : {
-            "action_id" : 75,
+            "action_id" : 86,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -19147,7 +21275,7 @@
         },
         {
           "name" : "tbl_filtering129",
-          "id" : 11,
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
@@ -19161,14 +21289,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [76],
+          "action_ids" : [87],
           "actions" : ["filtering129"],
           "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
           "next_tables" : {
             "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
           },
           "default_entry" : {
-            "action_id" : 76,
+            "action_id" : 87,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -19176,7 +21304,7 @@
         },
         {
           "name" : "FabricIngress.filtering.ingress_port_vlan",
-          "id" : 12,
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 55,
@@ -19232,7 +21360,7 @@
         },
         {
           "name" : "FabricIngress.filtering.fwd_classifier",
-          "id" : 13,
+          "id" : 15,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 94,
@@ -19261,7 +21389,7 @@
             {
               "match_type" : "exact",
               "name" : "ip_eth_type",
-              "target" : ["scalars", "userMetadata._ip_eth_type0"],
+              "target" : ["scalars", "userMetadata._ip_eth_type8"],
               "mask" : null
             }
           ],
@@ -19273,9 +21401,9 @@
           "direct_meters" : null,
           "action_ids" : [33],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
-          "base_default_next" : "node_24",
+          "base_default_next" : "node_30",
           "next_tables" : {
-            "FabricIngress.filtering.set_forwarding_type" : "node_24"
+            "FabricIngress.filtering.set_forwarding_type" : "node_30"
           },
           "default_entry" : {
             "action_id" : 33,
@@ -19285,8 +21413,509 @@
           }
         },
         {
+          "name" : "FabricIngress.spgw.interfaces",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 132,
+            "column" : 10,
+            "source_fragment" : "interfaces"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "name" : "ipv4_dst_addr",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "gtpu_is_valid",
+              "target" : ["gtpu", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [66, 67],
+          "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "node_32",
+            "__MISS__" : "node_43"
+          },
+          "default_entry" : {
+            "action_id" : 67,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+          "id" : 17,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 77,
+            "column" : 10,
+            "source_fragment" : "decap_gtpu"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_tcp.$valid$",
+              "target" : ["inner_tcp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_udp.$valid$",
+              "target" : ["inner_udp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_icmp.$valid$",
+              "target" : ["inner_icmp", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [58, 59, 60, 61],
+          "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
+          "base_default_next" : "node_34",
+          "next_tables" : {
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_34",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_34",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_34",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_34"
+          },
+          "default_entry" : {
+            "action_id" : 61,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 91,
+                "column" : 12,
+                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 58,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 92,
+                "column" : 12,
+                "source_fragment" : "(false, true, false) : decap_inner_udp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 59,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 93,
+                "column" : 12,
+                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 60,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.spgw.uplink_pdrs",
+          "id" : 18,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 184,
+            "column" : 10,
+            "source_fragment" : "uplink_pdrs"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "tunnel_ipv4_dst",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "teid",
+              "target" : ["gtpu", "teid"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "has_qfi",
+              "target" : ["gtpu_ext_psc", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "qfi",
+              "target" : ["scalars", "userMetadata._spgw_qfi43"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [69, 71, 15],
+          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
+          "base_default_next" : "node_37",
+          "next_tables" : {
+            "FabricIngress.spgw.load_pdr" : "node_37",
+            "FabricIngress.spgw.load_pdr_qos" : "node_37",
+            "NoAction" : "node_37"
+          },
+          "default_entry" : {
+            "action_id" : 15,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.downlink_pdrs",
+          "id" : 19,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 172,
+            "column" : 10,
+            "source_fragment" : "downlink_pdrs"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "ue_addr",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [68, 70, 14],
+          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
+          "base_default_next" : "node_37",
+          "next_tables" : {
+            "FabricIngress.spgw.load_pdr" : "node_37",
+            "FabricIngress.spgw.load_pdr_qos" : "node_37",
+            "NoAction" : "node_37"
+          },
+          "default_entry" : {
+            "action_id" : 14,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_spgw277",
+          "id" : 20,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 277,
+            "column" : 16,
+            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [88],
+          "actions" : ["spgw277"],
+          "base_default_next" : "node_39",
+          "next_tables" : {
+            "spgw277" : "node_39"
+          },
+          "default_entry" : {
+            "action_id" : 88,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+          "id" : 21,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 77,
+            "column" : 10,
+            "source_fragment" : "decap_gtpu"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_tcp.$valid$",
+              "target" : ["inner_tcp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_udp.$valid$",
+              "target" : ["inner_udp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_icmp.$valid$",
+              "target" : ["inner_icmp", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [62, 63, 64, 65],
+          "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
+          "base_default_next" : "FabricIngress.spgw.fars",
+          "next_tables" : {
+            "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
+          },
+          "default_entry" : {
+            "action_id" : 65,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 91,
+                "column" : 12,
+                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 62,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 92,
+                "column" : 12,
+                "source_fragment" : "(false, true, false) : decap_inner_udp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 63,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 93,
+                "column" : 12,
+                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 64,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.spgw.fars",
+          "id" : 22,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 245,
+            "column" : 10,
+            "source_fragment" : "fars"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "far_id",
+              "target" : ["scalars", "userMetadata._spgw_far_id41"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 2048,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [72, 73, 74],
+          "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
+          "base_default_next" : "tbl_spgw294",
+          "next_tables" : {
+            "FabricIngress.spgw.load_normal_far" : "tbl_spgw294",
+            "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw294",
+            "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw294"
+          },
+          "default_entry" : {
+            "action_id" : 72,
+            "action_const" : true,
+            "action_data" : ["0x1", "0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_spgw294",
+          "id" : 23,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 294,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [89],
+          "actions" : ["spgw294"],
+          "base_default_next" : "node_43",
+          "next_tables" : {
+            "spgw294" : "node_43"
+          },
+          "default_entry" : {
+            "action_id" : 89,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
           "name" : "FabricIngress.forwarding.bridging",
-          "id" : 14,
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 46,
@@ -19297,7 +21926,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -19315,10 +21944,10 @@
           "direct_meters" : null,
           "action_ids" : [34, 4],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
-          "base_default_next" : "node_33",
+          "base_default_next" : "node_52",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_bridging" : "node_33",
-            "nop" : "node_33"
+            "FabricIngress.forwarding.set_next_id_bridging" : "node_52",
+            "nop" : "node_52"
           },
           "default_entry" : {
             "action_id" : 4,
@@ -19329,7 +21958,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.mpls",
-          "id" : 15,
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 71,
@@ -19340,7 +21969,7 @@
             {
               "match_type" : "exact",
               "name" : "mpls_label",
-              "target" : ["scalars", "userMetadata._mpls_label8"],
+              "target" : ["scalars", "userMetadata._mpls_label16"],
               "mask" : null
             }
           ],
@@ -19352,10 +21981,10 @@
           "direct_meters" : null,
           "action_ids" : [35, 5],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
-          "base_default_next" : "node_33",
+          "base_default_next" : "node_52",
           "next_tables" : {
-            "FabricIngress.forwarding.pop_mpls_and_next" : "node_33",
-            "nop" : "node_33"
+            "FabricIngress.forwarding.pop_mpls_and_next" : "node_52",
+            "nop" : "node_52"
           },
           "default_entry" : {
             "action_id" : 5,
@@ -19366,7 +21995,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v4",
-          "id" : 16,
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 108,
@@ -19377,7 +22006,7 @@
             {
               "match_type" : "lpm",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "userMetadata._ipv4_dst_addr20"],
+              "target" : ["scalars", "userMetadata._ipv4_dst_addr28"],
               "mask" : null
             }
           ],
@@ -19389,11 +22018,11 @@
           "direct_meters" : null,
           "action_ids" : [36, 37, 6],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
-          "base_default_next" : "node_33",
+          "base_default_next" : "node_52",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_33",
-            "FabricIngress.forwarding.nop_routing_v4" : "node_33",
-            "nop" : "node_33"
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_52",
+            "FabricIngress.forwarding.nop_routing_v4" : "node_52",
+            "nop" : "node_52"
           },
           "default_entry" : {
             "action_id" : 6,
@@ -19404,7 +22033,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v6",
-          "id" : 17,
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 135,
@@ -19427,10 +22056,10 @@
           "direct_meters" : null,
           "action_ids" : [38, 7],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "nop"],
-          "base_default_next" : "node_33",
+          "base_default_next" : "node_52",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v6" : "node_33",
-            "nop" : "node_33"
+            "FabricIngress.forwarding.set_next_id_routing_v6" : "node_52",
+            "nop" : "node_52"
           },
           "default_entry" : {
             "action_id" : 7,
@@ -19441,7 +22070,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_mpls",
-          "id" : 18,
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 36,
@@ -19452,7 +22081,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -19478,7 +22107,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_vlan",
-          "id" : 19,
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 73,
@@ -19489,7 +22118,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -19501,11 +22130,11 @@
           "direct_meters" : null,
           "action_ids" : [40, 41, 9],
           "actions" : ["FabricIngress.pre_next.set_vlan", "FabricIngress.pre_next.set_double_vlan", "nop"],
-          "base_default_next" : "tbl_acl27",
+          "base_default_next" : "FabricIngress.acl.acl",
           "next_tables" : {
-            "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
-            "FabricIngress.pre_next.set_double_vlan" : "tbl_acl27",
-            "nop" : "tbl_acl27"
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "FabricIngress.pre_next.set_double_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
           },
           "default_entry" : {
             "action_id" : 9,
@@ -19515,214 +22144,11 @@
           }
         },
         {
-          "name" : "tbl_acl27",
-          "id" : 20,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [83],
-          "actions" : ["acl27"],
-          "base_default_next" : "node_37",
-          "next_tables" : {
-            "acl27" : "node_37"
-          },
-          "default_entry" : {
-            "action_id" : 83,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl98",
-          "id" : 21,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 21,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [79],
-          "actions" : ["acl98"],
-          "base_default_next" : "node_39",
-          "next_tables" : {
-            "acl98" : "node_39"
-          },
-          "default_entry" : {
-            "action_id" : 79,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl102",
-          "id" : 22,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [77],
-          "actions" : ["acl102"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl102" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 77,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl105",
-          "id" : 23,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [78],
-          "actions" : ["acl105"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl105" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 78,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl109",
-          "id" : 24,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 21,
-            "source_fragment" : "= hdr.ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [82],
-          "actions" : ["acl109"],
-          "base_default_next" : "node_45",
-          "next_tables" : {
-            "acl109" : "node_45"
-          },
-          "default_entry" : {
-            "action_id" : 82,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl113",
-          "id" : 25,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 25,
-            "source_fragment" : "= hdr.tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [80],
-          "actions" : ["acl113"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl113" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 80,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl116",
-          "id" : 26,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 25,
-            "source_fragment" : "= hdr.udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [81],
-          "actions" : ["acl116"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl116" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 81,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
           "name" : "FabricIngress.acl.acl",
-          "id" : 27,
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 66,
+            "line" : 59,
             "column" : 10,
             "source_fragment" : "acl"
           },
@@ -19760,19 +22186,19 @@
             {
               "match_type" : "ternary",
               "name" : "ipv4_src",
-              "target" : ["scalars", "acl_ipv4_src"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "acl_ipv4_dst"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ip_proto",
-              "target" : ["scalars", "acl_ip_proto"],
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
               "mask" : null
             },
             {
@@ -19790,19 +22216,19 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "acl_l4_sport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "acl_l4_dport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "port_type",
-              "target" : ["scalars", "userMetadata._port_type50"],
+              "target" : ["scalars", "userMetadata._port_type64"],
               "mask" : null
             }
           ],
@@ -19814,13 +22240,13 @@
           "direct_meters" : null,
           "action_ids" : [42, 43, 44, 45, 46],
           "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
-          "base_default_next" : "node_50",
+          "base_default_next" : "node_56",
           "next_tables" : {
-            "FabricIngress.acl.set_next_id_acl" : "node_50",
-            "FabricIngress.acl.punt_to_cpu" : "node_50",
-            "FabricIngress.acl.set_clone_session_id" : "node_50",
-            "FabricIngress.acl.drop" : "node_50",
-            "FabricIngress.acl.nop_acl" : "node_50"
+            "FabricIngress.acl.set_next_id_acl" : "node_56",
+            "FabricIngress.acl.punt_to_cpu" : "node_56",
+            "FabricIngress.acl.set_clone_session_id" : "node_56",
+            "FabricIngress.acl.drop" : "node_56",
+            "FabricIngress.acl.nop_acl" : "node_56"
           },
           "default_entry" : {
             "action_id" : 46,
@@ -19831,7 +22257,7 @@
         },
         {
           "name" : "FabricIngress.next.xconnect",
-          "id" : 28,
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 68,
@@ -19848,7 +22274,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -19875,7 +22301,7 @@
         },
         {
           "name" : "FabricIngress.next.simple",
-          "id" : 29,
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 101,
@@ -19886,7 +22312,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -19913,7 +22339,7 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 30,
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 138,
@@ -19924,7 +22350,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -19946,7 +22372,7 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 31,
+          "id" : 34,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 171,
@@ -19957,7 +22383,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id13"],
+              "target" : ["scalars", "userMetadata._next_id21"],
               "mask" : null
             }
           ],
@@ -19969,10 +22395,10 @@
           "direct_meters" : null,
           "action_ids" : [53, 13],
           "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
-          "base_default_next" : "node_55",
+          "base_default_next" : "node_61",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group_id" : "node_55",
-            "nop" : "node_55"
+            "FabricIngress.next.set_mcast_group_id" : "node_61",
+            "nop" : "node_61"
           },
           "default_entry" : {
             "action_id" : 13,
@@ -19983,7 +22409,7 @@
         },
         {
           "name" : "tbl_port_counter31",
-          "id" : 32,
+          "id" : 35,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 31,
@@ -19997,14 +22423,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [84],
+          "action_ids" : [90],
           "actions" : ["port_counter31"],
-          "base_default_next" : "node_57",
+          "base_default_next" : "node_63",
           "next_tables" : {
-            "port_counter31" : "node_57"
+            "port_counter31" : "node_63"
           },
           "default_entry" : {
-            "action_id" : 84,
+            "action_id" : 90,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20012,7 +22438,7 @@
         },
         {
           "name" : "tbl_port_counter34",
-          "id" : 33,
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 34,
@@ -20026,14 +22452,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [85],
+          "action_ids" : [91],
           "actions" : ["port_counter34"],
           "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
           "next_tables" : {
             "port_counter34" : "FabricIngress.process_set_source_sink.tb_set_source"
           },
           "default_entry" : {
-            "action_id" : 85,
+            "action_id" : 91,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20041,7 +22467,7 @@
         },
         {
           "name" : "FabricIngress.process_set_source_sink.tb_set_source",
-          "id" : 34,
+          "id" : 37,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 46,
@@ -20078,7 +22504,7 @@
         },
         {
           "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
-          "id" : 35,
+          "id" : 38,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 67,
@@ -20101,10 +22527,10 @@
           "direct_meters" : null,
           "action_ids" : [17, 1],
           "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "nop"],
-          "base_default_next" : "node_61",
+          "base_default_next" : "node_67",
           "next_tables" : {
-            "FabricIngress.process_set_source_sink.int_set_sink" : "node_61",
-            "nop" : "node_61"
+            "FabricIngress.process_set_source_sink.int_set_sink" : "node_67",
+            "nop" : "node_67"
           },
           "default_entry" : {
             "action_id" : 1,
@@ -20115,7 +22541,7 @@
         },
         {
           "name" : "tbl_int_main89",
-          "id" : 36,
+          "id" : 39,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 89,
@@ -20129,14 +22555,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [86],
+          "action_ids" : [92],
           "actions" : ["int_main89"],
           "base_default_next" : "FabricIngress.bng_ingress.t_line_map",
           "next_tables" : {
             "int_main89" : "FabricIngress.bng_ingress.t_line_map"
           },
           "default_entry" : {
-            "action_id" : 86,
+            "action_id" : 92,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20144,7 +22570,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.t_line_map",
-          "id" : 37,
+          "id" : 40,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 323,
@@ -20155,13 +22581,13 @@
             {
               "match_type" : "exact",
               "name" : "s_tag",
-              "target" : ["scalars", "userMetadata._bng_s_tag40"],
+              "target" : ["scalars", "userMetadata._bng_s_tag54"],
               "mask" : null
             },
             {
               "match_type" : "exact",
               "name" : "c_tag",
-              "target" : ["scalars", "userMetadata._bng_c_tag41"],
+              "target" : ["scalars", "userMetadata._bng_c_tag55"],
               "mask" : null
             }
           ],
@@ -20173,9 +22599,9 @@
           "direct_meters" : null,
           "action_ids" : [29],
           "actions" : ["FabricIngress.bng_ingress.set_line"],
-          "base_default_next" : "node_64",
+          "base_default_next" : "node_70",
           "next_tables" : {
-            "FabricIngress.bng_ingress.set_line" : "node_64"
+            "FabricIngress.bng_ingress.set_line" : "node_70"
           },
           "default_entry" : {
             "action_id" : 29,
@@ -20186,7 +22612,7 @@
         },
         {
           "name" : "tbl_bng342",
-          "id" : 38,
+          "id" : 41,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 342,
@@ -20200,14 +22626,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [88],
+          "action_ids" : [94],
           "actions" : ["bng342"],
           "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
           "next_tables" : {
             "bng342" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
           },
           "default_entry" : {
-            "action_id" : 88,
+            "action_id" : 94,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20215,7 +22641,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
-          "id" : 39,
+          "id" : 42,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 51,
@@ -20247,7 +22673,7 @@
           "base_default_next" : null,
           "next_tables" : {
             "__HIT__" : "tbl_bng126",
-            "__MISS__" : "node_68"
+            "__MISS__" : "node_74"
           },
           "default_entry" : {
             "action_id" : 2,
@@ -20258,7 +22684,7 @@
         },
         {
           "name" : "tbl_bng126",
-          "id" : 40,
+          "id" : 43,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 126,
@@ -20272,14 +22698,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [87],
+          "action_ids" : [93],
           "actions" : ["bng126"],
-          "base_default_next" : "node_68",
+          "base_default_next" : "node_74",
           "next_tables" : {
-            "bng126" : "node_68"
+            "bng126" : "node_74"
           },
           "default_entry" : {
-            "action_id" : 87,
+            "action_id" : 93,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20287,7 +22713,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
-          "id" : 41,
+          "id" : 44,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 87,
@@ -20298,7 +22724,7 @@
             {
               "match_type" : "exact",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id37"],
+              "target" : ["scalars", "userMetadata._bng_line_id51"],
               "mask" : null
             },
             {
@@ -20322,10 +22748,10 @@
           "direct_meters" : null,
           "action_ids" : [21, 19],
           "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
             "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng131",
-            "FabricIngress.bng_ingress.upstream.term_enabled_v4" : null
+            "FabricIngress.bng_ingress.upstream.term_enabled_v4" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 19,
@@ -20336,7 +22762,7 @@
         },
         {
           "name" : "tbl_bng131",
-          "id" : 42,
+          "id" : 45,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 131,
@@ -20350,14 +22776,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [89],
+          "action_ids" : [95],
           "actions" : ["bng131"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng131" : null
+            "bng131" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 89,
+            "action_id" : 95,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20365,7 +22791,7 @@
         },
         {
           "name" : "tbl_bng112",
-          "id" : 43,
+          "id" : 46,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 112,
@@ -20379,14 +22805,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [91],
+          "action_ids" : [97],
           "actions" : ["bng112"],
           "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v6",
           "next_tables" : {
             "bng112" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v6"
           },
           "default_entry" : {
-            "action_id" : 91,
+            "action_id" : 97,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20394,7 +22820,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v6",
-          "id" : 44,
+          "id" : 47,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 109,
@@ -20405,7 +22831,7 @@
             {
               "match_type" : "exact",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id37"],
+              "target" : ["scalars", "userMetadata._bng_line_id51"],
               "mask" : null
             },
             {
@@ -20429,10 +22855,10 @@
           "direct_meters" : null,
           "action_ids" : [22, 20],
           "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v6", "FabricIngress.bng_ingress.upstream.term_disabled"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
             "FabricIngress.bng_ingress.upstream.term_disabled" : "tbl_bng139",
-            "FabricIngress.bng_ingress.upstream.term_enabled_v6" : null
+            "FabricIngress.bng_ingress.upstream.term_enabled_v6" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 20,
@@ -20443,7 +22869,7 @@
         },
         {
           "name" : "tbl_bng139",
-          "id" : 45,
+          "id" : 48,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 139,
@@ -20457,14 +22883,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [90],
+          "action_ids" : [96],
           "actions" : ["bng139"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng139" : null
+            "bng139" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 90,
+            "action_id" : 96,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20472,7 +22898,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.downstream.t_line_session_map",
-          "id" : 46,
+          "id" : 49,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 169,
@@ -20483,7 +22909,7 @@
             {
               "match_type" : "exact",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id37"],
+              "target" : ["scalars", "userMetadata._bng_line_id51"],
               "mask" : null
             }
           ],
@@ -20497,8 +22923,8 @@
           "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_session", "FabricIngress.bng_ingress.downstream.drop"],
           "base_default_next" : null,
           "next_tables" : {
-            "__MISS__" : null,
-            "__HIT__" : "node_77"
+            "__HIT__" : "node_83",
+            "__MISS__" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 3,
@@ -20509,7 +22935,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
-          "id" : 47,
+          "id" : 50,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 194,
@@ -20520,7 +22946,7 @@
             {
               "match_type" : "ternary",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id37"],
+              "target" : ["scalars", "userMetadata._bng_line_id51"],
               "mask" : null
             },
             {
@@ -20550,7 +22976,7 @@
           "direct_meters" : null,
           "action_ids" : [25, 27],
           "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
             "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng238",
             "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng241"
@@ -20564,7 +22990,7 @@
         },
         {
           "name" : "tbl_bng238",
-          "id" : 48,
+          "id" : 51,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 238,
@@ -20578,14 +23004,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [92],
+          "action_ids" : [98],
           "actions" : ["bng238"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng238" : null
+            "bng238" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 92,
+            "action_id" : 98,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20593,7 +23019,7 @@
         },
         {
           "name" : "tbl_bng241",
-          "id" : 49,
+          "id" : 52,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 241,
@@ -20607,14 +23033,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [93],
+          "action_ids" : [99],
           "actions" : ["bng241"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng241" : null
+            "bng241" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 93,
+            "action_id" : 99,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20622,7 +23048,7 @@
         },
         {
           "name" : "FabricIngress.bng_ingress.downstream.t_qos_v6",
-          "id" : 50,
+          "id" : 53,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 210,
@@ -20633,7 +23059,7 @@
             {
               "match_type" : "ternary",
               "name" : "line_id",
-              "target" : ["scalars", "userMetadata._bng_line_id37"],
+              "target" : ["scalars", "userMetadata._bng_line_id51"],
               "mask" : null
             },
             {
@@ -20657,7 +23083,7 @@
           "direct_meters" : null,
           "action_ids" : [26, 28],
           "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
             "FabricIngress.bng_ingress.downstream.qos_prio" : "tbl_bng250",
             "FabricIngress.bng_ingress.downstream.qos_besteff" : "tbl_bng253"
@@ -20671,7 +23097,7 @@
         },
         {
           "name" : "tbl_bng250",
-          "id" : 51,
+          "id" : 54,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 250,
@@ -20685,14 +23111,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [94],
+          "action_ids" : [100],
           "actions" : ["bng250"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng250" : null
+            "bng250" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 94,
+            "action_id" : 100,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -20700,7 +23126,7 @@
         },
         {
           "name" : "tbl_bng253",
-          "id" : 52,
+          "id" : 55,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 253,
@@ -20714,18 +23140,96 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [95],
+          "action_ids" : [101],
           "actions" : ["bng253"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "bng253" : null
+            "bng253" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 95,
+            "action_id" : 101,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
+        },
+        {
+          "name" : "tbl_slicing114",
+          "id" : 56,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [102],
+          "actions" : ["slicing114"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing114" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 102,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 57,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 93,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_id",
+              "target" : ["scalars", "userMetadata._slice_id29"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc",
+              "target" : ["scalars", "userMetadata._tc31"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "userMetadata._packet_color30"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [56, 57],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : null,
+            "FabricIngress.qos.meter_drop" : null
+          },
+          "default_entry" : {
+            "action_id" : 56,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
         }
       ],
       "action_profiles" : [
@@ -20744,23 +23248,23 @@
             "input" : [
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_src_addr19"]
+                "value" : ["scalars", "userMetadata._ipv4_src_addr27"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_dst_addr20"]
+                "value" : ["scalars", "userMetadata._ipv4_dst_addr28"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ip_proto16"]
+                "value" : ["scalars", "userMetadata._ip_proto24"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_sport17"]
+                "value" : ["scalars", "userMetadata._l4_sport25"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_dport18"]
+                "value" : ["scalars", "userMetadata._l4_dport26"]
               }
             ]
           }
@@ -20768,9 +23272,193 @@
       ],
       "conditionals" : [
         {
-          "name" : "node_2",
+          "name" : "node_3",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init32",
+          "false_next" : "node_11"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init37",
+          "false_next" : "node_7"
+        },
+        {
+          "name" : "node_7",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init40",
+          "false_next" : "node_9"
+        },
+        {
+          "name" : "node_9",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init43",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_11",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 46,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init47",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init52",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init55",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init58",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_19",
+          "id" : 8,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 24,
             "column" : 12,
@@ -20788,109 +23476,11 @@
             }
           },
           "true_next" : "tbl_packetio25",
-          "false_next" : "FabricIngress.spgw.interfaces"
+          "false_next" : "FabricIngress.slice_tc_classifier.classifier"
         },
         {
-          "name" : "node_5",
-          "id" : 1,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 255,
-            "column" : 16,
-            "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "==",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_src_iface30"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
-          "false_next" : "node_7"
-        },
-        {
-          "name" : "node_7",
-          "id" : 2,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 259,
-            "column" : 16,
-            "source_fragment" : "hdr.gtpu.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["gtpu", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.uplink_pdrs",
-          "false_next" : "FabricIngress.spgw.downlink_pdrs"
-        },
-        {
-          "name" : "node_10",
-          "id" : 3,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 264,
-            "column" : 16,
-            "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "!=",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_src_iface30"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "tbl_spgw265",
-          "false_next" : "node_12"
-        },
-        {
-          "name" : "node_12",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "fabric.p4",
-            "line" : 68,
-            "column" : 24,
-            "source_fragment" : "fabric_metadata"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap34"]
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
-          "false_next" : "FabricIngress.spgw.fars"
-        },
-        {
-          "name" : "node_16",
-          "id" : 5,
+          "name" : "node_22",
+          "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 112,
@@ -20909,11 +23499,11 @@
             }
           },
           "true_next" : "tbl_filtering113",
-          "false_next" : "node_18"
+          "false_next" : "node_24"
         },
         {
-          "name" : "node_18",
-          "id" : 6,
+          "name" : "node_24",
+          "id" : 10,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 118,
@@ -20932,11 +23522,11 @@
             }
           },
           "true_next" : "tbl_filtering119",
-          "false_next" : "node_20"
+          "false_next" : "node_26"
         },
         {
-          "name" : "node_20",
-          "id" : 7,
+          "name" : "node_26",
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 124,
@@ -20965,11 +23555,11 @@
           "false_next" : "FabricIngress.filtering.ingress_port_vlan"
         },
         {
-          "name" : "node_24",
-          "id" : 8,
+          "name" : "node_30",
+          "id" : 12,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 71,
+            "line" : 76,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding"
           },
@@ -20985,18 +23575,146 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_forwarding10"]
+                    "value" : ["scalars", "userMetadata._skip_forwarding18"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_25",
-          "false_next" : "node_33"
+          "true_next" : "FabricIngress.spgw.interfaces",
+          "false_next" : "node_43"
         },
         {
-          "name" : "node_25",
-          "id" : 9,
+          "name" : "node_32",
+          "id" : 13,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 267,
+            "column" : 16,
+            "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_src_iface42"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x03"
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+          "false_next" : "node_34"
+        },
+        {
+          "name" : "node_34",
+          "id" : 14,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 271,
+            "column" : 16,
+            "source_fragment" : "hdr.gtpu.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["gtpu", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.uplink_pdrs",
+          "false_next" : "FabricIngress.spgw.downlink_pdrs"
+        },
+        {
+          "name" : "node_37",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 276,
+            "column" : 16,
+            "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "!=",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_src_iface42"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x03"
+              }
+            }
+          },
+          "true_next" : "tbl_spgw277",
+          "false_next" : "node_39"
+        },
+        {
+          "name" : "node_39",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 77,
+            "column" : 28,
+            "source_fragment" : "fabric_metadata"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap47"]
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+          "false_next" : "FabricIngress.spgw.fars"
+        },
+        {
+          "name" : "node_43",
+          "id" : 17,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 80,
+            "column" : 12,
+            "source_fragment" : "fabric_metadata.skip_forwarding"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "not",
+              "left" : null,
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["scalars", "userMetadata._skip_forwarding18"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "node_44",
+          "false_next" : "node_52"
+        },
+        {
+          "name" : "node_44",
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 150,
@@ -21009,7 +23727,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -21018,11 +23736,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.bridging",
-          "false_next" : "node_27"
+          "false_next" : "node_46"
         },
         {
-          "name" : "node_27",
-          "id" : 10,
+          "name" : "node_46",
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 151,
@@ -21035,7 +23753,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -21044,11 +23762,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.mpls",
-          "false_next" : "node_29"
+          "false_next" : "node_48"
         },
         {
-          "name" : "node_29",
-          "id" : 11,
+          "name" : "node_48",
+          "id" : 20,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 152,
@@ -21061,7 +23779,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -21070,11 +23788,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v4",
-          "false_next" : "node_31"
+          "false_next" : "node_50"
         },
         {
-          "name" : "node_31",
-          "id" : 12,
+          "name" : "node_50",
+          "id" : 21,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 154,
@@ -21087,7 +23805,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type12"]
+                "value" : ["scalars", "userMetadata._fwd_type20"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -21096,14 +23814,14 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v6",
-          "false_next" : "node_33"
+          "false_next" : "node_52"
         },
         {
-          "name" : "node_33",
-          "id" : 13,
+          "name" : "node_52",
+          "id" : 22,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 74,
+            "line" : 83,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -21119,176 +23837,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next11"]
+                    "value" : ["scalars", "userMetadata._skip_next19"]
                   }
                 }
               }
             }
           },
           "true_next" : "FabricIngress.pre_next.next_mpls",
-          "false_next" : "tbl_acl27"
-        },
-        {
-          "name" : "node_37",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 97,
-            "column" : 12,
-            "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "and",
-              "left" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["gtpu", "$valid$"]
-                  }
-                }
-              },
-              "right" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["inner_ipv4", "$valid$"]
-                  }
-                }
-              }
-            }
-          },
-          "true_next" : "tbl_acl98",
-          "false_next" : "node_43"
-        },
-        {
-          "name" : "node_39",
-          "id" : 15,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 101,
-            "column" : 16,
-            "source_fragment" : "hdr.inner_tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl102",
-          "false_next" : "node_41"
-        },
-        {
-          "name" : "node_41",
-          "id" : 16,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 104,
-            "column" : 23,
-            "source_fragment" : "hdr.inner_udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl105",
           "false_next" : "FabricIngress.acl.acl"
         },
         {
-          "name" : "node_43",
-          "id" : 17,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 108,
-            "column" : 19,
-            "source_fragment" : "hdr.ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv4", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl109",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_45",
-          "id" : 18,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 112,
-            "column" : 16,
-            "source_fragment" : "hdr.tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl113",
-          "false_next" : "node_47"
-        },
-        {
-          "name" : "node_47",
-          "id" : 19,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 115,
-            "column" : 23,
-            "source_fragment" : "hdr.udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl116",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_50",
-          "id" : 20,
+          "name" : "node_56",
+          "id" : 23,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 78,
+            "line" : 87,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -21304,7 +23867,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next11"]
+                    "value" : ["scalars", "userMetadata._skip_next19"]
                   }
                 }
               }
@@ -21314,8 +23877,8 @@
           "false_next" : "FabricIngress.bng_ingress.t_line_map"
         },
         {
-          "name" : "node_55",
-          "id" : 21,
+          "name" : "node_61",
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 30,
@@ -21337,11 +23900,11 @@
             }
           },
           "true_next" : "tbl_port_counter31",
-          "false_next" : "node_57"
+          "false_next" : "node_63"
         },
         {
-          "name" : "node_57",
-          "id" : 22,
+          "name" : "node_63",
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 33,
@@ -21366,11 +23929,11 @@
           "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
         },
         {
-          "name" : "node_61",
-          "id" : 23,
+          "name" : "node_67",
+          "id" : 26,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 86,
+            "line" : 95,
             "column" : 47,
             "source_fragment" : "fabric_metadata"
           },
@@ -21381,7 +23944,7 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._int_meta_sink44"]
+                "value" : ["scalars", "userMetadata._int_meta_sink58"]
               }
             }
           },
@@ -21389,8 +23952,8 @@
           "false_next" : "FabricIngress.bng_ingress.t_line_map"
         },
         {
-          "name" : "node_64",
-          "id" : 24,
+          "name" : "node_70",
+          "id" : 27,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 341,
@@ -21412,8 +23975,8 @@
           "false_next" : "FabricIngress.bng_ingress.downstream.t_line_session_map"
         },
         {
-          "name" : "node_68",
-          "id" : 25,
+          "name" : "node_74",
+          "id" : 28,
           "expression" : {
             "type" : "expression",
             "value" : {
@@ -21432,12 +23995,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_69"
+          "true_next" : "node_75",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_69",
-          "id" : 26,
+          "name" : "node_75",
+          "id" : 29,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 128,
@@ -21456,11 +24019,11 @@
             }
           },
           "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
-          "false_next" : "node_72"
+          "false_next" : "node_78"
         },
         {
-          "name" : "node_72",
-          "id" : 27,
+          "name" : "node_78",
+          "id" : 30,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 136,
@@ -21478,12 +24041,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_bng112"
+          "true_next" : "tbl_bng112",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_77",
-          "id" : 28,
+          "name" : "node_83",
+          "id" : 31,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 235,
@@ -21502,11 +24065,11 @@
             }
           },
           "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
-          "false_next" : "node_81"
+          "false_next" : "node_87"
         },
         {
-          "name" : "node_81",
-          "id" : 29,
+          "name" : "node_87",
+          "id" : 32,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 247,
@@ -21524,8 +24087,8 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v6"
+          "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v6",
+          "false_next" : "tbl_slicing114"
         }
       ]
     },
@@ -21534,15 +24097,15 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 96,
+        "line" : 105,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
-      "init_table" : "node_87",
+      "init_table" : "node_95",
       "tables" : [
         {
           "name" : "tbl_packetio41",
-          "id" : 53,
+          "id" : 58,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 41,
@@ -21556,14 +24119,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [148],
+          "action_ids" : [159],
           "actions" : ["packetio41"],
-          "base_default_next" : "node_89",
+          "base_default_next" : "node_97",
           "next_tables" : {
-            "packetio41" : "node_89"
+            "packetio41" : "node_97"
           },
           "default_entry" : {
-            "action_id" : 148,
+            "action_id" : 159,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21571,7 +24134,7 @@
         },
         {
           "name" : "tbl_packetio44",
-          "id" : 54,
+          "id" : 59,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 44,
@@ -21585,14 +24148,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [149],
+          "action_ids" : [160],
           "actions" : ["packetio44"],
-          "base_default_next" : "node_91",
+          "base_default_next" : "node_99",
           "next_tables" : {
-            "packetio44" : "node_91"
+            "packetio44" : "node_99"
           },
           "default_entry" : {
-            "action_id" : 149,
+            "action_id" : 160,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21600,7 +24163,7 @@
         },
         {
           "name" : "tbl_next283",
-          "id" : 55,
+          "id" : 60,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 283,
@@ -21614,14 +24177,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [150],
+          "action_ids" : [161],
           "actions" : ["next283"],
-          "base_default_next" : "node_93",
+          "base_default_next" : "node_101",
           "next_tables" : {
-            "next283" : "node_93"
+            "next283" : "node_101"
           },
           "default_entry" : {
-            "action_id" : 150,
+            "action_id" : 161,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21629,7 +24192,7 @@
         },
         {
           "name" : "tbl_egress_next_pop_mpls_if_present",
-          "id" : 56,
+          "id" : 61,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -21643,14 +24206,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [140],
+          "action_ids" : [148],
           "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
-          "base_default_next" : "node_97",
+          "base_default_next" : "node_105",
           "next_tables" : {
-            "FabricEgress.egress_next.pop_mpls_if_present" : "node_97"
+            "FabricEgress.egress_next.pop_mpls_if_present" : "node_105"
           },
           "default_entry" : {
-            "action_id" : 140,
+            "action_id" : 148,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21658,7 +24221,7 @@
         },
         {
           "name" : "tbl_egress_next_set_mpls",
-          "id" : 57,
+          "id" : 62,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 289,
@@ -21672,14 +24235,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [141],
+          "action_ids" : [149],
           "actions" : ["FabricEgress.egress_next.set_mpls"],
-          "base_default_next" : "node_97",
+          "base_default_next" : "node_105",
           "next_tables" : {
-            "FabricEgress.egress_next.set_mpls" : "node_97"
+            "FabricEgress.egress_next.set_mpls" : "node_105"
           },
           "default_entry" : {
-            "action_id" : 141,
+            "action_id" : 149,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21687,7 +24250,7 @@
         },
         {
           "name" : "tbl_egress_next_push_outer_vlan",
-          "id" : 58,
+          "id" : 63,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 295,
@@ -21701,14 +24264,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [142],
+          "action_ids" : [150],
           "actions" : ["FabricEgress.egress_next.push_outer_vlan"],
           "base_default_next" : "tbl_egress_next_push_inner_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.push_outer_vlan" : "tbl_egress_next_push_inner_vlan"
           },
           "default_entry" : {
-            "action_id" : 142,
+            "action_id" : 150,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21716,7 +24279,7 @@
         },
         {
           "name" : "tbl_egress_next_push_inner_vlan",
-          "id" : 59,
+          "id" : 64,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 296,
@@ -21730,14 +24293,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [143],
+          "action_ids" : [151],
           "actions" : ["FabricEgress.egress_next.push_inner_vlan"],
-          "base_default_next" : "node_102",
+          "base_default_next" : "node_110",
           "next_tables" : {
-            "FabricEgress.egress_next.push_inner_vlan" : "node_102"
+            "FabricEgress.egress_next.push_inner_vlan" : "node_110"
           },
           "default_entry" : {
-            "action_id" : 143,
+            "action_id" : 151,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21745,7 +24308,7 @@
         },
         {
           "name" : "tbl_next299",
-          "id" : 60,
+          "id" : 65,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 299,
@@ -21759,14 +24322,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [151],
+          "action_ids" : [162],
           "actions" : ["next299"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "next299" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 151,
+            "action_id" : 162,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21774,7 +24337,7 @@
         },
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 61,
+          "id" : 66,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 265,
@@ -21785,7 +24348,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -21801,16 +24364,16 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [144, 145, 146],
+          "action_ids" : [152, 153, 154],
           "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
-          "base_default_next" : "node_102",
+          "base_default_next" : "node_110",
           "next_tables" : {
-            "FabricEgress.egress_next.push_vlan" : "node_102",
-            "FabricEgress.egress_next.pop_vlan" : "node_102",
-            "FabricEgress.egress_next.drop" : "node_102"
+            "FabricEgress.egress_next.push_vlan" : "node_110",
+            "FabricEgress.egress_next.pop_vlan" : "node_110",
+            "FabricEgress.egress_next.drop" : "node_110"
           },
           "default_entry" : {
-            "action_id" : 146,
+            "action_id" : 154,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21818,7 +24381,7 @@
         },
         {
           "name" : "tbl_next309",
-          "id" : 62,
+          "id" : 67,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 309,
@@ -21832,14 +24395,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [153],
+          "action_ids" : [164],
           "actions" : ["next309"],
-          "base_default_next" : "node_104",
+          "base_default_next" : "node_112",
           "next_tables" : {
-            "next309" : "node_104"
+            "next309" : "node_112"
           },
           "default_entry" : {
-            "action_id" : 153,
+            "action_id" : 164,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21847,7 +24410,7 @@
         },
         {
           "name" : "tbl_next310",
-          "id" : 63,
+          "id" : 68,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -21861,14 +24424,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [152],
+          "action_ids" : [163],
           "actions" : ["next310"],
-          "base_default_next" : "node_114",
+          "base_default_next" : "node_122",
           "next_tables" : {
-            "next310" : "node_114"
+            "next310" : "node_122"
           },
           "default_entry" : {
-            "action_id" : 152,
+            "action_id" : 163,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21876,7 +24439,7 @@
         },
         {
           "name" : "tbl_next313",
-          "id" : 64,
+          "id" : 69,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 313,
@@ -21890,14 +24453,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [155],
+          "action_ids" : [166],
           "actions" : ["next313"],
-          "base_default_next" : "node_108",
+          "base_default_next" : "node_116",
           "next_tables" : {
-            "next313" : "node_108"
+            "next313" : "node_116"
           },
           "default_entry" : {
-            "action_id" : 155,
+            "action_id" : 166,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21905,7 +24468,7 @@
         },
         {
           "name" : "tbl_next314",
-          "id" : 65,
+          "id" : 70,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -21919,14 +24482,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [154],
+          "action_ids" : [165],
           "actions" : ["next314"],
-          "base_default_next" : "node_114",
+          "base_default_next" : "node_122",
           "next_tables" : {
-            "next314" : "node_114"
+            "next314" : "node_122"
           },
           "default_entry" : {
-            "action_id" : 154,
+            "action_id" : 165,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21934,7 +24497,7 @@
         },
         {
           "name" : "tbl_next318",
-          "id" : 66,
+          "id" : 71,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 318,
@@ -21948,14 +24511,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [157],
+          "action_ids" : [168],
           "actions" : ["next318"],
-          "base_default_next" : "node_112",
+          "base_default_next" : "node_120",
           "next_tables" : {
-            "next318" : "node_112"
+            "next318" : "node_120"
           },
           "default_entry" : {
-            "action_id" : 157,
+            "action_id" : 168,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21963,7 +24526,7 @@
         },
         {
           "name" : "tbl_next319",
-          "id" : 67,
+          "id" : 72,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 319,
@@ -21977,14 +24540,43 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [156],
+          "action_ids" : [167],
           "actions" : ["next319"],
-          "base_default_next" : "node_114",
+          "base_default_next" : "node_122",
           "next_tables" : {
-            "next319" : "node_114"
+            "next319" : "node_122"
           },
           "default_entry" : {
-            "action_id" : 156,
+            "action_id" : 167,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_spgw_gtpu_encap_qfi",
+          "id" : 73,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 371,
+            "column" : 20,
+            "source_fragment" : "gtpu_encap_qfi()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [158],
+          "actions" : ["FabricEgress.spgw.gtpu_encap_qfi"],
+          "base_default_next" : "node_127",
+          "next_tables" : {
+            "FabricEgress.spgw.gtpu_encap_qfi" : "node_127"
+          },
+          "default_entry" : {
+            "action_id" : 158,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -21992,11 +24584,11 @@
         },
         {
           "name" : "tbl_spgw_gtpu_encap",
-          "id" : 68,
+          "id" : 74,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 339,
-            "column" : 16,
+            "line" : 373,
+            "column" : 20,
             "source_fragment" : "gtpu_encap()"
           },
           "key" : [],
@@ -22006,25 +24598,25 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [147],
+          "action_ids" : [157],
           "actions" : ["FabricEgress.spgw.gtpu_encap"],
-          "base_default_next" : "node_117",
+          "base_default_next" : "node_127",
           "next_tables" : {
-            "FabricEgress.spgw.gtpu_encap" : "node_117"
+            "FabricEgress.spgw.gtpu_encap" : "node_127"
           },
           "default_entry" : {
-            "action_id" : 147,
+            "action_id" : 157,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "tbl_spgw342",
-          "id" : 69,
+          "name" : "tbl_spgw377",
+          "id" : 75,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 342,
+            "line" : 377,
             "column" : 16,
             "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           },
@@ -22035,14 +24627,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [158],
-          "actions" : ["spgw342"],
-          "base_default_next" : "node_119",
+          "action_ids" : [169],
+          "actions" : ["spgw377"],
+          "base_default_next" : "node_129",
           "next_tables" : {
-            "spgw342" : "node_119"
+            "spgw377" : "node_129"
           },
           "default_entry" : {
-            "action_id" : 158,
+            "action_id" : 169,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22050,7 +24642,7 @@
         },
         {
           "name" : "tbl_bng_egress_downstream_encap_v4",
-          "id" : 70,
+          "id" : 76,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 297,
@@ -22064,14 +24656,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [101],
+          "action_ids" : [109],
           "actions" : ["FabricEgress.bng_egress.downstream.encap_v4"],
-          "base_default_next" : "node_124",
+          "base_default_next" : "node_134",
           "next_tables" : {
-            "FabricEgress.bng_egress.downstream.encap_v4" : "node_124"
+            "FabricEgress.bng_egress.downstream.encap_v4" : "node_134"
           },
           "default_entry" : {
-            "action_id" : 101,
+            "action_id" : 109,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22079,7 +24671,7 @@
         },
         {
           "name" : "tbl_bng_egress_downstream_encap_v6",
-          "id" : 71,
+          "id" : 77,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 302,
@@ -22093,14 +24685,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [102],
+          "action_ids" : [110],
           "actions" : ["FabricEgress.bng_egress.downstream.encap_v6"],
-          "base_default_next" : "node_124",
+          "base_default_next" : "node_134",
           "next_tables" : {
-            "FabricEgress.bng_egress.downstream.encap_v6" : "node_124"
+            "FabricEgress.bng_egress.downstream.encap_v6" : "node_134"
           },
           "default_entry" : {
-            "action_id" : 102,
+            "action_id" : 110,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22108,7 +24700,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
-          "id" : 72,
+          "id" : 78,
           "source_info" : {
             "filename" : "include/int/int_source.p4",
             "line" : 66,
@@ -22131,13 +24723,13 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "userMetadata._l4_sport17"],
+              "target" : ["scalars", "userMetadata._l4_sport25"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "userMetadata._l4_dport18"],
+              "target" : ["scalars", "userMetadata._l4_dport26"],
               "mask" : null
             }
           ],
@@ -22147,15 +24739,15 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [103, 96],
+          "action_ids" : [111, 103],
           "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
-          "base_default_next" : "node_127",
+          "base_default_next" : "node_137",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_127",
-            "nop" : "node_127"
+            "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_137",
+            "nop" : "node_137"
           },
           "default_entry" : {
-            "action_id" : 96,
+            "action_id" : 103,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22163,7 +24755,7 @@
         },
         {
           "name" : "tbl_act",
-          "id" : 73,
+          "id" : 79,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -22171,14 +24763,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [159],
+          "action_ids" : [170],
           "actions" : ["act"],
           "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
           "next_tables" : {
             "act" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
           },
           "default_entry" : {
-            "action_id" : 159,
+            "action_id" : 170,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22186,7 +24778,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
-          "id" : 74,
+          "id" : 80,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 315,
@@ -22207,15 +24799,15 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [104, 97],
+          "action_ids" : [112, 104],
           "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
-          "base_default_next" : "node_130",
+          "base_default_next" : "node_140",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_130",
-            "nop" : "node_130"
+            "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_140",
+            "nop" : "node_140"
           },
           "default_entry" : {
-            "action_id" : 97,
+            "action_id" : 104,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22223,7 +24815,7 @@
         },
         {
           "name" : "tbl_int_transit420",
-          "id" : 75,
+          "id" : 81,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 420,
@@ -22237,14 +24829,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [160],
+          "action_ids" : [171],
           "actions" : ["int_transit420"],
-          "base_default_next" : "node_132",
+          "base_default_next" : "node_142",
           "next_tables" : {
-            "int_transit420" : "node_132"
+            "int_transit420" : "node_142"
           },
           "default_entry" : {
-            "action_id" : 160,
+            "action_id" : 171,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22252,7 +24844,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
-          "id" : 76,
+          "id" : 82,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 331,
@@ -22273,7 +24865,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 99],
+          "action_ids" : [113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 107],
           "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" : {
@@ -22296,7 +24888,7 @@
             "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
           },
           "default_entry" : {
-            "action_id" : 99,
+            "action_id" : 107,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -22316,7 +24908,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 105,
+                "action_id" : 113,
                 "action_data" : []
               },
               "priority" : 1
@@ -22335,7 +24927,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 106,
+                "action_id" : 114,
                 "action_data" : []
               },
               "priority" : 2
@@ -22354,7 +24946,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 107,
+                "action_id" : 115,
                 "action_data" : []
               },
               "priority" : 3
@@ -22373,7 +24965,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 108,
+                "action_id" : 116,
                 "action_data" : []
               },
               "priority" : 4
@@ -22392,7 +24984,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 109,
+                "action_id" : 117,
                 "action_data" : []
               },
               "priority" : 5
@@ -22411,7 +25003,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 110,
+                "action_id" : 118,
                 "action_data" : []
               },
               "priority" : 6
@@ -22430,7 +25022,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 111,
+                "action_id" : 119,
                 "action_data" : []
               },
               "priority" : 7
@@ -22449,7 +25041,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 112,
+                "action_id" : 120,
                 "action_data" : []
               },
               "priority" : 8
@@ -22468,7 +25060,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 113,
+                "action_id" : 121,
                 "action_data" : []
               },
               "priority" : 9
@@ -22487,7 +25079,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 114,
+                "action_id" : 122,
                 "action_data" : []
               },
               "priority" : 10
@@ -22506,7 +25098,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 115,
+                "action_id" : 123,
                 "action_data" : []
               },
               "priority" : 11
@@ -22525,7 +25117,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 116,
+                "action_id" : 124,
                 "action_data" : []
               },
               "priority" : 12
@@ -22544,7 +25136,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 117,
+                "action_id" : 125,
                 "action_data" : []
               },
               "priority" : 13
@@ -22563,7 +25155,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 118,
+                "action_id" : 126,
                 "action_data" : []
               },
               "priority" : 14
@@ -22582,7 +25174,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 119,
+                "action_id" : 127,
                 "action_data" : []
               },
               "priority" : 15
@@ -22601,7 +25193,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 120,
+                "action_id" : 128,
                 "action_data" : []
               },
               "priority" : 16
@@ -22610,7 +25202,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
-          "id" : 77,
+          "id" : 83,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 375,
@@ -22631,7 +25223,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 100],
+          "action_ids" : [129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 108],
           "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_int_transit425",
           "next_tables" : {
@@ -22654,7 +25246,7 @@
             "NoAction" : "tbl_int_transit425"
           },
           "default_entry" : {
-            "action_id" : 100,
+            "action_id" : 108,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -22674,7 +25266,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 121,
+                "action_id" : 129,
                 "action_data" : []
               },
               "priority" : 1
@@ -22693,7 +25285,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 122,
+                "action_id" : 130,
                 "action_data" : []
               },
               "priority" : 2
@@ -22712,7 +25304,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 123,
+                "action_id" : 131,
                 "action_data" : []
               },
               "priority" : 3
@@ -22731,7 +25323,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 124,
+                "action_id" : 132,
                 "action_data" : []
               },
               "priority" : 4
@@ -22750,7 +25342,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 125,
+                "action_id" : 133,
                 "action_data" : []
               },
               "priority" : 5
@@ -22769,7 +25361,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 126,
+                "action_id" : 134,
                 "action_data" : []
               },
               "priority" : 6
@@ -22788,7 +25380,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 127,
+                "action_id" : 135,
                 "action_data" : []
               },
               "priority" : 7
@@ -22807,7 +25399,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 128,
+                "action_id" : 136,
                 "action_data" : []
               },
               "priority" : 8
@@ -22826,7 +25418,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 129,
+                "action_id" : 137,
                 "action_data" : []
               },
               "priority" : 9
@@ -22845,7 +25437,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 130,
+                "action_id" : 138,
                 "action_data" : []
               },
               "priority" : 10
@@ -22864,7 +25456,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 131,
+                "action_id" : 139,
                 "action_data" : []
               },
               "priority" : 11
@@ -22883,7 +25475,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 132,
+                "action_id" : 140,
                 "action_data" : []
               },
               "priority" : 12
@@ -22902,7 +25494,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 133,
+                "action_id" : 141,
                 "action_data" : []
               },
               "priority" : 13
@@ -22921,7 +25513,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 134,
+                "action_id" : 142,
                 "action_data" : []
               },
               "priority" : 14
@@ -22940,7 +25532,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 135,
+                "action_id" : 143,
                 "action_data" : []
               },
               "priority" : 15
@@ -22959,7 +25551,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 136,
+                "action_id" : 144,
                 "action_data" : []
               },
               "priority" : 16
@@ -22968,7 +25560,7 @@
         },
         {
           "name" : "tbl_int_transit425",
-          "id" : 78,
+          "id" : 84,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 425,
@@ -22982,14 +25574,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [162],
+          "action_ids" : [173],
           "actions" : ["int_transit425"],
-          "base_default_next" : "node_136",
+          "base_default_next" : "node_146",
           "next_tables" : {
-            "int_transit425" : "node_136"
+            "int_transit425" : "node_146"
           },
           "default_entry" : {
-            "action_id" : 162,
+            "action_id" : 173,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -22997,7 +25589,7 @@
         },
         {
           "name" : "tbl_int_transit428",
-          "id" : 79,
+          "id" : 85,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 428,
@@ -23011,14 +25603,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [161],
+          "action_ids" : [172],
           "actions" : ["int_transit428"],
-          "base_default_next" : "node_138",
+          "base_default_next" : "node_148",
           "next_tables" : {
-            "int_transit428" : "node_138"
+            "int_transit428" : "node_148"
           },
           "default_entry" : {
-            "action_id" : 161,
+            "action_id" : 172,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -23026,7 +25618,7 @@
         },
         {
           "name" : "tbl_int_transit431",
-          "id" : 80,
+          "id" : 86,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 431,
@@ -23040,14 +25632,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [163],
+          "action_ids" : [174],
           "actions" : ["int_transit431"],
-          "base_default_next" : "node_140",
+          "base_default_next" : "node_150",
           "next_tables" : {
-            "int_transit431" : "node_140"
+            "int_transit431" : "node_150"
           },
           "default_entry" : {
-            "action_id" : 163,
+            "action_id" : 174,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -23055,7 +25647,7 @@
         },
         {
           "name" : "tbl_int_transit434",
-          "id" : 81,
+          "id" : 87,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 434,
@@ -23069,14 +25661,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [164],
+          "action_ids" : [175],
           "actions" : ["int_transit434"],
-          "base_default_next" : "node_142",
+          "base_default_next" : "node_152",
           "next_tables" : {
-            "int_transit434" : "node_142"
+            "int_transit434" : "node_152"
           },
           "default_entry" : {
-            "action_id" : 164,
+            "action_id" : 175,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -23084,7 +25676,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
-          "id" : 82,
+          "id" : 88,
           "source_info" : {
             "filename" : "include/int/int_report.p4",
             "line" : 87,
@@ -23098,15 +25690,15 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [137, 98],
+          "action_ids" : [145, 105],
           "actions" : ["FabricEgress.process_int_main.process_int_report.do_report_encapsulation", "nop"],
-          "base_default_next" : "node_144",
+          "base_default_next" : "node_154",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_144",
-            "nop" : "node_144"
+            "FabricEgress.process_int_main.process_int_report.do_report_encapsulation" : "node_154",
+            "nop" : "node_154"
           },
           "default_entry" : {
-            "action_id" : 98,
+            "action_id" : 105,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -23114,7 +25706,7 @@
         },
         {
           "name" : "tbl_process_int_main_process_int_sink_restore_header",
-          "id" : 83,
+          "id" : 89,
           "source_info" : {
             "filename" : "include/int/int_sink.p4",
             "line" : 53,
@@ -23128,14 +25720,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [138],
+          "action_ids" : [146],
           "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_main.process_int_sink.restore_header" : "tbl_process_int_main_process_int_sink_int_sink"
           },
           "default_entry" : {
-            "action_id" : 138,
+            "action_id" : 146,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -23143,7 +25735,7 @@
         },
         {
           "name" : "tbl_process_int_main_process_int_sink_int_sink",
-          "id" : 84,
+          "id" : 90,
           "source_info" : {
             "filename" : "include/int/int_sink.p4",
             "line" : 54,
@@ -23157,14 +25749,138 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [139],
+          "action_ids" : [147],
           "actions" : ["FabricEgress.process_int_main.process_int_sink.int_sink"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_sink.int_sink" : null
+            "FabricEgress.process_int_main.process_int_sink.int_sink" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 139,
+            "action_id" : 147,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing126",
+          "id" : 91,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [178],
+          "actions" : ["slicing126"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 178,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 92,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 138,
+            "column" : 10,
+            "source_fragment" : "rewriter"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [155, 156, 106],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__MISS__" : null,
+            "__HIT__" : "node_159"
+          },
+          "default_entry" : {
+            "action_id" : 106,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing155",
+          "id" : 93,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 155,
+            "column" : 30,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [176],
+          "actions" : ["slicing155"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing155" : null
+          },
+          "default_entry" : {
+            "action_id" : 176,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing159",
+          "id" : 94,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [177],
+          "actions" : ["slicing159"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing159" : null
+          },
+          "default_entry" : {
+            "action_id" : 177,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -23174,11 +25890,11 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_87",
-          "id" : 30,
+          "name" : "node_95",
+          "id" : 33,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 108,
+            "line" : 118,
             "column" : 33,
             "source_fragment" : "fabric_metadata"
           },
@@ -23189,16 +25905,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._is_controller_packet_out15"]
+                "value" : ["scalars", "userMetadata._is_controller_packet_out23"]
               }
             }
           },
           "true_next" : "tbl_packetio41",
-          "false_next" : "node_89"
+          "false_next" : "node_97"
         },
         {
-          "name" : "node_89",
-          "id" : 31,
+          "name" : "node_97",
+          "id" : 34,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 43,
@@ -23220,11 +25936,11 @@
             }
           },
           "true_next" : "tbl_packetio44",
-          "false_next" : "node_91"
+          "false_next" : "node_99"
         },
         {
-          "name" : "node_91",
-          "id" : 32,
+          "name" : "node_99",
+          "id" : 35,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 281,
@@ -23242,7 +25958,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._is_multicast14"]
+                    "value" : ["scalars", "userMetadata._is_multicast22"]
                   }
                 }
               },
@@ -23263,11 +25979,11 @@
             }
           },
           "true_next" : "tbl_next283",
-          "false_next" : "node_93"
+          "false_next" : "node_101"
         },
         {
-          "name" : "node_93",
-          "id" : 33,
+          "name" : "node_101",
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 286,
@@ -23280,7 +25996,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._mpls_label8"]
+                "value" : ["scalars", "userMetadata._mpls_label16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -23288,12 +26004,12 @@
               }
             }
           },
-          "true_next" : "node_94",
+          "true_next" : "node_102",
           "false_next" : "tbl_egress_next_set_mpls"
         },
         {
-          "name" : "node_94",
-          "id" : 34,
+          "name" : "node_102",
+          "id" : 37,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -23312,14 +26028,14 @@
             }
           },
           "true_next" : "tbl_egress_next_pop_mpls_if_present",
-          "false_next" : "node_97"
+          "false_next" : "node_105"
         },
         {
-          "name" : "node_97",
-          "id" : 35,
+          "name" : "node_105",
+          "id" : 38,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 109,
+            "line" : 119,
             "column" : 31,
             "source_fragment" : "fabric_metadata"
           },
@@ -23330,7 +26046,7 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._push_double_vlan4"]
+                "value" : ["scalars", "userMetadata._push_double_vlan12"]
               }
             }
           },
@@ -23338,8 +26054,8 @@
           "false_next" : "tbl_next299"
         },
         {
-          "name" : "node_102",
-          "id" : 36,
+          "name" : "node_110",
+          "id" : 39,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 308,
@@ -23358,11 +26074,11 @@
             }
           },
           "true_next" : "tbl_next309",
-          "false_next" : "node_106"
+          "false_next" : "node_114"
         },
         {
-          "name" : "node_104",
-          "id" : 37,
+          "name" : "node_112",
+          "id" : 40,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -23384,11 +26100,11 @@
             }
           },
           "true_next" : "tbl_next310",
-          "false_next" : "node_114"
+          "false_next" : "node_122"
         },
         {
-          "name" : "node_106",
-          "id" : 38,
+          "name" : "node_114",
+          "id" : 41,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 312,
@@ -23416,7 +26132,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._fwd_type12"]
+                    "value" : ["scalars", "userMetadata._fwd_type20"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -23427,11 +26143,11 @@
             }
           },
           "true_next" : "tbl_next313",
-          "false_next" : "node_110"
+          "false_next" : "node_118"
         },
         {
-          "name" : "node_108",
-          "id" : 39,
+          "name" : "node_116",
+          "id" : 42,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -23453,11 +26169,11 @@
             }
           },
           "true_next" : "tbl_next314",
-          "false_next" : "node_114"
+          "false_next" : "node_122"
         },
         {
-          "name" : "node_110",
-          "id" : 40,
+          "name" : "node_118",
+          "id" : 43,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 317,
@@ -23485,7 +26201,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._fwd_type12"]
+                    "value" : ["scalars", "userMetadata._fwd_type20"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -23496,11 +26212,11 @@
             }
           },
           "true_next" : "tbl_next318",
-          "false_next" : "node_114"
+          "false_next" : "node_122"
         },
         {
-          "name" : "node_112",
-          "id" : 41,
+          "name" : "node_120",
+          "id" : 44,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 319,
@@ -23522,14 +26238,14 @@
             }
           },
           "true_next" : "tbl_next319",
-          "false_next" : "node_114"
+          "false_next" : "node_122"
         },
         {
-          "name" : "node_114",
-          "id" : 42,
+          "name" : "node_122",
+          "id" : 45,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 337,
+            "line" : 368,
             "column" : 12,
             "source_fragment" : "fabric_md.spgw.skip_spgw"
           },
@@ -23545,21 +26261,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._spgw_skip_spgw31"]
+                    "value" : ["scalars", "userMetadata._spgw_skip_spgw44"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_115",
-          "false_next" : "node_119"
+          "true_next" : "node_123",
+          "false_next" : "node_129"
         },
         {
-          "name" : "node_115",
-          "id" : 43,
+          "name" : "node_123",
+          "id" : 46,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 111,
+            "line" : 121,
             "column" : 24,
             "source_fragment" : "fabric_metadata"
           },
@@ -23570,19 +26286,42 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap33"]
+                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap46"]
               }
             }
           },
-          "true_next" : "tbl_spgw_gtpu_encap",
-          "false_next" : "node_117"
+          "true_next" : "node_124",
+          "false_next" : "node_127"
         },
         {
-          "name" : "node_117",
-          "id" : 44,
+          "name" : "node_124",
+          "id" : 47,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 121,
+            "column" : 24,
+            "source_fragment" : "fabric_metadata"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_needs_qfi_push49"]
+              }
+            }
+          },
+          "true_next" : "tbl_spgw_gtpu_encap_qfi",
+          "false_next" : "tbl_spgw_gtpu_encap"
+        },
+        {
+          "name" : "node_127",
+          "id" : 48,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 341,
+            "line" : 376,
             "column" : 16,
             "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
           },
@@ -23598,18 +26337,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr35"]
+                    "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr48"]
                   }
                 }
               }
             }
           },
-          "true_next" : "tbl_spgw342",
-          "false_next" : "node_119"
+          "true_next" : "tbl_spgw377",
+          "false_next" : "node_129"
         },
         {
-          "name" : "node_119",
-          "id" : 45,
+          "name" : "node_129",
+          "id" : 49,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 358,
@@ -23622,7 +26361,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._bng_type36"]
+                "value" : ["scalars", "userMetadata._bng_type50"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -23630,12 +26369,12 @@
               }
             }
           },
-          "true_next" : "node_120",
-          "false_next" : "node_124"
+          "true_next" : "node_130",
+          "false_next" : "node_134"
         },
         {
-          "name" : "node_120",
-          "id" : 46,
+          "name" : "node_130",
+          "id" : 50,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 296,
@@ -23654,11 +26393,11 @@
             }
           },
           "true_next" : "tbl_bng_egress_downstream_encap_v4",
-          "false_next" : "node_122"
+          "false_next" : "node_132"
         },
         {
-          "name" : "node_122",
-          "id" : 47,
+          "name" : "node_132",
+          "id" : 51,
           "source_info" : {
             "filename" : "include/bng.p4",
             "line" : 301,
@@ -23677,11 +26416,11 @@
             }
           },
           "true_next" : "tbl_bng_egress_downstream_encap_v6",
-          "false_next" : "node_124"
+          "false_next" : "node_134"
         },
         {
-          "name" : "node_124",
-          "id" : 48,
+          "name" : "node_134",
+          "id" : 52,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 102,
@@ -23756,15 +26495,15 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_125"
+          "true_next" : "node_135",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_125",
-          "id" : 49,
+          "name" : "node_135",
+          "id" : 53,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 117,
+            "line" : 127,
             "column" : 36,
             "source_fragment" : "fabric_metadata"
           },
@@ -23775,16 +26514,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._int_meta_source42"]
+                "value" : ["scalars", "userMetadata._int_meta_source56"]
               }
             }
           },
           "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
-          "false_next" : "node_127"
+          "false_next" : "node_137"
         },
         {
-          "name" : "node_127",
-          "id" : 50,
+          "name" : "node_137",
+          "id" : 54,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 110,
@@ -23802,12 +26541,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_act"
+          "true_next" : "tbl_act",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_130",
-          "id" : 51,
+          "name" : "node_140",
+          "id" : 55,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 419,
@@ -23826,18 +26565,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._int_meta_transit43"]
+                    "value" : ["scalars", "userMetadata._int_meta_transit57"]
                   }
                 }
               }
             }
           },
           "true_next" : "tbl_int_transit420",
-          "false_next" : "node_132"
+          "false_next" : "node_142"
         },
         {
-          "name" : "node_132",
-          "id" : 52,
+          "name" : "node_142",
+          "id" : 56,
           "expression" : {
             "type" : "expression",
             "value" : {
@@ -23857,11 +26596,11 @@
             }
           },
           "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
-          "false_next" : "node_142"
+          "false_next" : "node_152"
         },
         {
-          "name" : "node_136",
-          "id" : 53,
+          "name" : "node_146",
+          "id" : 57,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 427,
@@ -23880,11 +26619,11 @@
             }
           },
           "true_next" : "tbl_int_transit428",
-          "false_next" : "node_138"
+          "false_next" : "node_148"
         },
         {
-          "name" : "node_138",
-          "id" : 54,
+          "name" : "node_148",
+          "id" : 58,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 430,
@@ -23903,11 +26642,11 @@
             }
           },
           "true_next" : "tbl_int_transit431",
-          "false_next" : "node_140"
+          "false_next" : "node_150"
         },
         {
-          "name" : "node_140",
-          "id" : 55,
+          "name" : "node_150",
+          "id" : 59,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 433,
@@ -23926,11 +26665,11 @@
             }
           },
           "true_next" : "tbl_int_transit434",
-          "false_next" : "node_142"
+          "false_next" : "node_152"
         },
         {
-          "name" : "node_142",
-          "id" : 56,
+          "name" : "node_152",
+          "id" : 60,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 115,
@@ -23952,14 +26691,14 @@
             }
           },
           "true_next" : "FabricEgress.process_int_main.process_int_report.tb_generate_report",
-          "false_next" : "node_144"
+          "false_next" : "node_154"
         },
         {
-          "name" : "node_144",
-          "id" : 57,
+          "name" : "node_154",
+          "id" : 61,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 117,
+            "line" : 127,
             "column" : 36,
             "source_fragment" : "fabric_metadata"
           },
@@ -23970,12 +26709,58 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._int_meta_sink44"]
+                "value" : ["scalars", "userMetadata._int_meta_sink58"]
+              }
+            }
+          },
+          "true_next" : "tbl_process_int_main_process_int_sink_restore_header",
+          "false_next" : "tbl_slicing126"
+        },
+        {
+          "name" : "node_159",
+          "id" : 62,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 154,
+            "column" : 16,
+            "source_fragment" : "hdr.gtpu_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["gtpu_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_slicing155",
+          "false_next" : "node_161"
+        },
+        {
+          "name" : "node_161",
+          "id" : 63,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 158,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
               }
             }
           },
           "false_next" : null,
-          "true_next" : "tbl_process_int_main_process_int_sink_restore_header"
+          "true_next" : "tbl_slicing159"
         }
       ]
     }
@@ -24012,7 +26797,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 358,
+        "line" : 393,
         "column" : 8,
         "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
       },
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
index ce00771..f38c934 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-full/bmv2/default/p4info.txt
@@ -721,6 +721,92 @@
 }
 tables {
   preamble {
+    id: 34606298
+    name: "FabricIngress.slice_tc_classifier.classifier"
+    alias: "classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23786376
+  }
+  action_refs {
+    id: 25983516
+  }
+  const_default_action_id: 23786376
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "color"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 32116918
+  }
+  action_refs {
+    id: 28214351
+  }
+  const_default_action_id: 32116918
+  direct_resource_ids: 327743278
+  size: 128
+}
+tables {
+  preamble {
     id: 36113154
     name: "FabricIngress.spgw.interfaces"
     alias: "interfaces"
@@ -791,6 +877,18 @@
     bitwidth: 32
     match_type: EXACT
   }
+  match_fields {
+    id: 3
+    name: "has_qfi"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  match_fields {
+    id: 4
+    name: "qfi"
+    bitwidth: 6
+    match_type: EXACT
+  }
   action_refs {
     id: 18504550
   }
@@ -942,6 +1040,32 @@
   direct_resource_ids: 318892680
   size: 1024
 }
+tables {
+  preamble {
+    id: 49970092
+    name: "FabricEgress.dscp_rewriter.rewriter"
+    alias: "rewriter"
+  }
+  match_fields {
+    id: 1
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27951287
+  }
+  action_refs {
+    id: 24120545
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 512
+}
 actions {
   preamble {
     id: 28485346
@@ -1339,6 +1463,49 @@
 }
 actions {
   preamble {
+    id: 23786376
+    name: "FabricIngress.slice_tc_classifier.set_slice_id_tc"
+    alias: "set_slice_id_tc"
+  }
+  params {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+  }
+  params {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25983516
+    name: "FabricIngress.slice_tc_classifier.trust_dscp"
+    alias: "trust_dscp"
+  }
+}
+actions {
+  preamble {
+    id: 32116918
+    name: "FabricIngress.qos.set_queue"
+    alias: "set_queue"
+  }
+  params {
+    id: 1
+    name: "qid"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 28214351
+    name: "FabricIngress.qos.meter_drop"
+    alias: "meter_drop"
+  }
+}
+actions {
+  preamble {
     id: 18186268
     name: "FabricIngress.spgw.load_iface"
     alias: "load_iface"
@@ -1348,6 +1515,11 @@
     name: "src_iface"
     bitwidth: 8
   }
+  params {
+    id: 2
+    name: "slice_id"
+    bitwidth: 4
+  }
 }
 actions {
   preamble {
@@ -1377,6 +1549,11 @@
     name: "needs_gtpu_decap"
     bitwidth: 1
   }
+  params {
+    id: 4
+    name: "tc"
+    bitwidth: 2
+  }
 }
 actions {
   preamble {
@@ -1401,8 +1578,18 @@
   }
   params {
     id: 4
-    name: "qid"
-    bitwidth: 5
+    name: "needs_qfi_push"
+    bitwidth: 1
+  }
+  params {
+    id: 5
+    name: "qfi"
+    bitwidth: 6
+  }
+  params {
+    id: 6
+    name: "tc"
+    bitwidth: 2
   }
 }
 actions {
@@ -1602,6 +1789,20 @@
     alias: "egress_next.drop"
   }
 }
+actions {
+  preamble {
+    id: 27951287
+    name: "FabricEgress.dscp_rewriter.rewrite"
+    alias: "rewrite"
+  }
+}
+actions {
+  preamble {
+    id: 24120545
+    name: "FabricEgress.dscp_rewriter.clear"
+    alias: "clear"
+  }
+}
 action_profiles {
   preamble {
     id: 291115404
@@ -1868,6 +2069,28 @@
 }
 direct_counters {
   preamble {
+    id: 334706097
+    name: "FabricIngress.slice_tc_classifier.classifier_stats"
+    alias: "classifier_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 34606298
+}
+direct_counters {
+  preamble {
+    id: 327743278
+    name: "FabricIngress.qos.queues_stats"
+    alias: "queues_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 36435258
+}
+direct_counters {
+  preamble {
     id: 322470063
     name: "FabricEgress.process_int_main.process_int_source.counter_int_source"
     alias: "counter_int_source"
@@ -1910,6 +2133,17 @@
   }
   size: 8192
 }
+meters {
+  preamble {
+    id: 348573637
+    name: "FabricIngress.qos.slice_tc_meter"
+    alias: "slice_tc_meter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 64
+}
 controller_packet_metadata {
   preamble {
     id: 81826293
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
index 93e5c64..c639b1f 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/bmv2.json
@@ -8,6 +8,7 @@
         ["tmp_2", 3, false],
         ["tmp_4", 8, false],
         ["last_ipv4_dscp_0", 6, false],
+        ["gtpu_ext_len_0", 8, false],
         ["tmp_1", 16, false],
         ["tmp_3", 16, false],
         ["tmp_5", 4, false],
@@ -15,39 +16,48 @@
         ["tmp_7", 64, false],
         ["tmp_8", 32, false],
         ["tmp_9", 32, false],
-        ["acl_ipv4_src", 32, false],
-        ["acl_ipv4_dst", 32, false],
-        ["acl_ip_proto", 8, false],
-        ["acl_l4_sport", 16, false],
-        ["acl_l4_dport", 16, false],
+        ["tmp_10", 32, false],
+        ["dscp_rewriter_tmp_dscp", 6, false],
         ["process_int_main_process_int_transit_hasReturned", 1, false],
-        ["userMetadata._ip_eth_type0", 16, false],
-        ["userMetadata._vlan_id1", 12, false],
-        ["userMetadata._vlan_pri2", 3, false],
-        ["userMetadata._vlan_cfi3", 1, false],
-        ["userMetadata._mpls_label4", 20, false],
-        ["userMetadata._mpls_ttl5", 8, false],
-        ["userMetadata._skip_forwarding6", 1, false],
-        ["userMetadata._skip_next7", 1, false],
-        ["userMetadata._fwd_type8", 3, false],
-        ["userMetadata._next_id9", 32, false],
-        ["userMetadata._is_multicast10", 1, false],
-        ["userMetadata._is_controller_packet_out11", 1, false],
-        ["userMetadata._ip_proto12", 8, false],
-        ["userMetadata._l4_sport13", 16, false],
-        ["userMetadata._l4_dport14", 16, false],
-        ["userMetadata._ipv4_src_addr15", 32, false],
-        ["userMetadata._ipv4_dst_addr16", 32, false],
-        ["userMetadata._int_meta_source17", 1, false],
-        ["userMetadata._int_meta_transit18", 1, false],
-        ["userMetadata._int_meta_sink19", 1, false],
-        ["userMetadata._int_meta_switch_id20", 32, false],
-        ["userMetadata._int_meta_new_words21", 8, false],
-        ["userMetadata._int_meta_new_bytes22", 16, false],
-        ["userMetadata._int_meta_ig_tstamp23", 32, false],
-        ["userMetadata._int_meta_eg_tstamp24", 32, false],
-        ["userMetadata._port_type25", 2, false],
-        ["_padding_0", 1, false]
+        ["userMetadata._lkp_is_ipv40", 1, false],
+        ["userMetadata._lkp_ipv4_src1", 32, false],
+        ["userMetadata._lkp_ipv4_dst2", 32, false],
+        ["userMetadata._lkp_ip_proto3", 8, false],
+        ["userMetadata._lkp_l4_sport4", 16, false],
+        ["userMetadata._lkp_l4_dport5", 16, false],
+        ["userMetadata._lkp_icmp_type6", 8, false],
+        ["userMetadata._lkp_icmp_code7", 8, false],
+        ["userMetadata._ip_eth_type8", 16, false],
+        ["userMetadata._vlan_id9", 12, false],
+        ["userMetadata._vlan_pri10", 3, false],
+        ["userMetadata._vlan_cfi11", 1, false],
+        ["userMetadata._mpls_label12", 20, false],
+        ["userMetadata._mpls_ttl13", 8, false],
+        ["userMetadata._skip_forwarding14", 1, false],
+        ["userMetadata._skip_next15", 1, false],
+        ["userMetadata._fwd_type16", 3, false],
+        ["userMetadata._next_id17", 32, false],
+        ["userMetadata._is_multicast18", 1, false],
+        ["userMetadata._is_controller_packet_out19", 1, false],
+        ["userMetadata._ip_proto20", 8, false],
+        ["userMetadata._l4_sport21", 16, false],
+        ["userMetadata._l4_dport22", 16, false],
+        ["userMetadata._ipv4_src_addr23", 32, false],
+        ["userMetadata._ipv4_dst_addr24", 32, false],
+        ["userMetadata._slice_id25", 4, false],
+        ["userMetadata._packet_color26", 2, false],
+        ["userMetadata._tc27", 2, false],
+        ["userMetadata._dscp28", 6, false],
+        ["userMetadata._int_meta_source29", 1, false],
+        ["userMetadata._int_meta_transit30", 1, false],
+        ["userMetadata._int_meta_sink31", 1, false],
+        ["userMetadata._int_meta_switch_id32", 32, false],
+        ["userMetadata._int_meta_new_words33", 8, false],
+        ["userMetadata._int_meta_new_bytes34", 16, false],
+        ["userMetadata._int_meta_ig_tstamp35", 32, false],
+        ["userMetadata._int_meta_eg_tstamp36", 32, false],
+        ["userMetadata._port_type37", 2, false],
+        ["_padding_0", 4, false]
       ]
     },
     {
@@ -133,9 +143,31 @@
       ]
     },
     {
-      "name" : "ipv4_t",
+      "name" : "gtpu_options_t",
       "id" : 8,
       "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 9,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "ipv4_t",
+      "id" : 10,
+      "fields" : [
         ["version", 4, false],
         ["ihl", 4, false],
         ["dscp", 6, false],
@@ -153,7 +185,7 @@
     },
     {
       "name" : "udp_t",
-      "id" : 9,
+      "id" : 11,
       "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
@@ -163,7 +195,7 @@
     },
     {
       "name" : "tcp_t",
-      "id" : 10,
+      "id" : 12,
       "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
@@ -180,7 +212,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 11,
+      "id" : 13,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -192,7 +224,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 12,
+      "id" : 14,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -200,7 +232,7 @@
     },
     {
       "name" : "intl4_shim_t",
-      "id" : 13,
+      "id" : 15,
       "fields" : [
         ["int_type", 8, false],
         ["rsvd1", 8, false],
@@ -210,7 +242,7 @@
     },
     {
       "name" : "int_header_t",
-      "id" : 14,
+      "id" : 16,
       "fields" : [
         ["ver", 2, false],
         ["rep", 2, false],
@@ -229,14 +261,14 @@
     },
     {
       "name" : "int_switch_id_t",
-      "id" : 15,
+      "id" : 17,
       "fields" : [
         ["switch_id", 32, false]
       ]
     },
     {
       "name" : "int_port_ids_t",
-      "id" : 16,
+      "id" : 18,
       "fields" : [
         ["ingress_port_id", 16, false],
         ["egress_port_id", 16, false]
@@ -244,14 +276,14 @@
     },
     {
       "name" : "int_hop_latency_t",
-      "id" : 17,
+      "id" : 19,
       "fields" : [
         ["hop_latency", 32, false]
       ]
     },
     {
       "name" : "int_q_occupancy_t",
-      "id" : 18,
+      "id" : 20,
       "fields" : [
         ["q_id", 8, false],
         ["q_occupancy", 24, false]
@@ -259,21 +291,21 @@
     },
     {
       "name" : "int_ingress_tstamp_t",
-      "id" : 19,
+      "id" : 21,
       "fields" : [
         ["ingress_tstamp", 32, false]
       ]
     },
     {
       "name" : "int_egress_tstamp_t",
-      "id" : 20,
+      "id" : 22,
       "fields" : [
         ["egress_tstamp", 32, false]
       ]
     },
     {
       "name" : "int_q_congestion_t",
-      "id" : 21,
+      "id" : 23,
       "fields" : [
         ["q_id", 8, false],
         ["q_congestion", 24, false]
@@ -281,14 +313,14 @@
     },
     {
       "name" : "int_egress_port_tx_util_t",
-      "id" : 22,
+      "id" : 24,
       "fields" : [
         ["egress_port_tx_util", 32, false]
       ]
     },
     {
       "name" : "intl4_tail_t",
-      "id" : 23,
+      "id" : 25,
       "fields" : [
         ["next_proto", 8, false],
         ["dest_port", 16, false],
@@ -369,148 +401,162 @@
       "pi_omit" : true
     },
     {
-      "name" : "inner_ipv4",
+      "name" : "gtpu_options",
       "id" : 10,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu_ext_psc",
+      "id" : 11,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "inner_ipv4",
+      "id" : 12,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_udp",
-      "id" : 11,
+      "id" : 13,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_tcp",
-      "id" : 12,
+      "id" : 14,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_icmp",
-      "id" : 13,
+      "id" : 15,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "ipv4",
-      "id" : 14,
+      "id" : 16,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "tcp",
-      "id" : 15,
+      "id" : 17,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "udp",
-      "id" : 16,
+      "id" : 18,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "icmp",
-      "id" : 17,
+      "id" : 19,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_out",
-      "id" : 18,
+      "id" : 20,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 19,
+      "id" : 21,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "intl4_shim",
-      "id" : 20,
+      "id" : 22,
       "header_type" : "intl4_shim_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_header",
-      "id" : 21,
+      "id" : 23,
       "header_type" : "int_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_switch_id",
-      "id" : 22,
+      "id" : 24,
       "header_type" : "int_switch_id_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_port_ids",
-      "id" : 23,
+      "id" : 25,
       "header_type" : "int_port_ids_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_hop_latency",
-      "id" : 24,
+      "id" : 26,
       "header_type" : "int_hop_latency_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_q_occupancy",
-      "id" : 25,
+      "id" : 27,
       "header_type" : "int_q_occupancy_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_ingress_tstamp",
-      "id" : 26,
+      "id" : 28,
       "header_type" : "int_ingress_tstamp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_egress_tstamp",
-      "id" : 27,
+      "id" : 29,
       "header_type" : "int_egress_tstamp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_q_congestion",
-      "id" : 28,
+      "id" : 30,
       "header_type" : "int_q_congestion_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_egress_tx_util",
-      "id" : 29,
+      "id" : 31,
       "header_type" : "int_egress_port_tx_util_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "intl4_tail",
-      "id" : 30,
+      "id" : 32,
       "header_type" : "intl4_tail_t",
       "metadata" : false,
       "pi_omit" : true
@@ -526,7 +572,7 @@
       "name" : "fl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 52,
+        "line" : 45,
         "column" : 40,
         "source_fragment" : "{standard_metadata.ingress_port}"
       },
@@ -861,7 +907,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._vlan_id1"]
+                  "value" : ["scalars", "userMetadata._vlan_id9"]
                 },
                 {
                   "type" : "hexstr",
@@ -1047,7 +1093,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_label4"]
+                  "value" : ["scalars", "userMetadata._mpls_label12"]
                 },
                 {
                   "type" : "field",
@@ -1060,7 +1106,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_ttl5"]
+                  "value" : ["scalars", "userMetadata._mpls_ttl13"]
                 },
                 {
                   "type" : "field",
@@ -1121,7 +1167,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_proto12"]
+                  "value" : ["scalars", "userMetadata._ip_proto20"]
                 },
                 {
                   "type" : "field",
@@ -1134,7 +1180,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_eth_type0"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -1147,7 +1193,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+                  "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
                 },
                 {
                   "type" : "field",
@@ -1160,7 +1206,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+                  "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
                 },
                 {
                   "type" : "field",
@@ -1233,7 +1279,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport13"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1246,7 +1292,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport14"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1283,7 +1329,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport13"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1296,7 +1342,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport14"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1884,8 +1930,129 @@
                 }
               ],
               "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
             },
             {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 14,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_options"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "gtpu_ext_len_0"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 8]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8501",
+              "mask" : null,
+              "next_state" : "parse_gtpu_ext_psc"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 15,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_ext_psc"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ext_psc", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 16,
+          "parser_ops" : [
+            {
               "parameters" : [
                 {
                   "type" : "regular",
@@ -1943,7 +2110,7 @@
         },
         {
           "name" : "parse_inner_udp",
-          "id" : 14,
+          "id" : 17,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1967,7 +2134,7 @@
         },
         {
           "name" : "parse_inner_tcp",
-          "id" : 15,
+          "id" : 18,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1991,7 +2158,7 @@
         },
         {
           "name" : "parse_inner_icmp",
-          "id" : 16,
+          "id" : 19,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2015,7 +2182,7 @@
         },
         {
           "name" : "parse_int",
-          "id" : 17,
+          "id" : 20,
           "parser_ops" : [],
           "transitions" : [
             {
@@ -2040,7 +2207,7 @@
         },
         {
           "name" : "parse_intl4_shim",
-          "id" : 18,
+          "id" : 21,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2084,7 +2251,7 @@
         },
         {
           "name" : "parse_int_data",
-          "id" : 19,
+          "id" : 22,
           "parser_ops" : [],
           "transitions" : [
             {
@@ -2098,7 +2265,7 @@
         },
         {
           "name" : "parse_intl4_tail",
-          "id" : 20,
+          "id" : 23,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2130,15 +2297,30 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 285,
+        "line" : 308,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_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", "intl4_tail"],
+      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_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", "intl4_tail"],
       "primitives" : []
     }
   ],
-  "meter_arrays" : [],
+  "meter_arrays" : [
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 78,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
+    }
+  ],
   "counter_arrays" : [
     {
       "name" : "FabricIngress.process_set_source_sink.counter_set_source",
@@ -2231,7 +2413,7 @@
       "binding" : "FabricIngress.acl.acl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 36,
+        "line" : 29,
         "column" : 50,
         "source_fragment" : "acl_counter"
       }
@@ -2273,8 +2455,32 @@
       }
     },
     {
-      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
       "id" : 11,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 32,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 12,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 80,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "id" : 13,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 26,
@@ -2286,7 +2492,7 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 12,
+      "id" : 14,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 27,
@@ -2298,7 +2504,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
-      "id" : 13,
+      "id" : 15,
       "is_direct" : true,
       "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
       "source_info" : {
@@ -2310,7 +2516,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 14,
+      "id" : 16,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
@@ -2512,7 +2718,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_source17"]
+              "value" : ["scalars", "userMetadata._int_meta_source29"]
             },
             {
               "type" : "expression",
@@ -2548,7 +2754,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -2577,7 +2783,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2606,7 +2812,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type25"]
+              "value" : ["scalars", "userMetadata._port_type37"]
             },
             {
               "type" : "hexstr",
@@ -2615,7 +2821,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 119,
+            "line" : 136,
             "column" : 38,
             "source_fragment" : "0x0; ..."
           }
@@ -2637,7 +2843,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type25"]
+              "value" : ["scalars", "userMetadata._port_type37"]
             },
             {
               "type" : "runtime_data",
@@ -2672,7 +2878,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2691,7 +2897,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type25"]
+              "value" : ["scalars", "userMetadata._port_type37"]
             },
             {
               "type" : "runtime_data",
@@ -2722,7 +2928,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._fwd_type8"]
+              "value" : ["scalars", "userMetadata._fwd_type16"]
             },
             {
               "type" : "runtime_data",
@@ -2753,7 +2959,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2784,7 +2990,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "hexstr",
@@ -2803,7 +3009,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2834,7 +3040,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2871,7 +3077,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "runtime_data",
@@ -2902,7 +3108,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2933,7 +3139,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2942,8 +3148,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 39,
-            "column" : 32,
+            "line" : 32,
+            "column" : 26,
             "source_fragment" : "= next_id; ..."
           }
         }
@@ -2968,7 +3174,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 45,
+            "line" : 38,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
           }
@@ -2978,7 +3184,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2997,8 +3203,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 46,
-            "column" : 34,
+            "line" : 39,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -3028,7 +3234,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 52,
+            "line" : 45,
             "column" : 8,
             "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
           }
@@ -3050,7 +3256,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 57,
+            "line" : 50,
             "column" : 8,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -3060,7 +3266,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -3079,8 +3285,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 58,
-            "column" : 34,
+            "line" : 51,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -3138,7 +3344,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -3296,7 +3502,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_multicast10"]
+              "value" : ["scalars", "userMetadata._is_multicast18"]
             },
             {
               "type" : "expression",
@@ -3323,8 +3529,811 @@
       ]
     },
     {
-      "name" : "packetio25",
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
       "id" : 30,
+      "runtime_data" : [
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 35,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 36,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 31,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["ipv4", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 44,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["ipv4", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 45,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 32,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 33,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 89,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_metadata)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init37",
+      "id" : 34,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init40",
+      "id" : 35,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init43",
+      "id" : 36,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init32",
+      "id" : 37,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init52",
+      "id" : 38,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init55",
+      "id" : 39,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init58",
+      "id" : 40,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init47",
+      "id" : 41,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init23",
+      "id" : 42,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "packetio25",
+      "id" : 43,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3366,7 +4375,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
+              "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
             },
             {
               "type" : "expression",
@@ -3404,7 +4413,7 @@
     },
     {
       "name" : "filtering113",
-      "id" : 31,
+      "id" : 44,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3412,7 +4421,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "field",
@@ -3431,7 +4440,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             },
             {
               "type" : "field",
@@ -3450,7 +4459,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             },
             {
               "type" : "field",
@@ -3468,7 +4477,7 @@
     },
     {
       "name" : "filtering129",
-      "id" : 32,
+      "id" : 45,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3476,7 +4485,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl5"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             },
             {
               "type" : "hexstr",
@@ -3493,418 +4502,8 @@
       ]
     },
     {
-      "name" : "acl102",
-      "id" : 33,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 103,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl105",
-      "id" : 34,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 106,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl98",
-      "id" : 35,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 99,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 100,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl113",
-      "id" : 36,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 114,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl116",
-      "id" : 37,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 117,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl109",
-      "id" : 38,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 110,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 111,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl27",
-      "id" : 39,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 28,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 29,
-            "column" : 4,
-            "source_fragment" : "bit<8> ip_proto = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 30,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_sport = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 31,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_dport = 0;"
-          }
-        }
-      ]
-    },
-    {
       "name" : "port_counter31",
-      "id" : 40,
+      "id" : 46,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3962,7 +4561,7 @@
     },
     {
       "name" : "port_counter34",
-      "id" : 41,
+      "id" : 47,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4019,32 +4618,242 @@
       ]
     },
     {
+      "name" : "slicing114",
+      "id" : 48,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "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" : ["scalars", "userMetadata._slice_id25"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x3f"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x2"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._tc27"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x07"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 37,
+            "source_fragment" : "(bit<32>) slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._packet_color26"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "<<",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._slice_id25"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["scalars", "userMetadata._tc27"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 110,
+            "column" : 26,
+            "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
+          }
+        }
+      ]
+    },
+    {
       "name" : "nop",
-      "id" : 42,
+      "id" : 49,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "nop",
-      "id" : 43,
+      "id" : 50,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 51,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "NoAction",
-      "id" : 44,
+      "id" : 52,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "NoAction",
-      "id" : 45,
+      "id" : 53,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
-      "id" : 46,
+      "id" : 54,
       "runtime_data" : [
         {
           "name" : "max_hop",
@@ -4112,7 +4921,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 169,
+            "line" : 186,
             "column" : 36,
             "source_fragment" : "4; ..."
           }
@@ -4403,7 +5212,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
+              "value" : ["scalars", "userMetadata._l4_dport22"]
             }
           ],
           "source_info" : {
@@ -4530,7 +5339,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 165,
+            "line" : 182,
             "column" : 24,
             "source_fragment" : "0x1; ..."
           }
@@ -4539,7 +5348,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
-      "id" : 47,
+      "id" : 55,
       "runtime_data" : [
         {
           "name" : "switch_id",
@@ -4552,7 +5361,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_transit18"]
+              "value" : ["scalars", "userMetadata._int_meta_transit30"]
             },
             {
               "type" : "expression",
@@ -4581,7 +5390,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
             },
             {
               "type" : "runtime_data",
@@ -4599,1490 +5408,12 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
-      "id" : 48,
+      "id" : 56,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
-      "id" : 49,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
-      "id" : 50,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_hop_latency"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 54,
-            "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" : 55,
-            "column" : 8,
-            "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
-      "id" : 51,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 54,
-            "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" : 55,
-            "column" : 8,
-            "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
-      "id" : 52,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_port_ids"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
-      "id" : 53,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
-      "id" : 54,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_hop_latency"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 54,
-            "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" : 55,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
-      "id" : 55,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 54,
-            "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" : 55,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x03"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 109,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x000c"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 110,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
-      "id" : 56,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
       "id" : 57,
       "runtime_data" : [],
       "primitives" : [
@@ -6153,45 +5484,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -6205,11 +5502,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -6223,9 +5520,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -6233,7 +5530,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -6247,11 +5544,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -6265,15 +5562,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
       "id" : 58,
       "runtime_data" : [],
       "primitives" : [
@@ -6312,45 +5609,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -6364,11 +5627,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -6382,9 +5645,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -6392,7 +5655,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -6406,11 +5669,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -6424,15 +5687,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
       "id" : 59,
       "runtime_data" : [],
       "primitives" : [
@@ -6537,45 +5800,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -6589,11 +5818,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -6607,9 +5836,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -6617,7 +5846,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -6631,11 +5860,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -6649,15 +5878,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
       "id" : 60,
       "runtime_data" : [],
       "primitives" : [
@@ -6741,45 +5970,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -6793,11 +5988,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -6811,9 +6006,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -6821,7 +6016,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -6835,11 +6030,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -6853,15 +6048,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
       "id" : 61,
       "runtime_data" : [],
       "primitives" : [
@@ -7011,45 +6206,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -7063,11 +6224,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -7081,9 +6242,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -7091,7 +6252,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -7105,11 +6266,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -7123,15 +6284,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
       "id" : 62,
       "runtime_data" : [],
       "primitives" : [
@@ -7249,45 +6410,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -7301,11 +6428,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -7319,9 +6446,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -7329,7 +6456,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -7343,11 +6470,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -7361,15 +6488,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
       "id" : 63,
       "runtime_data" : [],
       "primitives" : [
@@ -7553,45 +6680,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id20"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -7605,1226 +6698,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x04"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 115,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 4; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0010"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 116,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 16; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
-      "id" : 64,
-      "runtime_data" : [],
-      "primitives" : []
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
-      "id" : 65,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "column" : 8,
-            "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
-      "id" : 66,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_congestion"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 80,
-            "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" : 82,
-            "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" : 83,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
-      "id" : 67,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 80,
-            "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" : 82,
-            "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" : 83,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
-      "id" : 68,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
-      "id" : 69,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
-      "id" : 70,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_congestion"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 80,
-            "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" : 82,
-            "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" : 83,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
-      "id" : 71,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 80,
-            "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" : 82,
-            "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" : 83,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words21"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -8852,7 +6726,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -8866,7 +6740,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -8892,8 +6766,8 @@
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
-      "id" : 72,
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
+      "id" : 64,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -8901,14 +6775,14 @@
           "parameters" : [
             {
               "type" : "header",
-              "value" : "int_ingress_tstamp"
+              "value" : "int_switch_id"
             }
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 68,
+            "line" : 41,
             "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+            "source_fragment" : "hdr.int_switch_id.setValid()"
           }
         },
         {
@@ -8916,18 +6790,18 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+              "value" : ["int_switch_id", "switch_id"]
             },
             {
               "type" : "field",
-              "value" : ["standard_metadata", "enq_timestamp"]
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
             }
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 69,
+            "line" : 42,
             "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
           }
         },
         {
@@ -8935,7 +6809,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -8949,7 +6823,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -8977,7 +6851,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -8991,7 +6865,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -9017,7 +6891,1604 @@
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
+      "id" : 65,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+      "id" : 66,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_hop_latency"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 54,
+            "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" : 55,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+      "id" : 67,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 54,
+            "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" : 55,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+      "id" : 68,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_port_ids"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+      "id" : 69,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+      "id" : 70,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_hop_latency"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 54,
+            "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" : 55,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+      "id" : 71,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 54,
+            "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" : 55,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x04"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 115,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 4; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0010"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 116,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 16; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
+      "id" : 72,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
       "id" : 73,
       "runtime_data" : [],
       "primitives" : [
@@ -9056,45 +8527,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -9108,11 +8545,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -9126,9 +8563,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -9136,7 +8573,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -9150,11 +8587,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -9168,15 +8605,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
       "id" : 74,
       "runtime_data" : [],
       "primitives" : [
@@ -9234,45 +8671,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -9286,11 +8689,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -9304,9 +8707,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -9314,7 +8717,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -9328,11 +8731,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -9346,15 +8749,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
       "id" : 75,
       "runtime_data" : [],
       "primitives" : [
@@ -9446,45 +8849,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -9498,11 +8867,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -9516,9 +8885,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -9526,7 +8895,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -9540,11 +8909,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -9558,15 +8927,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
       "id" : 76,
       "runtime_data" : [],
       "primitives" : [
@@ -9628,45 +8997,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -9680,11 +9015,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -9698,9 +9033,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -9708,7 +9043,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -9722,11 +9057,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -9740,15 +9075,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
       "id" : 77,
       "runtime_data" : [],
       "primitives" : [
@@ -9844,45 +9179,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -9896,11 +9197,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -9914,9 +9215,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -9924,7 +9225,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -9938,11 +9239,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -9956,15 +9257,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
       "id" : 78,
       "runtime_data" : [],
       "primitives" : [
@@ -10079,45 +9380,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -10131,11 +9398,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -10149,9 +9416,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -10159,7 +9426,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -10173,11 +9440,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -10191,15 +9458,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
       "id" : 79,
       "runtime_data" : [],
       "primitives" : [
@@ -10348,6 +9615,97 @@
           }
         },
         {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
+      "id" : 80,
+      "runtime_data" : [],
+      "primitives" : [
+        {
           "op" : "add_header",
           "parameters" : [
             {
@@ -10386,7 +9744,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
             },
             {
               "type" : "expression",
@@ -10400,7 +9758,1458 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 97,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0004"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 98,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+      "id" : 81,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+      "id" : 82,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_congestion"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+      "id" : 83,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+      "id" : 84,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tstamp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+      "id" : 85,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+      "id" : 86,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_congestion"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+      "id" : 87,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -10428,7 +11237,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
             },
             {
               "type" : "expression",
@@ -10442,7 +11251,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -10469,7 +11278,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_mpls_if_present",
-      "id" : 80,
+      "id" : 88,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10496,7 +11305,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
             }
           ],
           "source_info" : {
@@ -10510,7 +11319,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.set_mpls",
-      "id" : 81,
+      "id" : 89,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10537,7 +11346,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             }
           ],
           "source_info" : {
@@ -10594,7 +11403,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl5"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             }
           ],
           "source_info" : {
@@ -10618,7 +11427,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 130,
+            "line" : 147,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
           }
@@ -10627,7 +11436,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_vlan",
-      "id" : 82,
+      "id" : 90,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10654,7 +11463,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -10673,7 +11482,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -10697,7 +11506,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -10711,7 +11520,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -10725,7 +11534,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 83,
+      "id" : 91,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10747,7 +11556,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.drop",
-      "id" : 84,
+      "id" : 92,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10768,8 +11577,40 @@
       ]
     },
     {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 93,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 94,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 135,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio41",
-      "id" : 85,
+      "id" : 95,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10786,7 +11627,7 @@
     },
     {
       "name" : "packetio44",
-      "id" : 86,
+      "id" : 96,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10837,7 +11678,7 @@
     },
     {
       "name" : "next283",
-      "id" : 87,
+      "id" : 97,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10859,7 +11700,7 @@
     },
     {
       "name" : "next310",
-      "id" : 88,
+      "id" : 98,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10881,7 +11722,7 @@
     },
     {
       "name" : "next309",
-      "id" : 89,
+      "id" : 99,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10930,7 +11771,7 @@
     },
     {
       "name" : "next314",
-      "id" : 90,
+      "id" : 100,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -10952,7 +11793,7 @@
     },
     {
       "name" : "next313",
-      "id" : 91,
+      "id" : 101,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11001,7 +11842,7 @@
     },
     {
       "name" : "act",
-      "id" : 92,
+      "id" : 102,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11031,7 +11872,7 @@
     },
     {
       "name" : "int_transit420",
-      "id" : 93,
+      "id" : 103,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11067,7 +11908,7 @@
     },
     {
       "name" : "int_transit428",
-      "id" : 94,
+      "id" : 104,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11093,7 +11934,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       }
                     }
                   },
@@ -11116,7 +11957,7 @@
     },
     {
       "name" : "int_transit425",
-      "id" : 95,
+      "id" : 105,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11165,7 +12006,7 @@
     },
     {
       "name" : "int_transit431",
-      "id" : 96,
+      "id" : 106,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11191,7 +12032,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes22"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes34"]
                       }
                     }
                   },
@@ -11214,7 +12055,7 @@
     },
     {
       "name" : "int_transit434",
-      "id" : 97,
+      "id" : 107,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -11240,7 +12081,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words21"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words33"]
                       }
                     }
                   },
@@ -11260,6 +12101,58 @@
           }
         }
       ]
+    },
+    {
+      "name" : "slicing159",
+      "id" : 108,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing126",
+      "id" : 109,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
+          }
+        }
+      ]
     }
   ],
   "pipelines" : [
@@ -11268,16 +12161,277 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 47,
+        "line" : 49,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
-      "init_table" : "node_2",
+      "init_table" : "tbl_lookup_md_init23",
       "tables" : [
         {
-          "name" : "tbl_packetio25",
+          "name" : "tbl_lookup_md_init23",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [42],
+          "actions" : ["lookup_md_init23"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "lookup_md_init23" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 42,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init32",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [37],
+          "actions" : ["lookup_md_init32"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "lookup_md_init32" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 37,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init37",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [34],
+          "actions" : ["lookup_md_init37"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init37" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 34,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init40",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [35],
+          "actions" : ["lookup_md_init40"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init40" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 35,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init43",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [36],
+          "actions" : ["lookup_md_init43"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init43" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 36,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init47",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [41],
+          "actions" : ["lookup_md_init47"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init47" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 41,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init52",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [38],
+          "actions" : ["lookup_md_init52"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init52" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 38,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init55",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [39],
+          "actions" : ["lookup_md_init55"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init55" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 39,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init58",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [40],
+          "actions" : ["lookup_md_init58"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init58" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 40,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio25",
+          "id" : 9,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 42,
@@ -11290,22 +12444,89 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [30],
+          "action_ids" : [43],
           "actions" : ["packetio25"],
-          "base_default_next" : "node_4",
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
           "next_tables" : {
-            "packetio25" : "node_4"
+            "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
           },
           "default_entry" : {
-            "action_id" : 30,
+            "action_id" : 43,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 49,
+            "column" : 10,
+            "source_fragment" : "classifier"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["standard_metadata", "ingress_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [30, 31],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
+          "base_default_next" : "node_22",
+          "next_tables" : {
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
+          },
+          "default_entry" : {
+            "action_id" : 30,
+            "action_const" : true,
+            "action_data" : ["0x0", "0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
           "name" : "tbl_filtering113",
-          "id" : 1,
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
@@ -11319,14 +12540,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [31],
+          "action_ids" : [44],
           "actions" : ["filtering113"],
-          "base_default_next" : "node_6",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "filtering113" : "node_6"
+            "filtering113" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 31,
+            "action_id" : 44,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -11334,7 +12555,7 @@
         },
         {
           "name" : "tbl_filtering129",
-          "id" : 2,
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
@@ -11348,14 +12569,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [32],
+          "action_ids" : [45],
           "actions" : ["filtering129"],
           "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
           "next_tables" : {
             "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
           },
           "default_entry" : {
-            "action_id" : 32,
+            "action_id" : 45,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -11363,7 +12584,7 @@
         },
         {
           "name" : "FabricIngress.filtering.ingress_port_vlan",
-          "id" : 3,
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 55,
@@ -11413,7 +12634,7 @@
         },
         {
           "name" : "FabricIngress.filtering.fwd_classifier",
-          "id" : 4,
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 94,
@@ -11442,7 +12663,7 @@
             {
               "match_type" : "exact",
               "name" : "ip_eth_type",
-              "target" : ["scalars", "userMetadata._ip_eth_type0"],
+              "target" : ["scalars", "userMetadata._ip_eth_type8"],
               "mask" : null
             }
           ],
@@ -11454,9 +12675,9 @@
           "direct_meters" : null,
           "action_ids" : [13],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
-          "base_default_next" : "node_10",
+          "base_default_next" : "node_28",
           "next_tables" : {
-            "FabricIngress.filtering.set_forwarding_type" : "node_10"
+            "FabricIngress.filtering.set_forwarding_type" : "node_28"
           },
           "default_entry" : {
             "action_id" : 13,
@@ -11467,7 +12688,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.bridging",
-          "id" : 5,
+          "id" : 15,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 46,
@@ -11478,7 +12699,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -11496,10 +12717,10 @@
           "direct_meters" : null,
           "action_ids" : [14, 1],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
-          "base_default_next" : "node_17",
+          "base_default_next" : "node_35",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_bridging" : "node_17",
-            "nop" : "node_17"
+            "FabricIngress.forwarding.set_next_id_bridging" : "node_35",
+            "nop" : "node_35"
           },
           "default_entry" : {
             "action_id" : 1,
@@ -11510,7 +12731,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.mpls",
-          "id" : 6,
+          "id" : 16,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 71,
@@ -11521,7 +12742,7 @@
             {
               "match_type" : "exact",
               "name" : "mpls_label",
-              "target" : ["scalars", "userMetadata._mpls_label4"],
+              "target" : ["scalars", "userMetadata._mpls_label12"],
               "mask" : null
             }
           ],
@@ -11533,10 +12754,10 @@
           "direct_meters" : null,
           "action_ids" : [15, 2],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
-          "base_default_next" : "node_17",
+          "base_default_next" : "node_35",
           "next_tables" : {
-            "FabricIngress.forwarding.pop_mpls_and_next" : "node_17",
-            "nop" : "node_17"
+            "FabricIngress.forwarding.pop_mpls_and_next" : "node_35",
+            "nop" : "node_35"
           },
           "default_entry" : {
             "action_id" : 2,
@@ -11547,7 +12768,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v4",
-          "id" : 7,
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 108,
@@ -11558,7 +12779,7 @@
             {
               "match_type" : "lpm",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
+              "target" : ["scalars", "userMetadata._ipv4_dst_addr24"],
               "mask" : null
             }
           ],
@@ -11570,11 +12791,11 @@
           "direct_meters" : null,
           "action_ids" : [16, 17, 3],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
-          "base_default_next" : "node_17",
+          "base_default_next" : "node_35",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_17",
-            "FabricIngress.forwarding.nop_routing_v4" : "node_17",
-            "nop" : "node_17"
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_35",
+            "FabricIngress.forwarding.nop_routing_v4" : "node_35",
+            "nop" : "node_35"
           },
           "default_entry" : {
             "action_id" : 3,
@@ -11585,7 +12806,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_mpls",
-          "id" : 8,
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 36,
@@ -11596,7 +12817,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -11622,7 +12843,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_vlan",
-          "id" : 9,
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 73,
@@ -11633,7 +12854,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -11645,10 +12866,10 @@
           "direct_meters" : null,
           "action_ids" : [19, 5],
           "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
-          "base_default_next" : "tbl_acl27",
+          "base_default_next" : "FabricIngress.acl.acl",
           "next_tables" : {
-            "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
-            "nop" : "tbl_acl27"
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
           },
           "default_entry" : {
             "action_id" : 5,
@@ -11658,214 +12879,11 @@
           }
         },
         {
-          "name" : "tbl_acl27",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [39],
-          "actions" : ["acl27"],
-          "base_default_next" : "node_21",
-          "next_tables" : {
-            "acl27" : "node_21"
-          },
-          "default_entry" : {
-            "action_id" : 39,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl98",
-          "id" : 11,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 21,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [35],
-          "actions" : ["acl98"],
-          "base_default_next" : "node_23",
-          "next_tables" : {
-            "acl98" : "node_23"
-          },
-          "default_entry" : {
-            "action_id" : 35,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl102",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [33],
-          "actions" : ["acl102"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl102" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 33,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl105",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [34],
-          "actions" : ["acl105"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl105" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 34,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl109",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 21,
-            "source_fragment" : "= hdr.ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [38],
-          "actions" : ["acl109"],
-          "base_default_next" : "node_29",
-          "next_tables" : {
-            "acl109" : "node_29"
-          },
-          "default_entry" : {
-            "action_id" : 38,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl113",
-          "id" : 15,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 25,
-            "source_fragment" : "= hdr.tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [36],
-          "actions" : ["acl113"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl113" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 36,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl116",
-          "id" : 16,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 25,
-            "source_fragment" : "= hdr.udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [37],
-          "actions" : ["acl116"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl116" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 37,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
           "name" : "FabricIngress.acl.acl",
-          "id" : 17,
+          "id" : 20,
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 66,
+            "line" : 59,
             "column" : 10,
             "source_fragment" : "acl"
           },
@@ -11903,19 +12921,19 @@
             {
               "match_type" : "ternary",
               "name" : "ipv4_src",
-              "target" : ["scalars", "acl_ipv4_src"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "acl_ipv4_dst"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ip_proto",
-              "target" : ["scalars", "acl_ip_proto"],
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
               "mask" : null
             },
             {
@@ -11933,19 +12951,19 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "acl_l4_sport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "acl_l4_dport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "port_type",
-              "target" : ["scalars", "userMetadata._port_type25"],
+              "target" : ["scalars", "userMetadata._port_type37"],
               "mask" : null
             }
           ],
@@ -11957,13 +12975,13 @@
           "direct_meters" : null,
           "action_ids" : [20, 21, 22, 23, 24],
           "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
-          "base_default_next" : "node_34",
+          "base_default_next" : "node_39",
           "next_tables" : {
-            "FabricIngress.acl.set_next_id_acl" : "node_34",
-            "FabricIngress.acl.punt_to_cpu" : "node_34",
-            "FabricIngress.acl.set_clone_session_id" : "node_34",
-            "FabricIngress.acl.drop" : "node_34",
-            "FabricIngress.acl.nop_acl" : "node_34"
+            "FabricIngress.acl.set_next_id_acl" : "node_39",
+            "FabricIngress.acl.punt_to_cpu" : "node_39",
+            "FabricIngress.acl.set_clone_session_id" : "node_39",
+            "FabricIngress.acl.drop" : "node_39",
+            "FabricIngress.acl.nop_acl" : "node_39"
           },
           "default_entry" : {
             "action_id" : 24,
@@ -11974,7 +12992,7 @@
         },
         {
           "name" : "FabricIngress.next.xconnect",
-          "id" : 18,
+          "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 68,
@@ -11991,7 +13009,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -12018,7 +13036,7 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 19,
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 138,
@@ -12029,7 +13047,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -12051,7 +13069,7 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 20,
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 171,
@@ -12062,7 +13080,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -12074,10 +13092,10 @@
           "direct_meters" : null,
           "action_ids" : [29, 8],
           "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
-          "base_default_next" : "node_38",
+          "base_default_next" : "node_43",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group_id" : "node_38",
-            "nop" : "node_38"
+            "FabricIngress.next.set_mcast_group_id" : "node_43",
+            "nop" : "node_43"
           },
           "default_entry" : {
             "action_id" : 8,
@@ -12088,7 +13106,7 @@
         },
         {
           "name" : "tbl_port_counter31",
-          "id" : 21,
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 31,
@@ -12102,14 +13120,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [40],
+          "action_ids" : [46],
           "actions" : ["port_counter31"],
-          "base_default_next" : "node_40",
+          "base_default_next" : "node_45",
           "next_tables" : {
-            "port_counter31" : "node_40"
+            "port_counter31" : "node_45"
           },
           "default_entry" : {
-            "action_id" : 40,
+            "action_id" : 46,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12117,7 +13135,7 @@
         },
         {
           "name" : "tbl_port_counter34",
-          "id" : 22,
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 34,
@@ -12131,14 +13149,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [41],
+          "action_ids" : [47],
           "actions" : ["port_counter34"],
           "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
           "next_tables" : {
             "port_counter34" : "FabricIngress.process_set_source_sink.tb_set_source"
           },
           "default_entry" : {
-            "action_id" : 41,
+            "action_id" : 47,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12146,7 +13164,7 @@
         },
         {
           "name" : "FabricIngress.process_set_source_sink.tb_set_source",
-          "id" : 23,
+          "id" : 26,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 46,
@@ -12169,10 +13187,10 @@
           "direct_meters" : null,
           "action_ids" : [9, 0],
           "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "nop"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "FabricIngress.process_set_source_sink.int_set_source" : null,
-            "nop" : null
+            "FabricIngress.process_set_source_sink.int_set_source" : "tbl_slicing114",
+            "nop" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 0,
@@ -12180,6 +13198,84 @@
             "action_data" : [],
             "action_entry_const" : true
           }
+        },
+        {
+          "name" : "tbl_slicing114",
+          "id" : 27,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [48],
+          "actions" : ["slicing114"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing114" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 48,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 28,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 93,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_id",
+              "target" : ["scalars", "userMetadata._slice_id25"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc",
+              "target" : ["scalars", "userMetadata._tc27"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "userMetadata._packet_color26"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [32, 33],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : null,
+            "FabricIngress.qos.meter_drop" : null
+          },
+          "default_entry" : {
+            "action_id" : 32,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
         }
       ],
       "action_profiles" : [
@@ -12198,23 +13294,23 @@
             "input" : [
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+                "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+                "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ip_proto12"]
+                "value" : ["scalars", "userMetadata._ip_proto20"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_sport13"]
+                "value" : ["scalars", "userMetadata._l4_sport21"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_dport14"]
+                "value" : ["scalars", "userMetadata._l4_dport22"]
               }
             ]
           }
@@ -12222,9 +13318,193 @@
       ],
       "conditionals" : [
         {
-          "name" : "node_2",
+          "name" : "node_3",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init32",
+          "false_next" : "node_11"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init37",
+          "false_next" : "node_7"
+        },
+        {
+          "name" : "node_7",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init40",
+          "false_next" : "node_9"
+        },
+        {
+          "name" : "node_9",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init43",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_11",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 46,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init47",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init52",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init55",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init58",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_19",
+          "id" : 8,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 24,
             "column" : 12,
@@ -12242,11 +13522,11 @@
             }
           },
           "true_next" : "tbl_packetio25",
-          "false_next" : "node_4"
+          "false_next" : "FabricIngress.slice_tc_classifier.classifier"
         },
         {
-          "name" : "node_4",
-          "id" : 1,
+          "name" : "node_22",
+          "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 112,
@@ -12265,11 +13545,11 @@
             }
           },
           "true_next" : "tbl_filtering113",
-          "false_next" : "node_6"
+          "false_next" : "node_24"
         },
         {
-          "name" : "node_6",
-          "id" : 2,
+          "name" : "node_24",
+          "id" : 10,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 124,
@@ -12298,11 +13578,11 @@
           "false_next" : "FabricIngress.filtering.ingress_port_vlan"
         },
         {
-          "name" : "node_10",
-          "id" : 3,
+          "name" : "node_28",
+          "id" : 11,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 71,
+            "line" : 80,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding"
           },
@@ -12318,18 +13598,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_forwarding6"]
+                    "value" : ["scalars", "userMetadata._skip_forwarding14"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_11",
-          "false_next" : "node_17"
+          "true_next" : "node_29",
+          "false_next" : "node_35"
         },
         {
-          "name" : "node_11",
-          "id" : 4,
+          "name" : "node_29",
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 150,
@@ -12342,7 +13622,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -12351,11 +13631,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.bridging",
-          "false_next" : "node_13"
+          "false_next" : "node_31"
         },
         {
-          "name" : "node_13",
-          "id" : 5,
+          "name" : "node_31",
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 151,
@@ -12368,7 +13648,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -12377,11 +13657,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.mpls",
-          "false_next" : "node_15"
+          "false_next" : "node_33"
         },
         {
-          "name" : "node_15",
-          "id" : 6,
+          "name" : "node_33",
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 152,
@@ -12394,7 +13674,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -12403,14 +13683,14 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v4",
-          "false_next" : "node_17"
+          "false_next" : "node_35"
         },
         {
-          "name" : "node_17",
-          "id" : 7,
+          "name" : "node_35",
+          "id" : 15,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 74,
+            "line" : 83,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -12426,176 +13706,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next7"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
           "true_next" : "FabricIngress.pre_next.next_mpls",
-          "false_next" : "tbl_acl27"
-        },
-        {
-          "name" : "node_21",
-          "id" : 8,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 97,
-            "column" : 12,
-            "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "and",
-              "left" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["gtpu", "$valid$"]
-                  }
-                }
-              },
-              "right" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["inner_ipv4", "$valid$"]
-                  }
-                }
-              }
-            }
-          },
-          "true_next" : "tbl_acl98",
-          "false_next" : "node_27"
-        },
-        {
-          "name" : "node_23",
-          "id" : 9,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 101,
-            "column" : 16,
-            "source_fragment" : "hdr.inner_tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl102",
-          "false_next" : "node_25"
-        },
-        {
-          "name" : "node_25",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 104,
-            "column" : 23,
-            "source_fragment" : "hdr.inner_udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl105",
           "false_next" : "FabricIngress.acl.acl"
         },
         {
-          "name" : "node_27",
-          "id" : 11,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 108,
-            "column" : 19,
-            "source_fragment" : "hdr.ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv4", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl109",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_29",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 112,
-            "column" : 16,
-            "source_fragment" : "hdr.tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl113",
-          "false_next" : "node_31"
-        },
-        {
-          "name" : "node_31",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 115,
-            "column" : 23,
-            "source_fragment" : "hdr.udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl116",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_34",
-          "id" : 14,
+          "name" : "node_39",
+          "id" : 16,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 78,
+            "line" : 87,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -12611,18 +13736,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next7"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.next.xconnect"
+          "true_next" : "FabricIngress.next.xconnect",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_38",
-          "id" : 15,
+          "name" : "node_43",
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 30,
@@ -12644,11 +13769,11 @@
             }
           },
           "true_next" : "tbl_port_counter31",
-          "false_next" : "node_40"
+          "false_next" : "node_45"
         },
         {
-          "name" : "node_40",
-          "id" : 16,
+          "name" : "node_45",
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 33,
@@ -12679,15 +13804,15 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 96,
+        "line" : 105,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
-      "init_table" : "node_45",
+      "init_table" : "node_52",
       "tables" : [
         {
           "name" : "tbl_packetio41",
-          "id" : 24,
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 41,
@@ -12701,14 +13826,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [85],
+          "action_ids" : [95],
           "actions" : ["packetio41"],
-          "base_default_next" : "node_47",
+          "base_default_next" : "node_54",
           "next_tables" : {
-            "packetio41" : "node_47"
+            "packetio41" : "node_54"
           },
           "default_entry" : {
-            "action_id" : 85,
+            "action_id" : 95,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12716,7 +13841,7 @@
         },
         {
           "name" : "tbl_packetio44",
-          "id" : 25,
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 44,
@@ -12730,14 +13855,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [86],
+          "action_ids" : [96],
           "actions" : ["packetio44"],
-          "base_default_next" : "node_49",
+          "base_default_next" : "node_56",
           "next_tables" : {
-            "packetio44" : "node_49"
+            "packetio44" : "node_56"
           },
           "default_entry" : {
-            "action_id" : 86,
+            "action_id" : 96,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12745,7 +13870,7 @@
         },
         {
           "name" : "tbl_next283",
-          "id" : 26,
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 283,
@@ -12759,14 +13884,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [87],
+          "action_ids" : [97],
           "actions" : ["next283"],
-          "base_default_next" : "node_51",
+          "base_default_next" : "node_58",
           "next_tables" : {
-            "next283" : "node_51"
+            "next283" : "node_58"
           },
           "default_entry" : {
-            "action_id" : 87,
+            "action_id" : 97,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12774,7 +13899,7 @@
         },
         {
           "name" : "tbl_egress_next_pop_mpls_if_present",
-          "id" : 27,
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -12788,14 +13913,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [80],
+          "action_ids" : [88],
           "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 80,
+            "action_id" : 88,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12803,7 +13928,7 @@
         },
         {
           "name" : "tbl_egress_next_set_mpls",
-          "id" : 28,
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 289,
@@ -12817,14 +13942,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [81],
+          "action_ids" : [89],
           "actions" : ["FabricEgress.egress_next.set_mpls"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 81,
+            "action_id" : 89,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12832,7 +13957,7 @@
         },
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 29,
+          "id" : 34,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 265,
@@ -12843,7 +13968,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -12859,16 +13984,16 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [82, 83, 84],
+          "action_ids" : [90, 91, 92],
           "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
-          "base_default_next" : "node_56",
+          "base_default_next" : "node_63",
           "next_tables" : {
-            "FabricEgress.egress_next.push_vlan" : "node_56",
-            "FabricEgress.egress_next.pop_vlan" : "node_56",
-            "FabricEgress.egress_next.drop" : "node_56"
+            "FabricEgress.egress_next.push_vlan" : "node_63",
+            "FabricEgress.egress_next.pop_vlan" : "node_63",
+            "FabricEgress.egress_next.drop" : "node_63"
           },
           "default_entry" : {
-            "action_id" : 84,
+            "action_id" : 92,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12876,7 +14001,7 @@
         },
         {
           "name" : "tbl_next309",
-          "id" : 30,
+          "id" : 35,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 309,
@@ -12890,14 +14015,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [89],
+          "action_ids" : [99],
           "actions" : ["next309"],
-          "base_default_next" : "node_58",
+          "base_default_next" : "node_65",
           "next_tables" : {
-            "next309" : "node_58"
+            "next309" : "node_65"
           },
           "default_entry" : {
-            "action_id" : 89,
+            "action_id" : 99,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12905,7 +14030,7 @@
         },
         {
           "name" : "tbl_next310",
-          "id" : 31,
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -12919,14 +14044,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [88],
+          "action_ids" : [98],
           "actions" : ["next310"],
-          "base_default_next" : "node_64",
+          "base_default_next" : "node_71",
           "next_tables" : {
-            "next310" : "node_64"
+            "next310" : "node_71"
           },
           "default_entry" : {
-            "action_id" : 88,
+            "action_id" : 98,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12934,7 +14059,7 @@
         },
         {
           "name" : "tbl_next313",
-          "id" : 32,
+          "id" : 37,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 313,
@@ -12948,14 +14073,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [91],
+          "action_ids" : [101],
           "actions" : ["next313"],
-          "base_default_next" : "node_62",
+          "base_default_next" : "node_69",
           "next_tables" : {
-            "next313" : "node_62"
+            "next313" : "node_69"
           },
           "default_entry" : {
-            "action_id" : 91,
+            "action_id" : 101,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12963,7 +14088,7 @@
         },
         {
           "name" : "tbl_next314",
-          "id" : 33,
+          "id" : 38,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -12977,14 +14102,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [90],
+          "action_ids" : [100],
           "actions" : ["next314"],
-          "base_default_next" : "node_64",
+          "base_default_next" : "node_71",
           "next_tables" : {
-            "next314" : "node_64"
+            "next314" : "node_71"
           },
           "default_entry" : {
-            "action_id" : 90,
+            "action_id" : 100,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -12992,7 +14117,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
-          "id" : 34,
+          "id" : 39,
           "source_info" : {
             "filename" : "include/int/int_source.p4",
             "line" : 66,
@@ -13015,13 +14140,13 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "userMetadata._l4_sport13"],
+              "target" : ["scalars", "userMetadata._l4_sport21"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "userMetadata._l4_dport14"],
+              "target" : ["scalars", "userMetadata._l4_dport22"],
               "mask" : null
             }
           ],
@@ -13031,15 +14156,15 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [46, 42],
+          "action_ids" : [54, 49],
           "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
-          "base_default_next" : "node_67",
+          "base_default_next" : "node_74",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_67",
-            "nop" : "node_67"
+            "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_74",
+            "nop" : "node_74"
           },
           "default_entry" : {
-            "action_id" : 42,
+            "action_id" : 49,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13047,7 +14172,7 @@
         },
         {
           "name" : "tbl_act",
-          "id" : 35,
+          "id" : 40,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -13055,14 +14180,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [92],
+          "action_ids" : [102],
           "actions" : ["act"],
           "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
           "next_tables" : {
             "act" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
           },
           "default_entry" : {
-            "action_id" : 92,
+            "action_id" : 102,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13070,7 +14195,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
-          "id" : 36,
+          "id" : 41,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 315,
@@ -13091,15 +14216,15 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [47, 43],
+          "action_ids" : [55, 50],
           "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
-          "base_default_next" : "node_70",
+          "base_default_next" : "node_77",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_70",
-            "nop" : "node_70"
+            "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_77",
+            "nop" : "node_77"
           },
           "default_entry" : {
-            "action_id" : 43,
+            "action_id" : 50,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13107,7 +14232,7 @@
         },
         {
           "name" : "tbl_int_transit420",
-          "id" : 37,
+          "id" : 42,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 420,
@@ -13121,14 +14246,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [93],
+          "action_ids" : [103],
           "actions" : ["int_transit420"],
-          "base_default_next" : "node_72",
+          "base_default_next" : "node_79",
           "next_tables" : {
-            "int_transit420" : "node_72"
+            "int_transit420" : "node_79"
           },
           "default_entry" : {
-            "action_id" : 93,
+            "action_id" : 103,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13136,7 +14261,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
-          "id" : 38,
+          "id" : 43,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 331,
@@ -13157,7 +14282,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 44],
+          "action_ids" : [56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 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" : {
@@ -13180,7 +14305,7 @@
             "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
           },
           "default_entry" : {
-            "action_id" : 44,
+            "action_id" : 52,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -13200,7 +14325,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 48,
+                "action_id" : 56,
                 "action_data" : []
               },
               "priority" : 1
@@ -13219,7 +14344,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 49,
+                "action_id" : 57,
                 "action_data" : []
               },
               "priority" : 2
@@ -13238,7 +14363,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 50,
+                "action_id" : 58,
                 "action_data" : []
               },
               "priority" : 3
@@ -13257,7 +14382,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 51,
+                "action_id" : 59,
                 "action_data" : []
               },
               "priority" : 4
@@ -13276,7 +14401,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 52,
+                "action_id" : 60,
                 "action_data" : []
               },
               "priority" : 5
@@ -13295,7 +14420,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 53,
+                "action_id" : 61,
                 "action_data" : []
               },
               "priority" : 6
@@ -13314,7 +14439,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 54,
+                "action_id" : 62,
                 "action_data" : []
               },
               "priority" : 7
@@ -13333,7 +14458,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 55,
+                "action_id" : 63,
                 "action_data" : []
               },
               "priority" : 8
@@ -13352,7 +14477,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 56,
+                "action_id" : 64,
                 "action_data" : []
               },
               "priority" : 9
@@ -13371,7 +14496,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 57,
+                "action_id" : 65,
                 "action_data" : []
               },
               "priority" : 10
@@ -13390,7 +14515,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 58,
+                "action_id" : 66,
                 "action_data" : []
               },
               "priority" : 11
@@ -13409,7 +14534,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 59,
+                "action_id" : 67,
                 "action_data" : []
               },
               "priority" : 12
@@ -13428,7 +14553,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 60,
+                "action_id" : 68,
                 "action_data" : []
               },
               "priority" : 13
@@ -13447,7 +14572,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 61,
+                "action_id" : 69,
                 "action_data" : []
               },
               "priority" : 14
@@ -13466,7 +14591,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 62,
+                "action_id" : 70,
                 "action_data" : []
               },
               "priority" : 15
@@ -13485,7 +14610,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 63,
+                "action_id" : 71,
                 "action_data" : []
               },
               "priority" : 16
@@ -13494,7 +14619,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
-          "id" : 39,
+          "id" : 44,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 375,
@@ -13515,7 +14640,7 @@
           "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, 45],
+          "action_ids" : [72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 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_int_transit425",
           "next_tables" : {
@@ -13538,7 +14663,7 @@
             "NoAction" : "tbl_int_transit425"
           },
           "default_entry" : {
-            "action_id" : 45,
+            "action_id" : 53,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -13558,7 +14683,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 64,
+                "action_id" : 72,
                 "action_data" : []
               },
               "priority" : 1
@@ -13577,7 +14702,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 65,
+                "action_id" : 73,
                 "action_data" : []
               },
               "priority" : 2
@@ -13596,7 +14721,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 66,
+                "action_id" : 74,
                 "action_data" : []
               },
               "priority" : 3
@@ -13615,7 +14740,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 67,
+                "action_id" : 75,
                 "action_data" : []
               },
               "priority" : 4
@@ -13634,7 +14759,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 68,
+                "action_id" : 76,
                 "action_data" : []
               },
               "priority" : 5
@@ -13653,7 +14778,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 69,
+                "action_id" : 77,
                 "action_data" : []
               },
               "priority" : 6
@@ -13672,7 +14797,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 70,
+                "action_id" : 78,
                 "action_data" : []
               },
               "priority" : 7
@@ -13691,7 +14816,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 71,
+                "action_id" : 79,
                 "action_data" : []
               },
               "priority" : 8
@@ -13710,7 +14835,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 72,
+                "action_id" : 80,
                 "action_data" : []
               },
               "priority" : 9
@@ -13729,7 +14854,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 73,
+                "action_id" : 81,
                 "action_data" : []
               },
               "priority" : 10
@@ -13748,7 +14873,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 74,
+                "action_id" : 82,
                 "action_data" : []
               },
               "priority" : 11
@@ -13767,7 +14892,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 75,
+                "action_id" : 83,
                 "action_data" : []
               },
               "priority" : 12
@@ -13786,7 +14911,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 76,
+                "action_id" : 84,
                 "action_data" : []
               },
               "priority" : 13
@@ -13805,7 +14930,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 77,
+                "action_id" : 85,
                 "action_data" : []
               },
               "priority" : 14
@@ -13824,7 +14949,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 78,
+                "action_id" : 86,
                 "action_data" : []
               },
               "priority" : 15
@@ -13843,7 +14968,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 79,
+                "action_id" : 87,
                 "action_data" : []
               },
               "priority" : 16
@@ -13852,7 +14977,7 @@
         },
         {
           "name" : "tbl_int_transit425",
-          "id" : 40,
+          "id" : 45,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 425,
@@ -13866,14 +14991,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [95],
+          "action_ids" : [105],
           "actions" : ["int_transit425"],
-          "base_default_next" : "node_76",
+          "base_default_next" : "node_83",
           "next_tables" : {
-            "int_transit425" : "node_76"
+            "int_transit425" : "node_83"
           },
           "default_entry" : {
-            "action_id" : 95,
+            "action_id" : 105,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13881,7 +15006,7 @@
         },
         {
           "name" : "tbl_int_transit428",
-          "id" : 41,
+          "id" : 46,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 428,
@@ -13895,14 +15020,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [94],
+          "action_ids" : [104],
           "actions" : ["int_transit428"],
-          "base_default_next" : "node_78",
+          "base_default_next" : "node_85",
           "next_tables" : {
-            "int_transit428" : "node_78"
+            "int_transit428" : "node_85"
           },
           "default_entry" : {
-            "action_id" : 94,
+            "action_id" : 104,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13910,7 +15035,7 @@
         },
         {
           "name" : "tbl_int_transit431",
-          "id" : 42,
+          "id" : 47,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 431,
@@ -13924,14 +15049,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [96],
+          "action_ids" : [106],
           "actions" : ["int_transit431"],
-          "base_default_next" : "node_80",
+          "base_default_next" : "node_87",
           "next_tables" : {
-            "int_transit431" : "node_80"
+            "int_transit431" : "node_87"
           },
           "default_entry" : {
-            "action_id" : 96,
+            "action_id" : 106,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13939,7 +15064,7 @@
         },
         {
           "name" : "tbl_int_transit434",
-          "id" : 43,
+          "id" : 48,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 434,
@@ -13953,14 +15078,109 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [97],
+          "action_ids" : [107],
           "actions" : ["int_transit434"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "int_transit434" : null
+            "int_transit434" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 97,
+            "action_id" : 107,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing126",
+          "id" : 49,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [109],
+          "actions" : ["slicing126"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 109,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 50,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 138,
+            "column" : 10,
+            "source_fragment" : "rewriter"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [93, 94, 51],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__MISS__" : null,
+            "__HIT__" : "node_91"
+          },
+          "default_entry" : {
+            "action_id" : 51,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing159",
+          "id" : 51,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [108],
+          "actions" : ["slicing159"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing159" : null
+          },
+          "default_entry" : {
+            "action_id" : 108,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -13970,11 +15190,11 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_45",
-          "id" : 17,
+          "name" : "node_52",
+          "id" : 19,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 108,
+            "line" : 118,
             "column" : 33,
             "source_fragment" : "fabric_metadata"
           },
@@ -13985,16 +15205,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
+                "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
               }
             }
           },
           "true_next" : "tbl_packetio41",
-          "false_next" : "node_47"
+          "false_next" : "node_54"
         },
         {
-          "name" : "node_47",
-          "id" : 18,
+          "name" : "node_54",
+          "id" : 20,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 43,
@@ -14016,11 +15236,11 @@
             }
           },
           "true_next" : "tbl_packetio44",
-          "false_next" : "node_49"
+          "false_next" : "node_56"
         },
         {
-          "name" : "node_49",
-          "id" : 19,
+          "name" : "node_56",
+          "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 281,
@@ -14038,7 +15258,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._is_multicast10"]
+                    "value" : ["scalars", "userMetadata._is_multicast18"]
                   }
                 }
               },
@@ -14059,11 +15279,11 @@
             }
           },
           "true_next" : "tbl_next283",
-          "false_next" : "node_51"
+          "false_next" : "node_58"
         },
         {
-          "name" : "node_51",
-          "id" : 20,
+          "name" : "node_58",
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 286,
@@ -14076,7 +15296,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._mpls_label4"]
+                "value" : ["scalars", "userMetadata._mpls_label12"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -14084,12 +15304,12 @@
               }
             }
           },
-          "true_next" : "node_52",
+          "true_next" : "node_59",
           "false_next" : "tbl_egress_next_set_mpls"
         },
         {
-          "name" : "node_52",
-          "id" : 21,
+          "name" : "node_59",
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -14111,8 +15331,8 @@
           "false_next" : "FabricEgress.egress_next.egress_vlan"
         },
         {
-          "name" : "node_56",
-          "id" : 22,
+          "name" : "node_63",
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 308,
@@ -14131,11 +15351,11 @@
             }
           },
           "true_next" : "tbl_next309",
-          "false_next" : "node_60"
+          "false_next" : "node_67"
         },
         {
-          "name" : "node_58",
-          "id" : 23,
+          "name" : "node_65",
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -14157,11 +15377,11 @@
             }
           },
           "true_next" : "tbl_next310",
-          "false_next" : "node_64"
+          "false_next" : "node_71"
         },
         {
-          "name" : "node_60",
-          "id" : 24,
+          "name" : "node_67",
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 312,
@@ -14189,7 +15409,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._fwd_type8"]
+                    "value" : ["scalars", "userMetadata._fwd_type16"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -14200,11 +15420,11 @@
             }
           },
           "true_next" : "tbl_next313",
-          "false_next" : "node_64"
+          "false_next" : "node_71"
         },
         {
-          "name" : "node_62",
-          "id" : 25,
+          "name" : "node_69",
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -14226,11 +15446,11 @@
             }
           },
           "true_next" : "tbl_next314",
-          "false_next" : "node_64"
+          "false_next" : "node_71"
         },
         {
-          "name" : "node_64",
-          "id" : 26,
+          "name" : "node_71",
+          "id" : 28,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 102,
@@ -14305,15 +15525,15 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_65"
+          "true_next" : "node_72",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_65",
-          "id" : 27,
+          "name" : "node_72",
+          "id" : 29,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 117,
+            "line" : 127,
             "column" : 36,
             "source_fragment" : "fabric_metadata"
           },
@@ -14324,16 +15544,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._int_meta_source17"]
+                "value" : ["scalars", "userMetadata._int_meta_source29"]
               }
             }
           },
           "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
-          "false_next" : "node_67"
+          "false_next" : "node_74"
         },
         {
-          "name" : "node_67",
-          "id" : 28,
+          "name" : "node_74",
+          "id" : 30,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 110,
@@ -14351,12 +15571,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_act"
+          "true_next" : "tbl_act",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_70",
-          "id" : 29,
+          "name" : "node_77",
+          "id" : 31,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 419,
@@ -14375,18 +15595,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._int_meta_transit18"]
+                    "value" : ["scalars", "userMetadata._int_meta_transit30"]
                   }
                 }
               }
             }
           },
           "true_next" : "tbl_int_transit420",
-          "false_next" : "node_72"
+          "false_next" : "node_79"
         },
         {
-          "name" : "node_72",
-          "id" : 30,
+          "name" : "node_79",
+          "id" : 32,
           "expression" : {
             "type" : "expression",
             "value" : {
@@ -14405,12 +15625,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
+          "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_76",
-          "id" : 31,
+          "name" : "node_83",
+          "id" : 33,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 427,
@@ -14429,11 +15649,11 @@
             }
           },
           "true_next" : "tbl_int_transit428",
-          "false_next" : "node_78"
+          "false_next" : "node_85"
         },
         {
-          "name" : "node_78",
-          "id" : 32,
+          "name" : "node_85",
+          "id" : 34,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 430,
@@ -14452,11 +15672,11 @@
             }
           },
           "true_next" : "tbl_int_transit431",
-          "false_next" : "node_80"
+          "false_next" : "node_87"
         },
         {
-          "name" : "node_80",
-          "id" : 33,
+          "name" : "node_87",
+          "id" : 35,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 433,
@@ -14474,8 +15694,31 @@
               }
             }
           },
+          "true_next" : "tbl_int_transit434",
+          "false_next" : "tbl_slicing126"
+        },
+        {
+          "name" : "node_91",
+          "id" : 36,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 158,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
           "false_next" : null,
-          "true_next" : "tbl_int_transit434"
+          "true_next" : "tbl_slicing159"
         }
       ]
     }
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
index 99558a2..8d73a31 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-int/bmv2/default/p4info.txt
@@ -416,6 +416,92 @@
 }
 tables {
   preamble {
+    id: 34606298
+    name: "FabricIngress.slice_tc_classifier.classifier"
+    alias: "classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23786376
+  }
+  action_refs {
+    id: 25983516
+  }
+  const_default_action_id: 23786376
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "color"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 32116918
+  }
+  action_refs {
+    id: 28214351
+  }
+  const_default_action_id: 32116918
+  direct_resource_ids: 327743278
+  size: 128
+}
+tables {
+  preamble {
     id: 44818914
     name: "FabricEgress.process_int_main.process_int_source.tb_int_source"
     alias: "tb_int_source"
@@ -512,6 +598,32 @@
   direct_resource_ids: 318892680
   size: 1024
 }
+tables {
+  preamble {
+    id: 49970092
+    name: "FabricEgress.dscp_rewriter.rewriter"
+    alias: "rewriter"
+  }
+  match_fields {
+    id: 1
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27951287
+  }
+  action_refs {
+    id: 24120545
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 512
+}
 actions {
   preamble {
     id: 28485346
@@ -758,6 +870,49 @@
 }
 actions {
   preamble {
+    id: 23786376
+    name: "FabricIngress.slice_tc_classifier.set_slice_id_tc"
+    alias: "set_slice_id_tc"
+  }
+  params {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+  }
+  params {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25983516
+    name: "FabricIngress.slice_tc_classifier.trust_dscp"
+    alias: "trust_dscp"
+  }
+}
+actions {
+  preamble {
+    id: 32116918
+    name: "FabricIngress.qos.set_queue"
+    alias: "set_queue"
+  }
+  params {
+    id: 1
+    name: "qid"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 28214351
+    name: "FabricIngress.qos.meter_drop"
+    alias: "meter_drop"
+  }
+}
+actions {
+  preamble {
     id: 21257015
     name: "NoAction"
     alias: "NoAction"
@@ -824,6 +979,20 @@
     alias: "egress_next.drop"
   }
 }
+actions {
+  preamble {
+    id: 27951287
+    name: "FabricEgress.dscp_rewriter.rewrite"
+    alias: "rewrite"
+  }
+}
+actions {
+  preamble {
+    id: 24120545
+    name: "FabricEgress.dscp_rewriter.clear"
+    alias: "clear"
+  }
+}
 action_profiles {
   preamble {
     id: 291115404
@@ -980,6 +1149,28 @@
 }
 direct_counters {
   preamble {
+    id: 334706097
+    name: "FabricIngress.slice_tc_classifier.classifier_stats"
+    alias: "classifier_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 34606298
+}
+direct_counters {
+  preamble {
+    id: 327743278
+    name: "FabricIngress.qos.queues_stats"
+    alias: "queues_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 36435258
+}
+direct_counters {
+  preamble {
     id: 322470063
     name: "FabricEgress.process_int_main.process_int_source.counter_int_source"
     alias: "counter_int_source"
@@ -1000,6 +1191,17 @@
   }
   direct_table_id: 49262446
 }
+meters {
+  preamble {
+    id: 348573637
+    name: "FabricIngress.qos.slice_tc_meter"
+    alias: "slice_tc_meter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 64
+}
 controller_packet_metadata {
   preamble {
     id: 81826293
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
index 8c37944..61322cb 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/bmv2.json
@@ -8,6 +8,7 @@
         ["tmp_2", 3, false],
         ["tmp_4", 8, false],
         ["last_ipv4_dscp_0", 6, false],
+        ["gtpu_ext_len_0", 8, false],
         ["tmp_1", 16, false],
         ["tmp_3", 16, false],
         ["tmp_5", 4, false],
@@ -15,54 +16,64 @@
         ["tmp_7", 64, false],
         ["tmp_8", 32, false],
         ["tmp_9", 32, false],
-        ["acl_ipv4_src", 32, false],
-        ["acl_ipv4_dst", 32, false],
-        ["acl_ip_proto", 8, false],
-        ["acl_l4_sport", 16, false],
-        ["acl_l4_dport", 16, false],
+        ["tmp_10", 32, false],
+        ["dscp_rewriter_tmp_dscp", 6, false],
         ["process_int_main_process_int_transit_hasReturned", 1, false],
-        ["userMetadata._ip_eth_type0", 16, false],
-        ["userMetadata._vlan_id1", 12, false],
-        ["userMetadata._vlan_pri2", 3, false],
-        ["userMetadata._vlan_cfi3", 1, false],
-        ["userMetadata._mpls_label4", 20, false],
-        ["userMetadata._mpls_ttl5", 8, false],
-        ["userMetadata._skip_forwarding6", 1, false],
-        ["userMetadata._skip_next7", 1, false],
-        ["userMetadata._fwd_type8", 3, false],
-        ["userMetadata._next_id9", 32, false],
-        ["userMetadata._is_multicast10", 1, false],
-        ["userMetadata._is_controller_packet_out11", 1, false],
-        ["userMetadata._ip_proto12", 8, false],
-        ["userMetadata._l4_sport13", 16, false],
-        ["userMetadata._l4_dport14", 16, false],
-        ["userMetadata._ipv4_src_addr15", 32, false],
-        ["userMetadata._ipv4_dst_addr16", 32, false],
-        ["userMetadata._inner_l4_sport17", 16, false],
-        ["userMetadata._inner_l4_dport18", 16, false],
-        ["userMetadata._spgw_ipv4_len19", 16, false],
-        ["userMetadata._spgw_teid20", 32, false],
-        ["userMetadata._spgw_tunnel_src_port21", 16, false],
-        ["userMetadata._spgw_tunnel_src_addr22", 32, false],
-        ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
-        ["userMetadata._spgw_ctr_id24", 32, false],
-        ["userMetadata._spgw_far_id25", 32, false],
-        ["userMetadata._spgw_src_iface26", 8, false],
-        ["userMetadata._spgw_skip_spgw27", 1, false],
-        ["userMetadata._spgw_notify_spgwc28", 1, false],
-        ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
-        ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
-        ["userMetadata._spgw_skip_egress_pdr_ctr31", 1, false],
-        ["userMetadata._int_meta_source32", 1, false],
-        ["userMetadata._int_meta_transit33", 1, false],
-        ["userMetadata._int_meta_sink34", 1, false],
-        ["userMetadata._int_meta_switch_id35", 32, false],
-        ["userMetadata._int_meta_new_words36", 8, false],
-        ["userMetadata._int_meta_new_bytes37", 16, false],
-        ["userMetadata._int_meta_ig_tstamp38", 32, false],
-        ["userMetadata._int_meta_eg_tstamp39", 32, false],
-        ["userMetadata._port_type40", 2, false],
-        ["_padding_0", 4, false]
+        ["userMetadata._lkp_is_ipv40", 1, false],
+        ["userMetadata._lkp_ipv4_src1", 32, false],
+        ["userMetadata._lkp_ipv4_dst2", 32, false],
+        ["userMetadata._lkp_ip_proto3", 8, false],
+        ["userMetadata._lkp_l4_sport4", 16, false],
+        ["userMetadata._lkp_l4_dport5", 16, false],
+        ["userMetadata._lkp_icmp_type6", 8, false],
+        ["userMetadata._lkp_icmp_code7", 8, false],
+        ["userMetadata._ip_eth_type8", 16, false],
+        ["userMetadata._vlan_id9", 12, false],
+        ["userMetadata._vlan_pri10", 3, false],
+        ["userMetadata._vlan_cfi11", 1, false],
+        ["userMetadata._mpls_label12", 20, false],
+        ["userMetadata._mpls_ttl13", 8, false],
+        ["userMetadata._skip_forwarding14", 1, false],
+        ["userMetadata._skip_next15", 1, false],
+        ["userMetadata._fwd_type16", 3, false],
+        ["userMetadata._next_id17", 32, false],
+        ["userMetadata._is_multicast18", 1, false],
+        ["userMetadata._is_controller_packet_out19", 1, false],
+        ["userMetadata._ip_proto20", 8, false],
+        ["userMetadata._l4_sport21", 16, false],
+        ["userMetadata._l4_dport22", 16, false],
+        ["userMetadata._ipv4_src_addr23", 32, false],
+        ["userMetadata._ipv4_dst_addr24", 32, false],
+        ["userMetadata._slice_id25", 4, false],
+        ["userMetadata._packet_color26", 2, false],
+        ["userMetadata._tc27", 2, false],
+        ["userMetadata._dscp28", 6, false],
+        ["userMetadata._inner_l4_sport29", 16, false],
+        ["userMetadata._inner_l4_dport30", 16, false],
+        ["userMetadata._spgw_ipv4_len31", 16, false],
+        ["userMetadata._spgw_teid32", 32, false],
+        ["userMetadata._spgw_tunnel_src_port33", 16, false],
+        ["userMetadata._spgw_tunnel_src_addr34", 32, false],
+        ["userMetadata._spgw_tunnel_dst_addr35", 32, false],
+        ["userMetadata._spgw_ctr_id36", 32, false],
+        ["userMetadata._spgw_far_id37", 32, false],
+        ["userMetadata._spgw_src_iface38", 8, false],
+        ["userMetadata._spgw_qfi39", 6, false],
+        ["userMetadata._spgw_skip_spgw40", 1, false],
+        ["userMetadata._spgw_notify_spgwc41", 1, false],
+        ["userMetadata._spgw_needs_gtpu_encap42", 1, false],
+        ["userMetadata._spgw_needs_gtpu_decap43", 1, false],
+        ["userMetadata._spgw_skip_egress_pdr_ctr44", 1, false],
+        ["userMetadata._spgw_needs_qfi_push45", 1, false],
+        ["userMetadata._int_meta_source46", 1, false],
+        ["userMetadata._int_meta_transit47", 1, false],
+        ["userMetadata._int_meta_sink48", 1, false],
+        ["userMetadata._int_meta_switch_id49", 32, false],
+        ["userMetadata._int_meta_new_words50", 8, false],
+        ["userMetadata._int_meta_new_bytes51", 16, false],
+        ["userMetadata._int_meta_ig_tstamp52", 32, false],
+        ["userMetadata._int_meta_eg_tstamp53", 32, false],
+        ["userMetadata._port_type54", 2, false]
       ]
     },
     {
@@ -177,9 +188,31 @@
       ]
     },
     {
-      "name" : "tcp_t",
+      "name" : "gtpu_options_t",
       "id" : 10,
       "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 11,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "tcp_t",
+      "id" : 12,
+      "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
         ["seq_no", 32, false],
@@ -195,7 +228,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 11,
+      "id" : 13,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -207,7 +240,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 12,
+      "id" : 14,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -215,7 +248,7 @@
     },
     {
       "name" : "intl4_shim_t",
-      "id" : 13,
+      "id" : 15,
       "fields" : [
         ["int_type", 8, false],
         ["rsvd1", 8, false],
@@ -225,7 +258,7 @@
     },
     {
       "name" : "int_header_t",
-      "id" : 14,
+      "id" : 16,
       "fields" : [
         ["ver", 2, false],
         ["rep", 2, false],
@@ -244,14 +277,14 @@
     },
     {
       "name" : "int_switch_id_t",
-      "id" : 15,
+      "id" : 17,
       "fields" : [
         ["switch_id", 32, false]
       ]
     },
     {
       "name" : "int_port_ids_t",
-      "id" : 16,
+      "id" : 18,
       "fields" : [
         ["ingress_port_id", 16, false],
         ["egress_port_id", 16, false]
@@ -259,14 +292,14 @@
     },
     {
       "name" : "int_hop_latency_t",
-      "id" : 17,
+      "id" : 19,
       "fields" : [
         ["hop_latency", 32, false]
       ]
     },
     {
       "name" : "int_q_occupancy_t",
-      "id" : 18,
+      "id" : 20,
       "fields" : [
         ["q_id", 8, false],
         ["q_occupancy", 24, false]
@@ -274,21 +307,21 @@
     },
     {
       "name" : "int_ingress_tstamp_t",
-      "id" : 19,
+      "id" : 21,
       "fields" : [
         ["ingress_tstamp", 32, false]
       ]
     },
     {
       "name" : "int_egress_tstamp_t",
-      "id" : 20,
+      "id" : 22,
       "fields" : [
         ["egress_tstamp", 32, false]
       ]
     },
     {
       "name" : "int_q_congestion_t",
-      "id" : 21,
+      "id" : 23,
       "fields" : [
         ["q_id", 8, false],
         ["q_congestion", 24, false]
@@ -296,14 +329,14 @@
     },
     {
       "name" : "int_egress_port_tx_util_t",
-      "id" : 22,
+      "id" : 24,
       "fields" : [
         ["egress_port_tx_util", 32, false]
       ]
     },
     {
       "name" : "intl4_tail_t",
-      "id" : 23,
+      "id" : 25,
       "fields" : [
         ["next_proto", 8, false],
         ["dest_port", 16, false],
@@ -398,155 +431,183 @@
       "pi_omit" : true
     },
     {
-      "name" : "gtpu",
+      "name" : "outer_gtpu_options",
       "id" : 12,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "outer_gtpu_ext_psc",
+      "id" : 13,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu",
+      "id" : 14,
       "header_type" : "gtpu_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "inner_ipv4",
-      "id" : 13,
-      "header_type" : "ipv4_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "inner_udp",
-      "id" : 14,
-      "header_type" : "udp_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "inner_tcp",
+      "name" : "gtpu_options",
       "id" : 15,
-      "header_type" : "tcp_t",
+      "header_type" : "gtpu_options_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "inner_icmp",
+      "name" : "gtpu_ext_psc",
       "id" : 16,
-      "header_type" : "icmp_t",
+      "header_type" : "gtpu_ext_psc_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "ipv4",
+      "name" : "inner_ipv4",
       "id" : 17,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "tcp",
+      "name" : "inner_udp",
       "id" : 18,
-      "header_type" : "tcp_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "udp",
-      "id" : 19,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "icmp",
+      "name" : "inner_tcp",
+      "id" : 19,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "inner_icmp",
       "id" : 20,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "packet_out",
+      "name" : "ipv4",
       "id" : 21,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "tcp",
+      "id" : 22,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "udp",
+      "id" : 23,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "icmp",
+      "id" : 24,
+      "header_type" : "icmp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "packet_out",
+      "id" : 25,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 22,
+      "id" : 26,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "intl4_shim",
-      "id" : 23,
+      "id" : 27,
       "header_type" : "intl4_shim_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_header",
-      "id" : 24,
+      "id" : 28,
       "header_type" : "int_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_switch_id",
-      "id" : 25,
+      "id" : 29,
       "header_type" : "int_switch_id_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_port_ids",
-      "id" : 26,
+      "id" : 30,
       "header_type" : "int_port_ids_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_hop_latency",
-      "id" : 27,
+      "id" : 31,
       "header_type" : "int_hop_latency_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_q_occupancy",
-      "id" : 28,
+      "id" : 32,
       "header_type" : "int_q_occupancy_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_ingress_tstamp",
-      "id" : 29,
+      "id" : 33,
       "header_type" : "int_ingress_tstamp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_egress_tstamp",
-      "id" : 30,
+      "id" : 34,
       "header_type" : "int_egress_tstamp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_q_congestion",
-      "id" : 31,
+      "id" : 35,
       "header_type" : "int_q_congestion_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "int_egress_tx_util",
-      "id" : 32,
+      "id" : 36,
       "header_type" : "int_egress_port_tx_util_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "intl4_tail",
-      "id" : 33,
+      "id" : 37,
       "header_type" : "intl4_tail_t",
       "metadata" : false,
       "pi_omit" : true
@@ -562,7 +623,7 @@
       "name" : "fl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 52,
+        "line" : 45,
         "column" : 40,
         "source_fragment" : "{standard_metadata.ingress_port}"
       },
@@ -897,7 +958,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._vlan_id1"]
+                  "value" : ["scalars", "userMetadata._vlan_id9"]
                 },
                 {
                   "type" : "hexstr",
@@ -1083,7 +1144,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_label4"]
+                  "value" : ["scalars", "userMetadata._mpls_label12"]
                 },
                 {
                   "type" : "field",
@@ -1096,7 +1157,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_ttl5"]
+                  "value" : ["scalars", "userMetadata._mpls_ttl13"]
                 },
                 {
                   "type" : "field",
@@ -1157,7 +1218,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_proto12"]
+                  "value" : ["scalars", "userMetadata._ip_proto20"]
                 },
                 {
                   "type" : "field",
@@ -1170,7 +1231,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_eth_type0"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -1183,7 +1244,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+                  "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
                 },
                 {
                   "type" : "field",
@@ -1196,7 +1257,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+                  "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
                 },
                 {
                   "type" : "field",
@@ -1269,7 +1330,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport13"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1282,7 +1343,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport14"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1319,7 +1380,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport13"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1332,7 +1393,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport14"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1920,8 +1981,142 @@
                 }
               ],
               "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
             },
             {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 14,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_options"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "gtpu_ext_len_0"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 8]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8501",
+              "mask" : null,
+              "next_state" : "parse_gtpu_ext_psc"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 15,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_ext_psc"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._spgw_qfi39"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_ext_psc", "qfi"]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ext_psc", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 16,
+          "parser_ops" : [
+            {
               "parameters" : [
                 {
                   "type" : "regular",
@@ -1979,7 +2174,7 @@
         },
         {
           "name" : "parse_inner_udp",
-          "id" : 14,
+          "id" : 17,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1994,7 +2189,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_sport17"]
+                  "value" : ["scalars", "userMetadata._inner_l4_sport29"]
                 },
                 {
                   "type" : "field",
@@ -2007,7 +2202,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_dport18"]
+                  "value" : ["scalars", "userMetadata._inner_l4_dport30"]
                 },
                 {
                   "type" : "field",
@@ -2029,7 +2224,7 @@
         },
         {
           "name" : "parse_inner_tcp",
-          "id" : 15,
+          "id" : 18,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2044,7 +2239,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_sport17"]
+                  "value" : ["scalars", "userMetadata._inner_l4_sport29"]
                 },
                 {
                   "type" : "field",
@@ -2057,7 +2252,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_dport18"]
+                  "value" : ["scalars", "userMetadata._inner_l4_dport30"]
                 },
                 {
                   "type" : "field",
@@ -2079,7 +2274,7 @@
         },
         {
           "name" : "parse_inner_icmp",
-          "id" : 16,
+          "id" : 19,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2103,7 +2298,7 @@
         },
         {
           "name" : "parse_int",
-          "id" : 17,
+          "id" : 20,
           "parser_ops" : [],
           "transitions" : [
             {
@@ -2128,7 +2323,7 @@
         },
         {
           "name" : "parse_intl4_shim",
-          "id" : 18,
+          "id" : 21,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2172,7 +2367,7 @@
         },
         {
           "name" : "parse_int_data",
-          "id" : 19,
+          "id" : 22,
           "parser_ops" : [],
           "transitions" : [
             {
@@ -2186,7 +2381,7 @@
         },
         {
           "name" : "parse_intl4_tail",
-          "id" : 20,
+          "id" : 23,
           "parser_ops" : [
             {
               "parameters" : [
@@ -2218,15 +2413,30 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 285,
+        "line" : 308,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_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", "intl4_tail"],
+      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "outer_gtpu_options", "outer_gtpu_ext_psc", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_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", "intl4_tail"],
       "primitives" : []
     }
   ],
-  "meter_arrays" : [],
+  "meter_arrays" : [
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 78,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
+    }
+  ],
   "counter_arrays" : [
     {
       "name" : "FabricIngress.process_set_source_sink.counter_set_source",
@@ -2319,7 +2529,7 @@
       "binding" : "FabricIngress.acl.acl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 36,
+        "line" : 29,
         "column" : 50,
         "source_fragment" : "acl_counter"
       }
@@ -2361,8 +2571,32 @@
       }
     },
     {
-      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
       "id" : 11,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 32,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 12,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 80,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "id" : 13,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 26,
@@ -2374,7 +2608,7 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 12,
+      "id" : 14,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 27,
@@ -2386,10 +2620,10 @@
     },
     {
       "name" : "FabricIngress.spgw.pdr_counter",
-      "id" : 13,
+      "id" : 15,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 108,
+        "line" : 110,
         "column" : 53,
         "source_fragment" : "pdr_counter"
       },
@@ -2398,7 +2632,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_source.counter_int_source",
-      "id" : 14,
+      "id" : 16,
       "is_direct" : true,
       "binding" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
       "source_info" : {
@@ -2410,7 +2644,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 15,
+      "id" : 17,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
@@ -2422,10 +2656,10 @@
     },
     {
       "name" : "FabricEgress.spgw.pdr_counter",
-      "id" : 16,
+      "id" : 18,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 295,
+        "line" : 307,
         "column" : 53,
         "source_fragment" : "pdr_counter"
       },
@@ -2501,7 +2735,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 358,
+        "line" : 393,
         "column" : 8,
         "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
       },
@@ -2697,7 +2931,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_source32"]
+              "value" : ["scalars", "userMetadata._int_meta_source46"]
             },
             {
               "type" : "expression",
@@ -2733,7 +2967,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -2762,7 +2996,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2791,7 +3025,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type40"]
+              "value" : ["scalars", "userMetadata._port_type54"]
             },
             {
               "type" : "hexstr",
@@ -2800,7 +3034,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 119,
+            "line" : 136,
             "column" : 38,
             "source_fragment" : "0x0; ..."
           }
@@ -2822,7 +3056,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type40"]
+              "value" : ["scalars", "userMetadata._port_type54"]
             },
             {
               "type" : "runtime_data",
@@ -2857,7 +3091,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2876,7 +3110,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type40"]
+              "value" : ["scalars", "userMetadata._port_type54"]
             },
             {
               "type" : "runtime_data",
@@ -2907,7 +3141,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._fwd_type8"]
+              "value" : ["scalars", "userMetadata._fwd_type16"]
             },
             {
               "type" : "runtime_data",
@@ -2938,7 +3172,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2969,7 +3203,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "hexstr",
@@ -2988,7 +3222,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -3019,7 +3253,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -3056,7 +3290,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "runtime_data",
@@ -3087,7 +3321,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -3118,7 +3352,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -3127,8 +3361,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 39,
-            "column" : 32,
+            "line" : 32,
+            "column" : 26,
             "source_fragment" : "= next_id; ..."
           }
         }
@@ -3153,7 +3387,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 45,
+            "line" : 38,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
           }
@@ -3163,7 +3397,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -3182,8 +3416,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 46,
-            "column" : 34,
+            "line" : 39,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -3213,7 +3447,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 52,
+            "line" : 45,
             "column" : 8,
             "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
           }
@@ -3235,7 +3469,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 57,
+            "line" : 50,
             "column" : 8,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -3245,7 +3479,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -3264,8 +3498,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 58,
-            "column" : 34,
+            "line" : 51,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -3323,7 +3557,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -3481,7 +3715,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_multicast10"]
+              "value" : ["scalars", "userMetadata._is_multicast18"]
             },
             {
               "type" : "expression",
@@ -3508,1666 +3742,16 @@
       ]
     },
     {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
       "id" : 32,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 52,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "tcp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 53,
-            "column" : 8,
-            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 54,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_tcp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
-      "id" : 33,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 59,
-            "column" : 8,
-            "source_fragment" : "hdr.udp = hdr.inner_udp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
-      "id" : 34,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 65,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "icmp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 66,
-            "column" : 8,
-            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 67,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_icmp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
-      "id" : 35,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 72,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
-      "id" : 36,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 52,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "tcp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 53,
-            "column" : 8,
-            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 54,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_tcp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
-      "id" : 37,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 59,
-            "column" : 8,
-            "source_fragment" : "hdr.udp = hdr.inner_udp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
-      "id" : 38,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 65,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "icmp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 66,
-            "column" : 8,
-            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 67,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_icmp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
-      "id" : 39,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 72,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.load_iface",
-      "id" : 40,
       "runtime_data" : [
         {
-          "name" : "src_iface",
-          "bitwidth" : 8
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5176,7 +3760,2079 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_src_iface26"]
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 35,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 36,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 33,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["ipv4", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 44,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["ipv4", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 45,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 34,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 35,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 89,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_metadata)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+      "id" : 36,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "tcp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_tcp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+      "id" : 37,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.udp = hdr.inner_udp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
+      "id" : 38,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "icmp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_icmp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+      "id" : 39,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+      "id" : 40,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "tcp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_tcp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+      "id" : 41,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.udp = hdr.inner_udp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+      "id" : 42,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "icmp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_icmp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+      "id" : 43,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.load_iface",
+      "id" : 44,
+      "runtime_data" : [
+        {
+          "name" : "src_iface",
+          "bitwidth" : 8
+        },
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_src_iface38"]
             },
             {
               "type" : "runtime_data",
@@ -5185,7 +5841,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 120,
+            "line" : 122,
             "column" : 33,
             "source_fragment" : "= src_iface; ..."
           }
@@ -5195,7 +5851,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
+              "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
             },
             {
               "type" : "expression",
@@ -5214,16 +5870,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 121,
+            "line" : 123,
             "column" : 33,
             "source_fragment" : "= false; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 124,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.iface_miss",
-      "id" : 41,
+      "id" : 45,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -5231,7 +5906,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_src_iface26"]
+              "value" : ["scalars", "userMetadata._spgw_src_iface38"]
             },
             {
               "type" : "hexstr",
@@ -5240,7 +5915,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 110,
+            "line" : 127,
             "column" : 44,
             "source_fragment" : "8w0; ..."
           }
@@ -5250,7 +5925,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
+              "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
             },
             {
               "type" : "expression",
@@ -5269,7 +5944,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 125,
+            "line" : 128,
             "column" : 33,
             "source_fragment" : "= true; ..."
           }
@@ -5278,7 +5953,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_pdr",
-      "id" : 42,
+      "id" : 46,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5291,6 +5966,10 @@
         {
           "name" : "needs_gtpu_decap",
           "bitwidth" : 1
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5299,7 +5978,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5308,7 +5987,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5318,7 +5997,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5327,7 +6006,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5337,7 +6016,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5366,16 +6045,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr",
-      "id" : 43,
+      "id" : 47,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5388,6 +6086,10 @@
         {
           "name" : "needs_gtpu_decap",
           "bitwidth" : 1
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5396,7 +6098,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5405,7 +6107,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5415,7 +6117,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5424,7 +6126,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5434,7 +6136,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5463,16 +6165,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr_qos",
-      "id" : 44,
+      "id" : 48,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5487,8 +6208,16 @@
           "bitwidth" : 1
         },
         {
-          "name" : "qid",
-          "bitwidth" : 5
+          "name" : "needs_qfi_push",
+          "bitwidth" : 1
+        },
+        {
+          "name" : "qfi",
+          "bitwidth" : 6
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5497,7 +6226,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5506,7 +6235,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5516,7 +6245,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5525,7 +6254,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5535,7 +6264,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5564,16 +6293,93 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 5
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi39"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 167,
+            "column" : 27,
+            "source_fragment" : "= qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "!=",
+                      "left" : {
+                        "type" : "local",
+                        "value" : 3
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 168,
+            "column" : 38,
+            "source_fragment" : "= (bool)needs_qfi_push; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr_qos",
-      "id" : 45,
+      "id" : 49,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5588,8 +6394,16 @@
           "bitwidth" : 1
         },
         {
-          "name" : "qid",
-          "bitwidth" : 5
+          "name" : "needs_qfi_push",
+          "bitwidth" : 1
+        },
+        {
+          "name" : "qfi",
+          "bitwidth" : 6
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5598,7 +6412,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5607,7 +6421,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5617,7 +6431,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5626,7 +6440,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5636,7 +6450,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5665,16 +6479,93 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 5
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi39"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 167,
+            "column" : 27,
+            "source_fragment" : "= qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "!=",
+                      "left" : {
+                        "type" : "local",
+                        "value" : 3
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 168,
+            "column" : 38,
+            "source_fragment" : "= (bool)needs_qfi_push; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_normal_far",
-      "id" : 46,
+      "id" : 50,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -5691,7 +6582,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -5720,7 +6611,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 195,
+            "line" : 207,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5730,7 +6621,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -5759,7 +6650,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 196,
+            "line" : 208,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5769,7 +6660,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
             },
             {
               "type" : "expression",
@@ -5798,7 +6689,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 197,
+            "line" : 209,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -5807,7 +6698,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_tunnel_far",
-      "id" : 47,
+      "id" : 51,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -5840,7 +6731,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -5869,7 +6760,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 206,
+            "line" : 218,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5879,7 +6770,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -5908,7 +6799,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 207,
+            "line" : 219,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5918,7 +6809,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
             },
             {
               "type" : "expression",
@@ -5947,7 +6838,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 208,
+            "line" : 220,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -5957,7 +6848,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
             },
             {
               "type" : "expression",
@@ -5976,7 +6867,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 210,
+            "line" : 222,
             "column" : 40,
             "source_fragment" : "= true; ..."
           }
@@ -5986,7 +6877,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid20"]
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
             },
             {
               "type" : "runtime_data",
@@ -5995,7 +6886,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 211,
+            "line" : 223,
             "column" : 28,
             "source_fragment" : "= teid; ..."
           }
@@ -6005,7 +6896,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
             },
             {
               "type" : "runtime_data",
@@ -6014,7 +6905,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 212,
+            "line" : 224,
             "column" : 39,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -6024,7 +6915,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
             },
             {
               "type" : "runtime_data",
@@ -6033,7 +6924,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 213,
+            "line" : 225,
             "column" : 39,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -6043,7 +6934,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
             },
             {
               "type" : "runtime_data",
@@ -6052,7 +6943,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 214,
+            "line" : 226,
             "column" : 39,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -6062,7 +6953,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
             },
             {
               "type" : "runtime_data",
@@ -6071,7 +6962,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 216,
+            "line" : 228,
             "column" : 32,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -6081,7 +6972,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
             },
             {
               "type" : "runtime_data",
@@ -6090,7 +6981,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 217,
+            "line" : 229,
             "column" : 32,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -6100,7 +6991,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
+              "value" : ["scalars", "userMetadata._l4_sport21"]
             },
             {
               "type" : "runtime_data",
@@ -6109,7 +7000,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 218,
+            "line" : 230,
             "column" : 27,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -6119,7 +7010,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
+              "value" : ["scalars", "userMetadata._l4_dport22"]
             },
             {
               "type" : "hexstr",
@@ -6128,7 +7019,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 219,
+            "line" : 231,
             "column" : 27,
             "source_fragment" : "= 2152; ..."
           }
@@ -6137,7 +7028,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_dbuf_far",
-      "id" : 48,
+      "id" : 52,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -6170,7 +7061,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -6199,7 +7090,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 206,
+            "line" : 218,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -6209,7 +7100,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -6238,7 +7129,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 207,
+            "line" : 219,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -6248,7 +7139,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
             },
             {
               "type" : "expression",
@@ -6277,7 +7168,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 208,
+            "line" : 220,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -6287,7 +7178,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
             },
             {
               "type" : "expression",
@@ -6306,7 +7197,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 210,
+            "line" : 222,
             "column" : 40,
             "source_fragment" : "= true; ..."
           }
@@ -6316,7 +7207,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid20"]
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
             },
             {
               "type" : "runtime_data",
@@ -6325,7 +7216,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 211,
+            "line" : 223,
             "column" : 28,
             "source_fragment" : "= teid; ..."
           }
@@ -6335,7 +7226,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
             },
             {
               "type" : "runtime_data",
@@ -6344,7 +7235,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 212,
+            "line" : 224,
             "column" : 39,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -6354,7 +7245,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
             },
             {
               "type" : "runtime_data",
@@ -6363,7 +7254,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 213,
+            "line" : 225,
             "column" : 39,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -6373,7 +7264,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
             },
             {
               "type" : "runtime_data",
@@ -6382,7 +7273,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 214,
+            "line" : 226,
             "column" : 39,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -6392,7 +7283,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
             },
             {
               "type" : "runtime_data",
@@ -6401,7 +7292,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 216,
+            "line" : 228,
             "column" : 32,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -6411,7 +7302,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
             },
             {
               "type" : "runtime_data",
@@ -6420,7 +7311,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 217,
+            "line" : 229,
             "column" : 32,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -6430,7 +7321,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
+              "value" : ["scalars", "userMetadata._l4_sport21"]
             },
             {
               "type" : "runtime_data",
@@ -6439,7 +7330,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 218,
+            "line" : 230,
             "column" : 27,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -6449,7 +7340,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
+              "value" : ["scalars", "userMetadata._l4_dport22"]
             },
             {
               "type" : "hexstr",
@@ -6458,7 +7349,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 219,
+            "line" : 231,
             "column" : 27,
             "source_fragment" : "= 2152; ..."
           }
@@ -6468,7 +7359,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
+              "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr44"]
             },
             {
               "type" : "expression",
@@ -6487,7 +7378,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 230,
+            "line" : 242,
             "column" : 43,
             "source_fragment" : "= true; ..."
           }
@@ -6495,8 +7386,633 @@
       ]
     },
     {
+      "name" : "lookup_md_init37",
+      "id" : 53,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init40",
+      "id" : 54,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init43",
+      "id" : 55,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init32",
+      "id" : 56,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init52",
+      "id" : 57,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init55",
+      "id" : 58,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init58",
+      "id" : 59,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init47",
+      "id" : 60,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init23",
+      "id" : 61,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio25",
-      "id" : 49,
+      "id" : 62,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6538,7 +8054,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
+              "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
             },
             {
               "type" : "expression",
@@ -6575,60 +8091,8 @@
       ]
     },
     {
-      "name" : "spgw265",
-      "id" : 50,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "count",
-          "parameters" : [
-            {
-              "type" : "counter_array",
-              "value" : "FabricIngress.spgw.pdr_counter"
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 265,
-            "column" : 16,
-            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "spgw282",
-      "id" : 51,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "total_len"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 282,
-            "column" : 36,
-            "source_fragment" : "= hdr.ipv4.total_len; ..."
-          }
-        }
-      ]
-    },
-    {
       "name" : "filtering113",
-      "id" : 52,
+      "id" : 63,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6636,7 +8100,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "field",
@@ -6655,7 +8119,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             },
             {
               "type" : "field",
@@ -6674,7 +8138,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             },
             {
               "type" : "field",
@@ -6692,7 +8156,7 @@
     },
     {
       "name" : "filtering129",
-      "id" : 53,
+      "id" : 64,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6700,7 +8164,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl5"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             },
             {
               "type" : "hexstr",
@@ -6717,53 +8181,34 @@
       ]
     },
     {
-      "name" : "acl102",
-      "id" : 54,
+      "name" : "spgw277",
+      "id" : 65,
       "runtime_data" : [],
       "primitives" : [
         {
-          "op" : "assign",
+          "op" : "count",
           "parameters" : [
             {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
+              "type" : "counter_array",
+              "value" : "FabricIngress.spgw.pdr_counter"
             },
             {
               "type" : "field",
-              "value" : ["inner_tcp", "sport"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             }
           ],
           "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
+            "filename" : "include/control/spgw.p4",
+            "line" : 277,
             "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 103,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           }
         }
       ]
     },
     {
-      "name" : "acl105",
-      "id" : 55,
+      "name" : "spgw294",
+      "id" : 66,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6771,364 +8216,25 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
             },
             {
               "type" : "field",
-              "value" : ["inner_udp", "sport"]
+              "value" : ["ipv4", "total_len"]
             }
           ],
           "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 106,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl98",
-      "id" : 56,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 99,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 100,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl113",
-      "id" : 57,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 114,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl116",
-      "id" : 58,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 117,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl109",
-      "id" : 59,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 110,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 111,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl27",
-      "id" : 60,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 28,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 29,
-            "column" : 4,
-            "source_fragment" : "bit<8> ip_proto = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 30,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_sport = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 31,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_dport = 0;"
+            "filename" : "include/control/spgw.p4",
+            "line" : 294,
+            "column" : 36,
+            "source_fragment" : "= hdr.ipv4.total_len; ..."
           }
         }
       ]
     },
     {
       "name" : "port_counter31",
-      "id" : 61,
+      "id" : 67,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7186,7 +8292,7 @@
     },
     {
       "name" : "port_counter34",
-      "id" : 62,
+      "id" : 68,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7243,32 +8349,242 @@
       ]
     },
     {
+      "name" : "slicing114",
+      "id" : 69,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "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" : ["scalars", "userMetadata._slice_id25"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x3f"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x2"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._tc27"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x07"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 37,
+            "source_fragment" : "(bit<32>) slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._packet_color26"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "<<",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._slice_id25"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["scalars", "userMetadata._tc27"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 110,
+            "column" : 26,
+            "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
+          }
+        }
+      ]
+    },
+    {
       "name" : "nop",
-      "id" : 63,
+      "id" : 70,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "nop",
-      "id" : 64,
+      "id" : 71,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 72,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "NoAction",
-      "id" : 65,
+      "id" : 73,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "NoAction",
-      "id" : 66,
+      "id" : 74,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_source.int_source_dscp",
-      "id" : 67,
+      "id" : 75,
       "runtime_data" : [
         {
           "name" : "max_hop",
@@ -7336,7 +8652,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 169,
+            "line" : 186,
             "column" : 36,
             "source_fragment" : "4; ..."
           }
@@ -7627,7 +8943,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
+              "value" : ["scalars", "userMetadata._l4_dport22"]
             }
           ],
           "source_info" : {
@@ -7754,7 +9070,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 165,
+            "line" : 182,
             "column" : 24,
             "source_fragment" : "0x1; ..."
           }
@@ -7763,7 +9079,7 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.init_metadata",
-      "id" : 68,
+      "id" : 76,
       "runtime_data" : [
         {
           "name" : "switch_id",
@@ -7776,7 +9092,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_transit33"]
+              "value" : ["scalars", "userMetadata._int_meta_transit47"]
             },
             {
               "type" : "expression",
@@ -7805,7 +9121,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
             },
             {
               "type" : "runtime_data",
@@ -7823,1490 +9139,12 @@
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i0",
-      "id" : 69,
+      "id" : 77,
       "runtime_data" : [],
       "primitives" : []
     },
     {
       "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i1",
-      "id" : 70,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_occupancy.q_occupancy = (bit<24>) smeta.deq_qdepth"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
-      "id" : 71,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_hop_latency"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 54,
-            "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" : 55,
-            "column" : 8,
-            "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
-      "id" : 72,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 54,
-            "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" : 55,
-            "column" : 8,
-            "source_fragment" : "hdr.int_hop_latency.hop_latency = (bit<32>) smeta.deq_timedelta"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
-      "id" : 73,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_port_ids"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
-      "id" : 74,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
-      "id" : 75,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_hop_latency"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 54,
-            "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" : 55,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
-      "id" : 76,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_occupancy"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 60,
-            "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" : 62,
-            "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" : 63,
-            "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" : 54,
-            "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" : 55,
-            "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" : 47,
-            "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" : 48,
-            "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" : 49,
-            "column" : 8,
-            "source_fragment" : "hdr.int_port_ids.egress_port_id = (bit<16>) smeta.egress_port"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x03"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 109,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x000c"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 110,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
-      "id" : 77,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
       "id" : 78,
       "runtime_data" : [],
       "primitives" : [
@@ -9377,45 +9215,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -9429,11 +9233,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -9447,9 +9251,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -9457,7 +9261,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -9471,11 +9275,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -9489,15 +9293,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i2",
       "id" : 79,
       "runtime_data" : [],
       "primitives" : [
@@ -9536,45 +9340,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -9588,11 +9358,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -9606,9 +9376,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -9616,7 +9386,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -9630,11 +9400,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -9648,15 +9418,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i3",
       "id" : 80,
       "runtime_data" : [],
       "primitives" : [
@@ -9761,45 +9531,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -9813,11 +9549,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -9831,9 +9567,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -9841,7 +9577,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -9855,11 +9591,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -9873,15 +9609,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i4",
       "id" : 81,
       "runtime_data" : [],
       "primitives" : [
@@ -9965,45 +9701,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -10017,11 +9719,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -10035,9 +9737,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -10045,7 +9747,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -10059,11 +9761,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -10077,15 +9779,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i5",
       "id" : 82,
       "runtime_data" : [],
       "primitives" : [
@@ -10235,45 +9937,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -10287,11 +9955,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -10305,9 +9973,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -10315,7 +9983,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -10329,11 +9997,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -10347,15 +10015,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i6",
       "id" : 83,
       "runtime_data" : [],
       "primitives" : [
@@ -10473,45 +10141,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -10525,11 +10159,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -10543,9 +10177,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -10553,7 +10187,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -10567,11 +10201,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -10585,15 +10219,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i7",
       "id" : 84,
       "runtime_data" : [],
       "primitives" : [
@@ -10777,45 +10411,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_switch_id"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 41,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.setValid()"
-          }
-        },
-        {
           "op" : "assign",
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_switch_id", "switch_id"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_switch_id35"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 42,
-            "column" : 8,
-            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -10829,1226 +10429,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x04"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 115,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 4; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0010"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 116,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 16; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
-      "id" : 85,
-      "runtime_data" : [],
-      "primitives" : []
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
-      "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" : 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/int_transit.p4",
-            "line" : 90,
-            "column" : 8,
-            "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = 32w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
-      "id" : 87,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_congestion"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 80,
-            "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" : 82,
-            "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" : 83,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
-      "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" : 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/int_transit.p4",
-            "line" : 90,
-            "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" : 80,
-            "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" : 82,
-            "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" : 83,
-            "column" : 8,
-            "source_fragment" : "hdr.int_q_congestion.q_congestion = 24w0"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
-      "id" : 89,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x01"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 97,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0004"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 98,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
-      "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" : 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/int_transit.p4",
-            "line" : 90,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
-      "id" : 91,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_q_congestion"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 80,
-            "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" : 82,
-            "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" : 83,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x02"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 103,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
-                      },
-                      "right" : {
-                        "type" : "hexstr",
-                        "value" : "0x0008"
-                      }
-                    }
-                  },
-                  "right" : {
-                    "type" : "hexstr",
-                    "value" : "0xffff"
-                  }
-                }
-              }
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 104,
-            "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
-      "id" : 92,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_egress_tx_util"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/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/int_transit.p4",
-            "line" : 90,
-            "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" : 80,
-            "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" : 82,
-            "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" : 83,
-            "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" : 74,
-            "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" : 75,
-            "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" : ["scalars", "userMetadata._int_meta_new_words36"]
-            },
-            {
-              "type" : "expression",
-              "value" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "&",
-                  "left" : {
-                    "type" : "expression",
-                    "value" : {
-                      "op" : "+",
-                      "left" : {
-                        "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -12076,7 +10457,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -12090,7 +10471,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -12116,8 +10497,8 @@
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
-      "id" : 93,
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i8",
+      "id" : 85,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -12125,14 +10506,14 @@
           "parameters" : [
             {
               "type" : "header",
-              "value" : "int_ingress_tstamp"
+              "value" : "int_switch_id"
             }
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 68,
+            "line" : 41,
             "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
+            "source_fragment" : "hdr.int_switch_id.setValid()"
           }
         },
         {
@@ -12140,18 +10521,18 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["int_ingress_tstamp", "ingress_tstamp"]
+              "value" : ["int_switch_id", "switch_id"]
             },
             {
               "type" : "field",
-              "value" : ["standard_metadata", "enq_timestamp"]
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
             }
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 69,
+            "line" : 42,
             "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
           }
         },
         {
@@ -12159,7 +10540,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -12173,7 +10554,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -12201,7 +10582,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -12215,7 +10596,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -12241,7 +10622,1604 @@
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i9",
+      "id" : 86,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i10",
+      "id" : 87,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_hop_latency"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 54,
+            "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" : 55,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i11",
+      "id" : 88,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 54,
+            "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" : 55,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i12",
+      "id" : 89,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_port_ids"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i13",
+      "id" : 90,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i14",
+      "id" : 91,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_hop_latency"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 54,
+            "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" : 55,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0003_i15",
+      "id" : 92,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_occupancy"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 60,
+            "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" : 62,
+            "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" : 63,
+            "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" : 54,
+            "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" : 55,
+            "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" : 47,
+            "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" : 48,
+            "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" : 49,
+            "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" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_switch_id", "switch_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_switch_id49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "hdr.int_switch_id.switch_id = fmeta.int_meta.switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x04"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 115,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 4; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0010"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 116,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 16; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i0",
+      "id" : 93,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i1",
       "id" : 94,
       "runtime_data" : [],
       "primitives" : [
@@ -12280,45 +12258,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -12332,11 +12276,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -12350,9 +12294,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -12360,7 +12304,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -12374,11 +12318,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -12392,15 +12336,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i2",
       "id" : 95,
       "runtime_data" : [],
       "primitives" : [
@@ -12458,45 +12402,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -12510,11 +12420,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -12528,9 +12438,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -12538,7 +12448,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -12552,11 +12462,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -12570,15 +12480,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i3",
       "id" : 96,
       "runtime_data" : [],
       "primitives" : [
@@ -12670,45 +12580,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -12722,11 +12598,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -12740,9 +12616,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -12750,7 +12626,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -12764,11 +12640,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -12782,15 +12658,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i4",
       "id" : 97,
       "runtime_data" : [],
       "primitives" : [
@@ -12852,45 +12728,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -12904,11 +12746,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x02"
+                        "value" : "0x01"
                       }
                     }
                   },
@@ -12922,9 +12764,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 103,
+            "line" : 97,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
           }
         },
         {
@@ -12932,7 +12774,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -12946,11 +12788,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x0008"
+                        "value" : "0x0004"
                       }
                     }
                   },
@@ -12964,15 +12806,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 104,
+            "line" : 98,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i5",
       "id" : 98,
       "runtime_data" : [],
       "primitives" : [
@@ -13068,45 +12910,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -13120,11 +12928,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -13138,9 +12946,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -13148,7 +12956,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -13162,11 +12970,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -13180,15 +12988,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i6",
       "id" : 99,
       "runtime_data" : [],
       "primitives" : [
@@ -13303,45 +13111,11 @@
           }
         },
         {
-          "op" : "add_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "int_ingress_tstamp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/int/int_transit.p4",
-            "line" : 68,
-            "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" : 69,
-            "column" : 8,
-            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -13355,11 +13129,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x03"
+                        "value" : "0x02"
                       }
                     }
                   },
@@ -13373,9 +13147,9 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 109,
+            "line" : 103,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
           }
         },
         {
@@ -13383,7 +13157,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -13397,11 +13171,11 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
-                        "value" : "0x000c"
+                        "value" : "0x0008"
                       }
                     }
                   },
@@ -13415,15 +13189,15 @@
           ],
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
-            "line" : 110,
+            "line" : 104,
             "column" : 33,
-            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
           }
         }
       ]
     },
     {
-      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i7",
       "id" : 100,
       "runtime_data" : [],
       "primitives" : [
@@ -13572,6 +13346,97 @@
           }
         },
         {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i8",
+      "id" : 101,
+      "runtime_data" : [],
+      "primitives" : [
+        {
           "op" : "add_header",
           "parameters" : [
             {
@@ -13610,7 +13475,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
             },
             {
               "type" : "expression",
@@ -13624,7 +13489,1458 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 97,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0004"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 98,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 4; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i9",
+      "id" : 102,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i10",
+      "id" : 103,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_congestion"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i11",
+      "id" : 104,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i12",
+      "id" : 105,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tstamp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 103,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 104,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 8; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i13",
+      "id" : 106,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i14",
+      "id" : 107,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_q_congestion"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 109,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_words + 3; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x000c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/int_transit.p4",
+            "line" : 110,
+            "column" : 33,
+            "source_fragment" : "= fmeta.int_meta.new_bytes + 12; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.process_int_main.process_int_transit.int_set_header_0407_i15",
+      "id" : 108,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_tx_util"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/int/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/int_transit.p4",
+            "line" : 90,
+            "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" : 80,
+            "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" : 82,
+            "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" : 83,
+            "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" : 74,
+            "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" : 75,
+            "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" : 68,
+            "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" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = (bit<32>) smeta.enq_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_meta_new_words50"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -13652,7 +14968,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+              "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
             },
             {
               "type" : "expression",
@@ -13666,7 +14982,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -13693,7 +15009,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_mpls_if_present",
-      "id" : 101,
+      "id" : 109,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -13720,7 +15036,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
             }
           ],
           "source_info" : {
@@ -13734,7 +15050,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.set_mpls",
-      "id" : 102,
+      "id" : 110,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -13761,7 +15077,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             }
           ],
           "source_info" : {
@@ -13818,7 +15134,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl5"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             }
           ],
           "source_info" : {
@@ -13842,7 +15158,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 130,
+            "line" : 147,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
           }
@@ -13851,7 +15167,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_vlan",
-      "id" : 103,
+      "id" : 111,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -13878,7 +15194,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -13897,7 +15213,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -13921,7 +15237,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -13935,7 +15251,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -13949,7 +15265,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 104,
+      "id" : 112,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -13971,7 +15287,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.drop",
-      "id" : 105,
+      "id" : 113,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -13992,8 +15308,40 @@
       ]
     },
     {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 114,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 115,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 135,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "FabricEgress.spgw.gtpu_encap",
-      "id" : 106,
+      "id" : 116,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14006,7 +15354,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 300,
+            "line" : 311,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.setValid()"
           }
@@ -14025,7 +15373,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 301,
+            "line" : 312,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.version = 4"
           }
@@ -14044,7 +15392,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 147,
+            "line" : 164,
             "column" : 28,
             "source_fragment" : "5; ..."
           }
@@ -14063,7 +15411,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 303,
+            "line" : 314,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
           }
@@ -14082,7 +15430,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 304,
+            "line" : 315,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
           }
@@ -14124,7 +15472,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 305,
+            "line" : 316,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
           }
@@ -14143,7 +15491,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 307,
+            "line" : 318,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
           }
@@ -14162,7 +15510,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 308,
+            "line" : 319,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
           }
@@ -14181,7 +15529,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 309,
+            "line" : 320,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
           }
@@ -14200,7 +15548,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 160,
+            "line" : 177,
             "column" : 32,
             "source_fragment" : "64; ..."
           }
@@ -14219,7 +15567,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 144,
+            "line" : 161,
             "column" : 25,
             "source_fragment" : "17; ..."
           }
@@ -14233,12 +15581,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 312,
+            "line" : 323,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
           }
@@ -14252,12 +15600,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 313,
+            "line" : 324,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
           }
@@ -14276,7 +15624,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 314,
+            "line" : 325,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
           }
@@ -14291,7 +15639,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 316,
+            "line" : 327,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.setValid()"
           }
@@ -14305,12 +15653,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 317,
+            "line" : 328,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
           }
@@ -14329,7 +15677,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 318,
+            "line" : 329,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.dport = 2152"
           }
@@ -14353,7 +15701,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -14371,7 +15719,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 319,
+            "line" : 330,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
           }
@@ -14390,7 +15738,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 321,
+            "line" : 332,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.checksum = 0"
           }
@@ -14405,7 +15753,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 324,
+            "line" : 334,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.setValid()"
           }
@@ -14424,7 +15772,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 325,
+            "line" : 335,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.version = 0x01"
           }
@@ -14443,7 +15791,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 326,
+            "line" : 336,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
           }
@@ -14462,7 +15810,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 327,
+            "line" : 337,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.spare = 0"
           }
@@ -14481,7 +15829,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 328,
+            "line" : 338,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
           }
@@ -14500,7 +15848,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 329,
+            "line" : 339,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
           }
@@ -14519,7 +15867,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 330,
+            "line" : 340,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
           }
@@ -14538,7 +15886,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 331,
+            "line" : 341,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
           }
@@ -14552,12 +15900,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 332,
+            "line" : 342,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
           }
@@ -14571,12 +15919,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid20"]
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 333,
+            "line" : 343,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
           }
@@ -14584,8 +15932,870 @@
       ]
     },
     {
+      "name" : "FabricEgress.spgw.gtpu_encap_qfi",
+      "id" : 117,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 311,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 312,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.version = 4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 164,
+            "column" : 28,
+            "source_fragment" : "5; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 314,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 315,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4", "total_len"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0024"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 316,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x1513"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 318,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 319,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 320,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 177,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 161,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "src_addr"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 323,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 324,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "hdr_checksum"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 325,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 327,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "sport"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 328,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "dport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0868"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 329,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.dport = 2152"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0010"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 330,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "checksum"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 332,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.checksum = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 334,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 335,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.version = 0x01"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "pt"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 336,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "spare"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 337,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.spare = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "ex_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 338,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "seq_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 339,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "npdu_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 340,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msgtype"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 341,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msglen"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 342,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "teid"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 343,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4", "total_len"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x002c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 349,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0018"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 352,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msglen"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 355,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "ex_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 357,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.ex_flag = 1"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 358,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_options.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x85"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 359,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_options.next_ext = 0x85"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 360,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 88,
+            "column" : 36,
+            "source_fragment" : "4w0; // Downlink ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "len"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 362,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.len = 8w1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "qfi"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi39"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 363,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.qfi = fabric_md.spgw.qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "next_ext"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 364,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.next_ext = 0x0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio41",
-      "id" : 107,
+      "id" : 118,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14602,7 +16812,7 @@
     },
     {
       "name" : "packetio44",
-      "id" : 108,
+      "id" : 119,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14653,7 +16863,7 @@
     },
     {
       "name" : "next283",
-      "id" : 109,
+      "id" : 120,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14675,7 +16885,7 @@
     },
     {
       "name" : "next310",
-      "id" : 110,
+      "id" : 121,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14697,7 +16907,7 @@
     },
     {
       "name" : "next309",
-      "id" : 111,
+      "id" : 122,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14746,7 +16956,7 @@
     },
     {
       "name" : "next314",
-      "id" : 112,
+      "id" : 123,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14768,7 +16978,7 @@
     },
     {
       "name" : "next313",
-      "id" : 113,
+      "id" : 124,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14816,8 +17026,8 @@
       ]
     },
     {
-      "name" : "spgw342",
-      "id" : 114,
+      "name" : "spgw377",
+      "id" : 125,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14829,12 +17039,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 342,
+            "line" : 377,
             "column" : 16,
             "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           }
@@ -14843,7 +17053,7 @@
     },
     {
       "name" : "act",
-      "id" : 115,
+      "id" : 126,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14873,7 +17083,7 @@
     },
     {
       "name" : "int_transit420",
-      "id" : 116,
+      "id" : 127,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14909,7 +17119,7 @@
     },
     {
       "name" : "int_transit428",
-      "id" : 117,
+      "id" : 128,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -14935,7 +17145,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       }
                     }
                   },
@@ -14958,7 +17168,7 @@
     },
     {
       "name" : "int_transit425",
-      "id" : 118,
+      "id" : 129,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -15007,7 +17217,7 @@
     },
     {
       "name" : "int_transit431",
-      "id" : 119,
+      "id" : 130,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -15033,7 +17243,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_bytes37"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_bytes51"]
                       }
                     }
                   },
@@ -15056,7 +17266,7 @@
     },
     {
       "name" : "int_transit434",
-      "id" : 120,
+      "id" : 131,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -15082,7 +17292,7 @@
                       },
                       "right" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._int_meta_new_words36"]
+                        "value" : ["scalars", "userMetadata._int_meta_new_words50"]
                       }
                     }
                   },
@@ -15102,6 +17312,84 @@
           }
         }
       ]
+    },
+    {
+      "name" : "slicing155",
+      "id" : 132,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 155,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing159",
+      "id" : 133,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing126",
+      "id" : 134,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
+          }
+        }
+      ]
     }
   ],
   "pipelines" : [
@@ -15110,16 +17398,277 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 47,
+        "line" : 49,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
-      "init_table" : "node_2",
+      "init_table" : "tbl_lookup_md_init23",
       "tables" : [
         {
-          "name" : "tbl_packetio25",
+          "name" : "tbl_lookup_md_init23",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [61],
+          "actions" : ["lookup_md_init23"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "lookup_md_init23" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 61,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init32",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [56],
+          "actions" : ["lookup_md_init32"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "lookup_md_init32" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 56,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init37",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [53],
+          "actions" : ["lookup_md_init37"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init37" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 53,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init40",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [54],
+          "actions" : ["lookup_md_init40"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init40" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 54,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init43",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [55],
+          "actions" : ["lookup_md_init43"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init43" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 55,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init47",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [60],
+          "actions" : ["lookup_md_init47"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init47" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 60,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init52",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [57],
+          "actions" : ["lookup_md_init52"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init52" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 57,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init55",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [58],
+          "actions" : ["lookup_md_init55"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init55" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 58,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init58",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [59],
+          "actions" : ["lookup_md_init58"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init58" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 59,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio25",
+          "id" : 9,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 42,
@@ -15132,511 +17681,89 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [49],
+          "action_ids" : [62],
           "actions" : ["packetio25"],
-          "base_default_next" : "FabricIngress.spgw.interfaces",
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
           "next_tables" : {
-            "packetio25" : "FabricIngress.spgw.interfaces"
+            "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
           },
           "default_entry" : {
-            "action_id" : 49,
+            "action_id" : 62,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "FabricIngress.spgw.interfaces",
-          "id" : 1,
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 10,
           "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 129,
+            "filename" : "include/control/slicing.p4",
+            "line" : 49,
             "column" : 10,
-            "source_fragment" : "interfaces"
+            "source_fragment" : "classifier"
           },
           "key" : [
             {
-              "match_type" : "lpm",
-              "name" : "ipv4_dst_addr",
-              "target" : ["ipv4", "dst_addr"],
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["standard_metadata", "ingress_port"],
               "mask" : null
             },
             {
-              "match_type" : "exact",
-              "name" : "gtpu_is_valid",
-              "target" : ["gtpu", "$valid$"],
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             }
           ],
-          "match_type" : "lpm",
+          "match_type" : "ternary",
           "type" : "simple",
-          "max_size" : 128,
-          "with_counters" : false,
+          "max_size" : 512,
+          "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [40, 41],
-          "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
-          "base_default_next" : null,
+          "action_ids" : [32, 33],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
+          "base_default_next" : "node_22",
           "next_tables" : {
-            "__HIT__" : "node_5",
-            "__MISS__" : "node_16"
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
           },
           "default_entry" : {
-            "action_id" : 41,
+            "action_id" : 32,
             "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
-          "id" : 2,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 75,
-            "column" : 10,
-            "source_fragment" : "decap_gtpu"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_tcp.$valid$",
-              "target" : ["inner_tcp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_udp.$valid$",
-              "target" : ["inner_udp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_icmp.$valid$",
-              "target" : ["inner_icmp", "$valid$"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [32, 33, 34, 35],
-          "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
-          "base_default_next" : "node_7",
-          "next_tables" : {
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
-          },
-          "default_entry" : {
-            "action_id" : 35,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          },
-          "entries" : [
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 89,
-                "column" : 12,
-                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 32,
-                "action_data" : []
-              },
-              "priority" : 1
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 90,
-                "column" : 12,
-                "source_fragment" : "(false, true, false) : decap_inner_udp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 33,
-                "action_data" : []
-              },
-              "priority" : 2
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 91,
-                "column" : 12,
-                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 34,
-                "action_data" : []
-              },
-              "priority" : 3
-            }
-          ]
-        },
-        {
-          "name" : "FabricIngress.spgw.uplink_pdrs",
-          "id" : 3,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 176,
-            "column" : 10,
-            "source_fragment" : "uplink_pdrs"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "tunnel_ipv4_dst",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "teid",
-              "target" : ["gtpu", "teid"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [43, 45, 10],
-          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
-          "base_default_next" : "node_10",
-          "next_tables" : {
-            "FabricIngress.spgw.load_pdr" : "node_10",
-            "FabricIngress.spgw.load_pdr_qos" : "node_10",
-            "NoAction" : "node_10"
-          },
-          "default_entry" : {
-            "action_id" : 10,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.downlink_pdrs",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 164,
-            "column" : 10,
-            "source_fragment" : "downlink_pdrs"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "ue_addr",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [42, 44, 9],
-          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
-          "base_default_next" : "node_10",
-          "next_tables" : {
-            "FabricIngress.spgw.load_pdr" : "node_10",
-            "FabricIngress.spgw.load_pdr_qos" : "node_10",
-            "NoAction" : "node_10"
-          },
-          "default_entry" : {
-            "action_id" : 9,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "tbl_spgw265",
-          "id" : 5,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 265,
-            "column" : 16,
-            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [50],
-          "actions" : ["spgw265"],
-          "base_default_next" : "node_12",
-          "next_tables" : {
-            "spgw265" : "node_12"
-          },
-          "default_entry" : {
-            "action_id" : 50,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
-          "id" : 6,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 75,
-            "column" : 10,
-            "source_fragment" : "decap_gtpu"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_tcp.$valid$",
-              "target" : ["inner_tcp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_udp.$valid$",
-              "target" : ["inner_udp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_icmp.$valid$",
-              "target" : ["inner_icmp", "$valid$"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [36, 37, 38, 39],
-          "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
-          "base_default_next" : "FabricIngress.spgw.fars",
-          "next_tables" : {
-            "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
-          },
-          "default_entry" : {
-            "action_id" : 39,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          },
-          "entries" : [
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 89,
-                "column" : 12,
-                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 36,
-                "action_data" : []
-              },
-              "priority" : 1
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 90,
-                "column" : 12,
-                "source_fragment" : "(false, true, false) : decap_inner_udp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 37,
-                "action_data" : []
-              },
-              "priority" : 2
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 91,
-                "column" : 12,
-                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 38,
-                "action_data" : []
-              },
-              "priority" : 3
-            }
-          ]
-        },
-        {
-          "name" : "FabricIngress.spgw.fars",
-          "id" : 7,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 233,
-            "column" : 10,
-            "source_fragment" : "fars"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "far_id",
-              "target" : ["scalars", "userMetadata._spgw_far_id25"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 2048,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [46, 47, 48],
-          "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
-          "base_default_next" : "tbl_spgw282",
-          "next_tables" : {
-            "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
-            "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
-            "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
-          },
-          "default_entry" : {
-            "action_id" : 46,
-            "action_const" : true,
-            "action_data" : ["0x1", "0x0"],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_spgw282",
-          "id" : 8,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 282,
-            "column" : 36,
-            "source_fragment" : "="
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [51],
-          "actions" : ["spgw282"],
-          "base_default_next" : "node_16",
-          "next_tables" : {
-            "spgw282" : "node_16"
-          },
-          "default_entry" : {
-            "action_id" : 51,
-            "action_const" : true,
-            "action_data" : [],
+            "action_data" : ["0x0", "0x0"],
             "action_entry_const" : true
           }
         },
         {
           "name" : "tbl_filtering113",
-          "id" : 9,
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
@@ -15650,14 +17777,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [52],
+          "action_ids" : [63],
           "actions" : ["filtering113"],
-          "base_default_next" : "node_18",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "filtering113" : "node_18"
+            "filtering113" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 52,
+            "action_id" : 63,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -15665,7 +17792,7 @@
         },
         {
           "name" : "tbl_filtering129",
-          "id" : 10,
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
@@ -15679,14 +17806,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [53],
+          "action_ids" : [64],
           "actions" : ["filtering129"],
           "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
           "next_tables" : {
             "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
           },
           "default_entry" : {
-            "action_id" : 53,
+            "action_id" : 64,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -15694,7 +17821,7 @@
         },
         {
           "name" : "FabricIngress.filtering.ingress_port_vlan",
-          "id" : 11,
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 55,
@@ -15744,7 +17871,7 @@
         },
         {
           "name" : "FabricIngress.filtering.fwd_classifier",
-          "id" : 12,
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 94,
@@ -15773,7 +17900,7 @@
             {
               "match_type" : "exact",
               "name" : "ip_eth_type",
-              "target" : ["scalars", "userMetadata._ip_eth_type0"],
+              "target" : ["scalars", "userMetadata._ip_eth_type8"],
               "mask" : null
             }
           ],
@@ -15785,9 +17912,9 @@
           "direct_meters" : null,
           "action_ids" : [15],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
-          "base_default_next" : "node_22",
+          "base_default_next" : "node_28",
           "next_tables" : {
-            "FabricIngress.filtering.set_forwarding_type" : "node_22"
+            "FabricIngress.filtering.set_forwarding_type" : "node_28"
           },
           "default_entry" : {
             "action_id" : 15,
@@ -15797,8 +17924,509 @@
           }
         },
         {
+          "name" : "FabricIngress.spgw.interfaces",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 132,
+            "column" : 10,
+            "source_fragment" : "interfaces"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "name" : "ipv4_dst_addr",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "gtpu_is_valid",
+              "target" : ["gtpu", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [44, 45],
+          "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "node_30",
+            "__MISS__" : "node_41"
+          },
+          "default_entry" : {
+            "action_id" : 45,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 77,
+            "column" : 10,
+            "source_fragment" : "decap_gtpu"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_tcp.$valid$",
+              "target" : ["inner_tcp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_udp.$valid$",
+              "target" : ["inner_udp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_icmp.$valid$",
+              "target" : ["inner_icmp", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [36, 37, 38, 39],
+          "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
+          "base_default_next" : "node_32",
+          "next_tables" : {
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_32",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_32",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_32",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_32"
+          },
+          "default_entry" : {
+            "action_id" : 39,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 91,
+                "column" : 12,
+                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 36,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 92,
+                "column" : 12,
+                "source_fragment" : "(false, true, false) : decap_inner_udp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 37,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 93,
+                "column" : 12,
+                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 38,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.spgw.uplink_pdrs",
+          "id" : 17,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 184,
+            "column" : 10,
+            "source_fragment" : "uplink_pdrs"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "tunnel_ipv4_dst",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "teid",
+              "target" : ["gtpu", "teid"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "has_qfi",
+              "target" : ["gtpu_ext_psc", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "qfi",
+              "target" : ["scalars", "userMetadata._spgw_qfi39"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [47, 49, 10],
+          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
+          "base_default_next" : "node_35",
+          "next_tables" : {
+            "FabricIngress.spgw.load_pdr" : "node_35",
+            "FabricIngress.spgw.load_pdr_qos" : "node_35",
+            "NoAction" : "node_35"
+          },
+          "default_entry" : {
+            "action_id" : 10,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.downlink_pdrs",
+          "id" : 18,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 172,
+            "column" : 10,
+            "source_fragment" : "downlink_pdrs"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "ue_addr",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [46, 48, 9],
+          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
+          "base_default_next" : "node_35",
+          "next_tables" : {
+            "FabricIngress.spgw.load_pdr" : "node_35",
+            "FabricIngress.spgw.load_pdr_qos" : "node_35",
+            "NoAction" : "node_35"
+          },
+          "default_entry" : {
+            "action_id" : 9,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_spgw277",
+          "id" : 19,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 277,
+            "column" : 16,
+            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [65],
+          "actions" : ["spgw277"],
+          "base_default_next" : "node_37",
+          "next_tables" : {
+            "spgw277" : "node_37"
+          },
+          "default_entry" : {
+            "action_id" : 65,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+          "id" : 20,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 77,
+            "column" : 10,
+            "source_fragment" : "decap_gtpu"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_tcp.$valid$",
+              "target" : ["inner_tcp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_udp.$valid$",
+              "target" : ["inner_udp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_icmp.$valid$",
+              "target" : ["inner_icmp", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [40, 41, 42, 43],
+          "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
+          "base_default_next" : "FabricIngress.spgw.fars",
+          "next_tables" : {
+            "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
+          },
+          "default_entry" : {
+            "action_id" : 43,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 91,
+                "column" : 12,
+                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 40,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 92,
+                "column" : 12,
+                "source_fragment" : "(false, true, false) : decap_inner_udp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 41,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 93,
+                "column" : 12,
+                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 42,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.spgw.fars",
+          "id" : 21,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 245,
+            "column" : 10,
+            "source_fragment" : "fars"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "far_id",
+              "target" : ["scalars", "userMetadata._spgw_far_id37"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 2048,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [50, 51, 52],
+          "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
+          "base_default_next" : "tbl_spgw294",
+          "next_tables" : {
+            "FabricIngress.spgw.load_normal_far" : "tbl_spgw294",
+            "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw294",
+            "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw294"
+          },
+          "default_entry" : {
+            "action_id" : 50,
+            "action_const" : true,
+            "action_data" : ["0x1", "0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_spgw294",
+          "id" : 22,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 294,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [66],
+          "actions" : ["spgw294"],
+          "base_default_next" : "node_41",
+          "next_tables" : {
+            "spgw294" : "node_41"
+          },
+          "default_entry" : {
+            "action_id" : 66,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
           "name" : "FabricIngress.forwarding.bridging",
-          "id" : 13,
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 46,
@@ -15809,7 +18437,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -15827,10 +18455,10 @@
           "direct_meters" : null,
           "action_ids" : [16, 1],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
-          "base_default_next" : "node_29",
+          "base_default_next" : "node_48",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_bridging" : "node_29",
-            "nop" : "node_29"
+            "FabricIngress.forwarding.set_next_id_bridging" : "node_48",
+            "nop" : "node_48"
           },
           "default_entry" : {
             "action_id" : 1,
@@ -15841,7 +18469,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.mpls",
-          "id" : 14,
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 71,
@@ -15852,7 +18480,7 @@
             {
               "match_type" : "exact",
               "name" : "mpls_label",
-              "target" : ["scalars", "userMetadata._mpls_label4"],
+              "target" : ["scalars", "userMetadata._mpls_label12"],
               "mask" : null
             }
           ],
@@ -15864,10 +18492,10 @@
           "direct_meters" : null,
           "action_ids" : [17, 2],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
-          "base_default_next" : "node_29",
+          "base_default_next" : "node_48",
           "next_tables" : {
-            "FabricIngress.forwarding.pop_mpls_and_next" : "node_29",
-            "nop" : "node_29"
+            "FabricIngress.forwarding.pop_mpls_and_next" : "node_48",
+            "nop" : "node_48"
           },
           "default_entry" : {
             "action_id" : 2,
@@ -15878,7 +18506,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v4",
-          "id" : 15,
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 108,
@@ -15889,7 +18517,7 @@
             {
               "match_type" : "lpm",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
+              "target" : ["scalars", "userMetadata._ipv4_dst_addr24"],
               "mask" : null
             }
           ],
@@ -15901,11 +18529,11 @@
           "direct_meters" : null,
           "action_ids" : [18, 19, 3],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
-          "base_default_next" : "node_29",
+          "base_default_next" : "node_48",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_29",
-            "FabricIngress.forwarding.nop_routing_v4" : "node_29",
-            "nop" : "node_29"
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_48",
+            "FabricIngress.forwarding.nop_routing_v4" : "node_48",
+            "nop" : "node_48"
           },
           "default_entry" : {
             "action_id" : 3,
@@ -15916,7 +18544,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_mpls",
-          "id" : 16,
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 36,
@@ -15927,7 +18555,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -15953,7 +18581,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_vlan",
-          "id" : 17,
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 73,
@@ -15964,7 +18592,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -15976,10 +18604,10 @@
           "direct_meters" : null,
           "action_ids" : [21, 5],
           "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
-          "base_default_next" : "tbl_acl27",
+          "base_default_next" : "FabricIngress.acl.acl",
           "next_tables" : {
-            "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
-            "nop" : "tbl_acl27"
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
           },
           "default_entry" : {
             "action_id" : 5,
@@ -15989,214 +18617,11 @@
           }
         },
         {
-          "name" : "tbl_acl27",
-          "id" : 18,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [60],
-          "actions" : ["acl27"],
-          "base_default_next" : "node_33",
-          "next_tables" : {
-            "acl27" : "node_33"
-          },
-          "default_entry" : {
-            "action_id" : 60,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl98",
-          "id" : 19,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 21,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [56],
-          "actions" : ["acl98"],
-          "base_default_next" : "node_35",
-          "next_tables" : {
-            "acl98" : "node_35"
-          },
-          "default_entry" : {
-            "action_id" : 56,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl102",
-          "id" : 20,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [54],
-          "actions" : ["acl102"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl102" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 54,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl105",
-          "id" : 21,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [55],
-          "actions" : ["acl105"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl105" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 55,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl109",
-          "id" : 22,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 21,
-            "source_fragment" : "= hdr.ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [59],
-          "actions" : ["acl109"],
-          "base_default_next" : "node_41",
-          "next_tables" : {
-            "acl109" : "node_41"
-          },
-          "default_entry" : {
-            "action_id" : 59,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl113",
-          "id" : 23,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 25,
-            "source_fragment" : "= hdr.tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [57],
-          "actions" : ["acl113"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl113" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 57,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl116",
-          "id" : 24,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 25,
-            "source_fragment" : "= hdr.udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [58],
-          "actions" : ["acl116"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl116" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 58,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
           "name" : "FabricIngress.acl.acl",
-          "id" : 25,
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 66,
+            "line" : 59,
             "column" : 10,
             "source_fragment" : "acl"
           },
@@ -16234,19 +18659,19 @@
             {
               "match_type" : "ternary",
               "name" : "ipv4_src",
-              "target" : ["scalars", "acl_ipv4_src"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "acl_ipv4_dst"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ip_proto",
-              "target" : ["scalars", "acl_ip_proto"],
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
               "mask" : null
             },
             {
@@ -16264,19 +18689,19 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "acl_l4_sport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "acl_l4_dport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "port_type",
-              "target" : ["scalars", "userMetadata._port_type40"],
+              "target" : ["scalars", "userMetadata._port_type54"],
               "mask" : null
             }
           ],
@@ -16288,13 +18713,13 @@
           "direct_meters" : null,
           "action_ids" : [22, 23, 24, 25, 26],
           "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
-          "base_default_next" : "node_46",
+          "base_default_next" : "node_52",
           "next_tables" : {
-            "FabricIngress.acl.set_next_id_acl" : "node_46",
-            "FabricIngress.acl.punt_to_cpu" : "node_46",
-            "FabricIngress.acl.set_clone_session_id" : "node_46",
-            "FabricIngress.acl.drop" : "node_46",
-            "FabricIngress.acl.nop_acl" : "node_46"
+            "FabricIngress.acl.set_next_id_acl" : "node_52",
+            "FabricIngress.acl.punt_to_cpu" : "node_52",
+            "FabricIngress.acl.set_clone_session_id" : "node_52",
+            "FabricIngress.acl.drop" : "node_52",
+            "FabricIngress.acl.nop_acl" : "node_52"
           },
           "default_entry" : {
             "action_id" : 26,
@@ -16305,7 +18730,7 @@
         },
         {
           "name" : "FabricIngress.next.xconnect",
-          "id" : 26,
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 68,
@@ -16322,7 +18747,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -16349,7 +18774,7 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 27,
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 138,
@@ -16360,7 +18785,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -16382,7 +18807,7 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 28,
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 171,
@@ -16393,7 +18818,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -16405,10 +18830,10 @@
           "direct_meters" : null,
           "action_ids" : [31, 8],
           "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
-          "base_default_next" : "node_50",
+          "base_default_next" : "node_56",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group_id" : "node_50",
-            "nop" : "node_50"
+            "FabricIngress.next.set_mcast_group_id" : "node_56",
+            "nop" : "node_56"
           },
           "default_entry" : {
             "action_id" : 8,
@@ -16419,7 +18844,7 @@
         },
         {
           "name" : "tbl_port_counter31",
-          "id" : 29,
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 31,
@@ -16433,14 +18858,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [61],
+          "action_ids" : [67],
           "actions" : ["port_counter31"],
-          "base_default_next" : "node_52",
+          "base_default_next" : "node_58",
           "next_tables" : {
-            "port_counter31" : "node_52"
+            "port_counter31" : "node_58"
           },
           "default_entry" : {
-            "action_id" : 61,
+            "action_id" : 67,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -16448,7 +18873,7 @@
         },
         {
           "name" : "tbl_port_counter34",
-          "id" : 30,
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 34,
@@ -16462,14 +18887,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [62],
+          "action_ids" : [68],
           "actions" : ["port_counter34"],
           "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
           "next_tables" : {
             "port_counter34" : "FabricIngress.process_set_source_sink.tb_set_source"
           },
           "default_entry" : {
-            "action_id" : 62,
+            "action_id" : 68,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -16477,7 +18902,7 @@
         },
         {
           "name" : "FabricIngress.process_set_source_sink.tb_set_source",
-          "id" : 31,
+          "id" : 34,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 46,
@@ -16500,10 +18925,10 @@
           "direct_meters" : null,
           "action_ids" : [11, 0],
           "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "nop"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "FabricIngress.process_set_source_sink.int_set_source" : null,
-            "nop" : null
+            "FabricIngress.process_set_source_sink.int_set_source" : "tbl_slicing114",
+            "nop" : "tbl_slicing114"
           },
           "default_entry" : {
             "action_id" : 0,
@@ -16511,6 +18936,84 @@
             "action_data" : [],
             "action_entry_const" : true
           }
+        },
+        {
+          "name" : "tbl_slicing114",
+          "id" : 35,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [69],
+          "actions" : ["slicing114"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing114" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 69,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 36,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 93,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_id",
+              "target" : ["scalars", "userMetadata._slice_id25"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc",
+              "target" : ["scalars", "userMetadata._tc27"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "userMetadata._packet_color26"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [34, 35],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : null,
+            "FabricIngress.qos.meter_drop" : null
+          },
+          "default_entry" : {
+            "action_id" : 34,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
         }
       ],
       "action_profiles" : [
@@ -16529,23 +19032,23 @@
             "input" : [
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+                "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+                "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ip_proto12"]
+                "value" : ["scalars", "userMetadata._ip_proto20"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_sport13"]
+                "value" : ["scalars", "userMetadata._l4_sport21"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_dport14"]
+                "value" : ["scalars", "userMetadata._l4_dport22"]
               }
             ]
           }
@@ -16553,9 +19056,193 @@
       ],
       "conditionals" : [
         {
-          "name" : "node_2",
+          "name" : "node_3",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init32",
+          "false_next" : "node_11"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init37",
+          "false_next" : "node_7"
+        },
+        {
+          "name" : "node_7",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init40",
+          "false_next" : "node_9"
+        },
+        {
+          "name" : "node_9",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init43",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_11",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 46,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init47",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init52",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init55",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init58",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_19",
+          "id" : 8,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 24,
             "column" : 12,
@@ -16573,109 +19260,11 @@
             }
           },
           "true_next" : "tbl_packetio25",
-          "false_next" : "FabricIngress.spgw.interfaces"
+          "false_next" : "FabricIngress.slice_tc_classifier.classifier"
         },
         {
-          "name" : "node_5",
-          "id" : 1,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 255,
-            "column" : 16,
-            "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "==",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_src_iface26"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
-          "false_next" : "node_7"
-        },
-        {
-          "name" : "node_7",
-          "id" : 2,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 259,
-            "column" : 16,
-            "source_fragment" : "hdr.gtpu.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["gtpu", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.uplink_pdrs",
-          "false_next" : "FabricIngress.spgw.downlink_pdrs"
-        },
-        {
-          "name" : "node_10",
-          "id" : 3,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 264,
-            "column" : 16,
-            "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "!=",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_src_iface26"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "tbl_spgw265",
-          "false_next" : "node_12"
-        },
-        {
-          "name" : "node_12",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "fabric.p4",
-            "line" : 68,
-            "column" : 24,
-            "source_fragment" : "fabric_metadata"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
-          "false_next" : "FabricIngress.spgw.fars"
-        },
-        {
-          "name" : "node_16",
-          "id" : 5,
+          "name" : "node_22",
+          "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 112,
@@ -16694,11 +19283,11 @@
             }
           },
           "true_next" : "tbl_filtering113",
-          "false_next" : "node_18"
+          "false_next" : "node_24"
         },
         {
-          "name" : "node_18",
-          "id" : 6,
+          "name" : "node_24",
+          "id" : 10,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 124,
@@ -16727,11 +19316,11 @@
           "false_next" : "FabricIngress.filtering.ingress_port_vlan"
         },
         {
-          "name" : "node_22",
-          "id" : 7,
+          "name" : "node_28",
+          "id" : 11,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 71,
+            "line" : 76,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding"
           },
@@ -16747,18 +19336,146 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_forwarding6"]
+                    "value" : ["scalars", "userMetadata._skip_forwarding14"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_23",
-          "false_next" : "node_29"
+          "true_next" : "FabricIngress.spgw.interfaces",
+          "false_next" : "node_41"
         },
         {
-          "name" : "node_23",
-          "id" : 8,
+          "name" : "node_30",
+          "id" : 12,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 267,
+            "column" : 16,
+            "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_src_iface38"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x03"
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+          "false_next" : "node_32"
+        },
+        {
+          "name" : "node_32",
+          "id" : 13,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 271,
+            "column" : 16,
+            "source_fragment" : "hdr.gtpu.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["gtpu", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.uplink_pdrs",
+          "false_next" : "FabricIngress.spgw.downlink_pdrs"
+        },
+        {
+          "name" : "node_35",
+          "id" : 14,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 276,
+            "column" : 16,
+            "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "!=",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_src_iface38"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x03"
+              }
+            }
+          },
+          "true_next" : "tbl_spgw277",
+          "false_next" : "node_37"
+        },
+        {
+          "name" : "node_37",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 77,
+            "column" : 28,
+            "source_fragment" : "fabric_metadata"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+          "false_next" : "FabricIngress.spgw.fars"
+        },
+        {
+          "name" : "node_41",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 80,
+            "column" : 12,
+            "source_fragment" : "fabric_metadata.skip_forwarding"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "not",
+              "left" : null,
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["scalars", "userMetadata._skip_forwarding14"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "node_42",
+          "false_next" : "node_48"
+        },
+        {
+          "name" : "node_42",
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 150,
@@ -16771,7 +19488,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -16780,11 +19497,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.bridging",
-          "false_next" : "node_25"
+          "false_next" : "node_44"
         },
         {
-          "name" : "node_25",
-          "id" : 9,
+          "name" : "node_44",
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 151,
@@ -16797,7 +19514,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -16806,11 +19523,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.mpls",
-          "false_next" : "node_27"
+          "false_next" : "node_46"
         },
         {
-          "name" : "node_27",
-          "id" : 10,
+          "name" : "node_46",
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 152,
@@ -16823,7 +19540,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -16832,14 +19549,14 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v4",
-          "false_next" : "node_29"
+          "false_next" : "node_48"
         },
         {
-          "name" : "node_29",
-          "id" : 11,
+          "name" : "node_48",
+          "id" : 20,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 74,
+            "line" : 83,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -16855,176 +19572,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next7"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
           "true_next" : "FabricIngress.pre_next.next_mpls",
-          "false_next" : "tbl_acl27"
-        },
-        {
-          "name" : "node_33",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 97,
-            "column" : 12,
-            "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "and",
-              "left" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["gtpu", "$valid$"]
-                  }
-                }
-              },
-              "right" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["inner_ipv4", "$valid$"]
-                  }
-                }
-              }
-            }
-          },
-          "true_next" : "tbl_acl98",
-          "false_next" : "node_39"
-        },
-        {
-          "name" : "node_35",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 101,
-            "column" : 16,
-            "source_fragment" : "hdr.inner_tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl102",
-          "false_next" : "node_37"
-        },
-        {
-          "name" : "node_37",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 104,
-            "column" : 23,
-            "source_fragment" : "hdr.inner_udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl105",
           "false_next" : "FabricIngress.acl.acl"
         },
         {
-          "name" : "node_39",
-          "id" : 15,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 108,
-            "column" : 19,
-            "source_fragment" : "hdr.ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv4", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl109",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_41",
-          "id" : 16,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 112,
-            "column" : 16,
-            "source_fragment" : "hdr.tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl113",
-          "false_next" : "node_43"
-        },
-        {
-          "name" : "node_43",
-          "id" : 17,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 115,
-            "column" : 23,
-            "source_fragment" : "hdr.udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl116",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_46",
-          "id" : 18,
+          "name" : "node_52",
+          "id" : 21,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 78,
+            "line" : 87,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -17040,18 +19602,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next7"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.next.xconnect"
+          "true_next" : "FabricIngress.next.xconnect",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_50",
-          "id" : 19,
+          "name" : "node_56",
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 30,
@@ -17073,11 +19635,11 @@
             }
           },
           "true_next" : "tbl_port_counter31",
-          "false_next" : "node_52"
+          "false_next" : "node_58"
         },
         {
-          "name" : "node_52",
-          "id" : 20,
+          "name" : "node_58",
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 33,
@@ -17108,15 +19670,15 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 96,
+        "line" : 105,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
-      "init_table" : "node_57",
+      "init_table" : "node_65",
       "tables" : [
         {
           "name" : "tbl_packetio41",
-          "id" : 32,
+          "id" : 37,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 41,
@@ -17130,14 +19692,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [107],
+          "action_ids" : [118],
           "actions" : ["packetio41"],
-          "base_default_next" : "node_59",
+          "base_default_next" : "node_67",
           "next_tables" : {
-            "packetio41" : "node_59"
+            "packetio41" : "node_67"
           },
           "default_entry" : {
-            "action_id" : 107,
+            "action_id" : 118,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17145,7 +19707,7 @@
         },
         {
           "name" : "tbl_packetio44",
-          "id" : 33,
+          "id" : 38,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 44,
@@ -17159,14 +19721,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [108],
+          "action_ids" : [119],
           "actions" : ["packetio44"],
-          "base_default_next" : "node_61",
+          "base_default_next" : "node_69",
           "next_tables" : {
-            "packetio44" : "node_61"
+            "packetio44" : "node_69"
           },
           "default_entry" : {
-            "action_id" : 108,
+            "action_id" : 119,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17174,7 +19736,7 @@
         },
         {
           "name" : "tbl_next283",
-          "id" : 34,
+          "id" : 39,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 283,
@@ -17188,14 +19750,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [109],
+          "action_ids" : [120],
           "actions" : ["next283"],
-          "base_default_next" : "node_63",
+          "base_default_next" : "node_71",
           "next_tables" : {
-            "next283" : "node_63"
+            "next283" : "node_71"
           },
           "default_entry" : {
-            "action_id" : 109,
+            "action_id" : 120,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17203,7 +19765,7 @@
         },
         {
           "name" : "tbl_egress_next_pop_mpls_if_present",
-          "id" : 35,
+          "id" : 40,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -17217,14 +19779,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [101],
+          "action_ids" : [109],
           "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 101,
+            "action_id" : 109,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17232,7 +19794,7 @@
         },
         {
           "name" : "tbl_egress_next_set_mpls",
-          "id" : 36,
+          "id" : 41,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 289,
@@ -17246,14 +19808,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [102],
+          "action_ids" : [110],
           "actions" : ["FabricEgress.egress_next.set_mpls"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 102,
+            "action_id" : 110,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17261,7 +19823,7 @@
         },
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 37,
+          "id" : 42,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 265,
@@ -17272,7 +19834,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -17288,16 +19850,16 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [103, 104, 105],
+          "action_ids" : [111, 112, 113],
           "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
-          "base_default_next" : "node_68",
+          "base_default_next" : "node_76",
           "next_tables" : {
-            "FabricEgress.egress_next.push_vlan" : "node_68",
-            "FabricEgress.egress_next.pop_vlan" : "node_68",
-            "FabricEgress.egress_next.drop" : "node_68"
+            "FabricEgress.egress_next.push_vlan" : "node_76",
+            "FabricEgress.egress_next.pop_vlan" : "node_76",
+            "FabricEgress.egress_next.drop" : "node_76"
           },
           "default_entry" : {
-            "action_id" : 105,
+            "action_id" : 113,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17305,7 +19867,7 @@
         },
         {
           "name" : "tbl_next309",
-          "id" : 38,
+          "id" : 43,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 309,
@@ -17319,14 +19881,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [111],
+          "action_ids" : [122],
           "actions" : ["next309"],
-          "base_default_next" : "node_70",
+          "base_default_next" : "node_78",
           "next_tables" : {
-            "next309" : "node_70"
+            "next309" : "node_78"
           },
           "default_entry" : {
-            "action_id" : 111,
+            "action_id" : 122,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17334,7 +19896,7 @@
         },
         {
           "name" : "tbl_next310",
-          "id" : 39,
+          "id" : 44,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -17348,14 +19910,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [110],
+          "action_ids" : [121],
           "actions" : ["next310"],
-          "base_default_next" : "node_76",
+          "base_default_next" : "node_84",
           "next_tables" : {
-            "next310" : "node_76"
+            "next310" : "node_84"
           },
           "default_entry" : {
-            "action_id" : 110,
+            "action_id" : 121,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17363,7 +19925,7 @@
         },
         {
           "name" : "tbl_next313",
-          "id" : 40,
+          "id" : 45,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 313,
@@ -17377,14 +19939,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [113],
+          "action_ids" : [124],
           "actions" : ["next313"],
-          "base_default_next" : "node_74",
+          "base_default_next" : "node_82",
           "next_tables" : {
-            "next313" : "node_74"
+            "next313" : "node_82"
           },
           "default_entry" : {
-            "action_id" : 113,
+            "action_id" : 124,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17392,7 +19954,7 @@
         },
         {
           "name" : "tbl_next314",
-          "id" : 41,
+          "id" : 46,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -17406,14 +19968,43 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [112],
+          "action_ids" : [123],
           "actions" : ["next314"],
-          "base_default_next" : "node_76",
+          "base_default_next" : "node_84",
           "next_tables" : {
-            "next314" : "node_76"
+            "next314" : "node_84"
           },
           "default_entry" : {
-            "action_id" : 112,
+            "action_id" : 123,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_spgw_gtpu_encap_qfi",
+          "id" : 47,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 371,
+            "column" : 20,
+            "source_fragment" : "gtpu_encap_qfi()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [117],
+          "actions" : ["FabricEgress.spgw.gtpu_encap_qfi"],
+          "base_default_next" : "node_89",
+          "next_tables" : {
+            "FabricEgress.spgw.gtpu_encap_qfi" : "node_89"
+          },
+          "default_entry" : {
+            "action_id" : 117,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17421,11 +20012,11 @@
         },
         {
           "name" : "tbl_spgw_gtpu_encap",
-          "id" : 42,
+          "id" : 48,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 339,
-            "column" : 16,
+            "line" : 373,
+            "column" : 20,
             "source_fragment" : "gtpu_encap()"
           },
           "key" : [],
@@ -17435,25 +20026,25 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [106],
+          "action_ids" : [116],
           "actions" : ["FabricEgress.spgw.gtpu_encap"],
-          "base_default_next" : "node_79",
+          "base_default_next" : "node_89",
           "next_tables" : {
-            "FabricEgress.spgw.gtpu_encap" : "node_79"
+            "FabricEgress.spgw.gtpu_encap" : "node_89"
           },
           "default_entry" : {
-            "action_id" : 106,
+            "action_id" : 116,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "tbl_spgw342",
-          "id" : 43,
+          "name" : "tbl_spgw377",
+          "id" : 49,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 342,
+            "line" : 377,
             "column" : 16,
             "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           },
@@ -17464,14 +20055,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [114],
-          "actions" : ["spgw342"],
-          "base_default_next" : "node_81",
+          "action_ids" : [125],
+          "actions" : ["spgw377"],
+          "base_default_next" : "node_91",
           "next_tables" : {
-            "spgw342" : "node_81"
+            "spgw377" : "node_91"
           },
           "default_entry" : {
-            "action_id" : 114,
+            "action_id" : 125,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17479,7 +20070,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
-          "id" : 44,
+          "id" : 50,
           "source_info" : {
             "filename" : "include/int/int_source.p4",
             "line" : 66,
@@ -17502,13 +20093,13 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "userMetadata._l4_sport13"],
+              "target" : ["scalars", "userMetadata._l4_sport21"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "userMetadata._l4_dport14"],
+              "target" : ["scalars", "userMetadata._l4_dport22"],
               "mask" : null
             }
           ],
@@ -17518,15 +20109,15 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [67, 63],
+          "action_ids" : [75, 70],
           "actions" : ["FabricEgress.process_int_main.process_int_source.int_source_dscp", "nop"],
-          "base_default_next" : "node_84",
+          "base_default_next" : "node_94",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_84",
-            "nop" : "node_84"
+            "FabricEgress.process_int_main.process_int_source.int_source_dscp" : "node_94",
+            "nop" : "node_94"
           },
           "default_entry" : {
-            "action_id" : 63,
+            "action_id" : 70,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17534,7 +20125,7 @@
         },
         {
           "name" : "tbl_act",
-          "id" : 45,
+          "id" : 51,
           "key" : [],
           "match_type" : "exact",
           "type" : "simple",
@@ -17542,14 +20133,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [115],
+          "action_ids" : [126],
           "actions" : ["act"],
           "base_default_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
           "next_tables" : {
             "act" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert"
           },
           "default_entry" : {
-            "action_id" : 115,
+            "action_id" : 126,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17557,7 +20148,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_insert",
-          "id" : 46,
+          "id" : 52,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 315,
@@ -17578,15 +20169,15 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [68, 64],
+          "action_ids" : [76, 71],
           "actions" : ["FabricEgress.process_int_main.process_int_transit.init_metadata", "nop"],
-          "base_default_next" : "node_87",
+          "base_default_next" : "node_97",
           "next_tables" : {
-            "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_87",
-            "nop" : "node_87"
+            "FabricEgress.process_int_main.process_int_transit.init_metadata" : "node_97",
+            "nop" : "node_97"
           },
           "default_entry" : {
-            "action_id" : 64,
+            "action_id" : 71,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17594,7 +20185,7 @@
         },
         {
           "name" : "tbl_int_transit420",
-          "id" : 47,
+          "id" : 53,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 420,
@@ -17608,14 +20199,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [116],
+          "action_ids" : [127],
           "actions" : ["int_transit420"],
-          "base_default_next" : "node_89",
+          "base_default_next" : "node_99",
           "next_tables" : {
-            "int_transit420" : "node_89"
+            "int_transit420" : "node_99"
           },
           "default_entry" : {
-            "action_id" : 116,
+            "action_id" : 127,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -17623,7 +20214,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
-          "id" : 48,
+          "id" : 54,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 331,
@@ -17644,7 +20235,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 65],
+          "action_ids" : [77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 73],
           "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" : {
@@ -17667,7 +20258,7 @@
             "NoAction" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407"
           },
           "default_entry" : {
-            "action_id" : 65,
+            "action_id" : 73,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -17687,7 +20278,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 69,
+                "action_id" : 77,
                 "action_data" : []
               },
               "priority" : 1
@@ -17706,7 +20297,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 70,
+                "action_id" : 78,
                 "action_data" : []
               },
               "priority" : 2
@@ -17725,7 +20316,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 71,
+                "action_id" : 79,
                 "action_data" : []
               },
               "priority" : 3
@@ -17744,7 +20335,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 72,
+                "action_id" : 80,
                 "action_data" : []
               },
               "priority" : 4
@@ -17763,7 +20354,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 73,
+                "action_id" : 81,
                 "action_data" : []
               },
               "priority" : 5
@@ -17782,7 +20373,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 74,
+                "action_id" : 82,
                 "action_data" : []
               },
               "priority" : 6
@@ -17801,7 +20392,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 75,
+                "action_id" : 83,
                 "action_data" : []
               },
               "priority" : 7
@@ -17820,7 +20411,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 76,
+                "action_id" : 84,
                 "action_data" : []
               },
               "priority" : 8
@@ -17839,7 +20430,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 77,
+                "action_id" : 85,
                 "action_data" : []
               },
               "priority" : 9
@@ -17858,7 +20449,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 78,
+                "action_id" : 86,
                 "action_data" : []
               },
               "priority" : 10
@@ -17877,7 +20468,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 79,
+                "action_id" : 87,
                 "action_data" : []
               },
               "priority" : 11
@@ -17896,7 +20487,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 80,
+                "action_id" : 88,
                 "action_data" : []
               },
               "priority" : 12
@@ -17915,7 +20506,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 81,
+                "action_id" : 89,
                 "action_data" : []
               },
               "priority" : 13
@@ -17934,7 +20525,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 82,
+                "action_id" : 90,
                 "action_data" : []
               },
               "priority" : 14
@@ -17953,7 +20544,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 83,
+                "action_id" : 91,
                 "action_data" : []
               },
               "priority" : 15
@@ -17972,7 +20563,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 84,
+                "action_id" : 92,
                 "action_data" : []
               },
               "priority" : 16
@@ -17981,7 +20572,7 @@
         },
         {
           "name" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0407",
-          "id" : 49,
+          "id" : 55,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 375,
@@ -18002,7 +20593,7 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 66],
+          "action_ids" : [93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 74],
           "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_int_transit425",
           "next_tables" : {
@@ -18025,7 +20616,7 @@
             "NoAction" : "tbl_int_transit425"
           },
           "default_entry" : {
-            "action_id" : 66,
+            "action_id" : 74,
             "action_const" : false,
             "action_data" : [],
             "action_entry_const" : false
@@ -18045,7 +20636,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 85,
+                "action_id" : 93,
                 "action_data" : []
               },
               "priority" : 1
@@ -18064,7 +20655,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 86,
+                "action_id" : 94,
                 "action_data" : []
               },
               "priority" : 2
@@ -18083,7 +20674,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 87,
+                "action_id" : 95,
                 "action_data" : []
               },
               "priority" : 3
@@ -18102,7 +20693,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 88,
+                "action_id" : 96,
                 "action_data" : []
               },
               "priority" : 4
@@ -18121,7 +20712,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 89,
+                "action_id" : 97,
                 "action_data" : []
               },
               "priority" : 5
@@ -18140,7 +20731,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 90,
+                "action_id" : 98,
                 "action_data" : []
               },
               "priority" : 6
@@ -18159,7 +20750,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 91,
+                "action_id" : 99,
                 "action_data" : []
               },
               "priority" : 7
@@ -18178,7 +20769,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 92,
+                "action_id" : 100,
                 "action_data" : []
               },
               "priority" : 8
@@ -18197,7 +20788,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 93,
+                "action_id" : 101,
                 "action_data" : []
               },
               "priority" : 9
@@ -18216,7 +20807,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 94,
+                "action_id" : 102,
                 "action_data" : []
               },
               "priority" : 10
@@ -18235,7 +20826,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 95,
+                "action_id" : 103,
                 "action_data" : []
               },
               "priority" : 11
@@ -18254,7 +20845,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 96,
+                "action_id" : 104,
                 "action_data" : []
               },
               "priority" : 12
@@ -18273,7 +20864,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 97,
+                "action_id" : 105,
                 "action_data" : []
               },
               "priority" : 13
@@ -18292,7 +20883,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 98,
+                "action_id" : 106,
                 "action_data" : []
               },
               "priority" : 14
@@ -18311,7 +20902,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 99,
+                "action_id" : 107,
                 "action_data" : []
               },
               "priority" : 15
@@ -18330,7 +20921,7 @@
                 }
               ],
               "action_entry" : {
-                "action_id" : 100,
+                "action_id" : 108,
                 "action_data" : []
               },
               "priority" : 16
@@ -18339,7 +20930,7 @@
         },
         {
           "name" : "tbl_int_transit425",
-          "id" : 50,
+          "id" : 56,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 425,
@@ -18353,14 +20944,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [118],
+          "action_ids" : [129],
           "actions" : ["int_transit425"],
-          "base_default_next" : "node_93",
+          "base_default_next" : "node_103",
           "next_tables" : {
-            "int_transit425" : "node_93"
+            "int_transit425" : "node_103"
           },
           "default_entry" : {
-            "action_id" : 118,
+            "action_id" : 129,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -18368,7 +20959,7 @@
         },
         {
           "name" : "tbl_int_transit428",
-          "id" : 51,
+          "id" : 57,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 428,
@@ -18382,14 +20973,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [117],
+          "action_ids" : [128],
           "actions" : ["int_transit428"],
-          "base_default_next" : "node_95",
+          "base_default_next" : "node_105",
           "next_tables" : {
-            "int_transit428" : "node_95"
+            "int_transit428" : "node_105"
           },
           "default_entry" : {
-            "action_id" : 117,
+            "action_id" : 128,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -18397,7 +20988,7 @@
         },
         {
           "name" : "tbl_int_transit431",
-          "id" : 52,
+          "id" : 58,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 431,
@@ -18411,14 +21002,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [119],
+          "action_ids" : [130],
           "actions" : ["int_transit431"],
-          "base_default_next" : "node_97",
+          "base_default_next" : "node_107",
           "next_tables" : {
-            "int_transit431" : "node_97"
+            "int_transit431" : "node_107"
           },
           "default_entry" : {
-            "action_id" : 119,
+            "action_id" : 130,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -18426,7 +21017,7 @@
         },
         {
           "name" : "tbl_int_transit434",
-          "id" : 53,
+          "id" : 59,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 434,
@@ -18440,14 +21031,138 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [120],
+          "action_ids" : [131],
           "actions" : ["int_transit434"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "int_transit434" : null
+            "int_transit434" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 120,
+            "action_id" : 131,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing126",
+          "id" : 60,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [134],
+          "actions" : ["slicing126"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 134,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 61,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 138,
+            "column" : 10,
+            "source_fragment" : "rewriter"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [114, 115, 72],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__MISS__" : null,
+            "__HIT__" : "node_111"
+          },
+          "default_entry" : {
+            "action_id" : 72,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing155",
+          "id" : 62,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 155,
+            "column" : 30,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [132],
+          "actions" : ["slicing155"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing155" : null
+          },
+          "default_entry" : {
+            "action_id" : 132,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing159",
+          "id" : 63,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [133],
+          "actions" : ["slicing159"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing159" : null
+          },
+          "default_entry" : {
+            "action_id" : 133,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -18457,11 +21172,11 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_57",
-          "id" : 21,
+          "name" : "node_65",
+          "id" : 24,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 108,
+            "line" : 118,
             "column" : 33,
             "source_fragment" : "fabric_metadata"
           },
@@ -18472,16 +21187,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
+                "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
               }
             }
           },
           "true_next" : "tbl_packetio41",
-          "false_next" : "node_59"
+          "false_next" : "node_67"
         },
         {
-          "name" : "node_59",
-          "id" : 22,
+          "name" : "node_67",
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 43,
@@ -18503,11 +21218,11 @@
             }
           },
           "true_next" : "tbl_packetio44",
-          "false_next" : "node_61"
+          "false_next" : "node_69"
         },
         {
-          "name" : "node_61",
-          "id" : 23,
+          "name" : "node_69",
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 281,
@@ -18525,7 +21240,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._is_multicast10"]
+                    "value" : ["scalars", "userMetadata._is_multicast18"]
                   }
                 }
               },
@@ -18546,11 +21261,11 @@
             }
           },
           "true_next" : "tbl_next283",
-          "false_next" : "node_63"
+          "false_next" : "node_71"
         },
         {
-          "name" : "node_63",
-          "id" : 24,
+          "name" : "node_71",
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 286,
@@ -18563,7 +21278,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._mpls_label4"]
+                "value" : ["scalars", "userMetadata._mpls_label12"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -18571,12 +21286,12 @@
               }
             }
           },
-          "true_next" : "node_64",
+          "true_next" : "node_72",
           "false_next" : "tbl_egress_next_set_mpls"
         },
         {
-          "name" : "node_64",
-          "id" : 25,
+          "name" : "node_72",
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -18598,8 +21313,8 @@
           "false_next" : "FabricEgress.egress_next.egress_vlan"
         },
         {
-          "name" : "node_68",
-          "id" : 26,
+          "name" : "node_76",
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 308,
@@ -18618,11 +21333,11 @@
             }
           },
           "true_next" : "tbl_next309",
-          "false_next" : "node_72"
+          "false_next" : "node_80"
         },
         {
-          "name" : "node_70",
-          "id" : 27,
+          "name" : "node_78",
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -18644,11 +21359,11 @@
             }
           },
           "true_next" : "tbl_next310",
-          "false_next" : "node_76"
+          "false_next" : "node_84"
         },
         {
-          "name" : "node_72",
-          "id" : 28,
+          "name" : "node_80",
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 312,
@@ -18676,7 +21391,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._fwd_type8"]
+                    "value" : ["scalars", "userMetadata._fwd_type16"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -18687,11 +21402,11 @@
             }
           },
           "true_next" : "tbl_next313",
-          "false_next" : "node_76"
+          "false_next" : "node_84"
         },
         {
-          "name" : "node_74",
-          "id" : 29,
+          "name" : "node_82",
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -18713,14 +21428,14 @@
             }
           },
           "true_next" : "tbl_next314",
-          "false_next" : "node_76"
+          "false_next" : "node_84"
         },
         {
-          "name" : "node_76",
-          "id" : 30,
+          "name" : "node_84",
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 337,
+            "line" : 368,
             "column" : 12,
             "source_fragment" : "fabric_md.spgw.skip_spgw"
           },
@@ -18736,21 +21451,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
+                    "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_77",
-          "false_next" : "node_81"
+          "true_next" : "node_85",
+          "false_next" : "node_91"
         },
         {
-          "name" : "node_77",
-          "id" : 31,
+          "name" : "node_85",
+          "id" : 34,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 111,
+            "line" : 121,
             "column" : 24,
             "source_fragment" : "fabric_metadata"
           },
@@ -18761,19 +21476,42 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
+                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
               }
             }
           },
-          "true_next" : "tbl_spgw_gtpu_encap",
-          "false_next" : "node_79"
+          "true_next" : "node_86",
+          "false_next" : "node_89"
         },
         {
-          "name" : "node_79",
-          "id" : 32,
+          "name" : "node_86",
+          "id" : 35,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 121,
+            "column" : 24,
+            "source_fragment" : "fabric_metadata"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
+              }
+            }
+          },
+          "true_next" : "tbl_spgw_gtpu_encap_qfi",
+          "false_next" : "tbl_spgw_gtpu_encap"
+        },
+        {
+          "name" : "node_89",
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 341,
+            "line" : 376,
             "column" : 16,
             "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
           },
@@ -18789,18 +21527,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
+                    "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr44"]
                   }
                 }
               }
             }
           },
-          "true_next" : "tbl_spgw342",
-          "false_next" : "node_81"
+          "true_next" : "tbl_spgw377",
+          "false_next" : "node_91"
         },
         {
-          "name" : "node_81",
-          "id" : 33,
+          "name" : "node_91",
+          "id" : 37,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 102,
@@ -18875,15 +21613,15 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_82"
+          "true_next" : "node_92",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_82",
-          "id" : 34,
+          "name" : "node_92",
+          "id" : 38,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 117,
+            "line" : 127,
             "column" : 36,
             "source_fragment" : "fabric_metadata"
           },
@@ -18894,16 +21632,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._int_meta_source32"]
+                "value" : ["scalars", "userMetadata._int_meta_source46"]
               }
             }
           },
           "true_next" : "FabricEgress.process_int_main.process_int_source.tb_int_source",
-          "false_next" : "node_84"
+          "false_next" : "node_94"
         },
         {
-          "name" : "node_84",
-          "id" : 35,
+          "name" : "node_94",
+          "id" : 39,
           "source_info" : {
             "filename" : "include/int/int_main.p4",
             "line" : 110,
@@ -18921,12 +21659,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_act"
+          "true_next" : "tbl_act",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_87",
-          "id" : 36,
+          "name" : "node_97",
+          "id" : 40,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 419,
@@ -18945,18 +21683,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._int_meta_transit33"]
+                    "value" : ["scalars", "userMetadata._int_meta_transit47"]
                   }
                 }
               }
             }
           },
           "true_next" : "tbl_int_transit420",
-          "false_next" : "node_89"
+          "false_next" : "node_99"
         },
         {
-          "name" : "node_89",
-          "id" : 37,
+          "name" : "node_99",
+          "id" : 41,
           "expression" : {
             "type" : "expression",
             "value" : {
@@ -18975,12 +21713,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003"
+          "true_next" : "FabricEgress.process_int_main.process_int_transit.tb_int_inst_0003",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_93",
-          "id" : 38,
+          "name" : "node_103",
+          "id" : 42,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 427,
@@ -18999,11 +21737,11 @@
             }
           },
           "true_next" : "tbl_int_transit428",
-          "false_next" : "node_95"
+          "false_next" : "node_105"
         },
         {
-          "name" : "node_95",
-          "id" : 39,
+          "name" : "node_105",
+          "id" : 43,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 430,
@@ -19022,11 +21760,11 @@
             }
           },
           "true_next" : "tbl_int_transit431",
-          "false_next" : "node_97"
+          "false_next" : "node_107"
         },
         {
-          "name" : "node_97",
-          "id" : 40,
+          "name" : "node_107",
+          "id" : 44,
           "source_info" : {
             "filename" : "include/int/int_transit.p4",
             "line" : 433,
@@ -19044,8 +21782,54 @@
               }
             }
           },
+          "true_next" : "tbl_int_transit434",
+          "false_next" : "tbl_slicing126"
+        },
+        {
+          "name" : "node_111",
+          "id" : 45,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 154,
+            "column" : 16,
+            "source_fragment" : "hdr.gtpu_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["gtpu_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_slicing155",
+          "false_next" : "node_113"
+        },
+        {
+          "name" : "node_113",
+          "id" : 46,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 158,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
           "false_next" : null,
-          "true_next" : "tbl_int_transit434"
+          "true_next" : "tbl_slicing159"
         }
       ]
     }
@@ -19082,7 +21866,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 358,
+        "line" : 393,
         "column" : 8,
         "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
       },
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
index 778efbb..c758d1b 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw-int/bmv2/default/p4info.txt
@@ -416,6 +416,92 @@
 }
 tables {
   preamble {
+    id: 34606298
+    name: "FabricIngress.slice_tc_classifier.classifier"
+    alias: "classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23786376
+  }
+  action_refs {
+    id: 25983516
+  }
+  const_default_action_id: 23786376
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "color"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 32116918
+  }
+  action_refs {
+    id: 28214351
+  }
+  const_default_action_id: 32116918
+  direct_resource_ids: 327743278
+  size: 128
+}
+tables {
+  preamble {
     id: 36113154
     name: "FabricIngress.spgw.interfaces"
     alias: "interfaces"
@@ -486,6 +572,18 @@
     bitwidth: 32
     match_type: EXACT
   }
+  match_fields {
+    id: 3
+    name: "has_qfi"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  match_fields {
+    id: 4
+    name: "qfi"
+    bitwidth: 6
+    match_type: EXACT
+  }
   action_refs {
     id: 18504550
   }
@@ -621,6 +719,32 @@
   direct_resource_ids: 318892680
   size: 1024
 }
+tables {
+  preamble {
+    id: 49970092
+    name: "FabricEgress.dscp_rewriter.rewriter"
+    alias: "rewriter"
+  }
+  match_fields {
+    id: 1
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27951287
+  }
+  action_refs {
+    id: 24120545
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 512
+}
 actions {
   preamble {
     id: 28485346
@@ -875,6 +999,49 @@
 }
 actions {
   preamble {
+    id: 23786376
+    name: "FabricIngress.slice_tc_classifier.set_slice_id_tc"
+    alias: "set_slice_id_tc"
+  }
+  params {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+  }
+  params {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25983516
+    name: "FabricIngress.slice_tc_classifier.trust_dscp"
+    alias: "trust_dscp"
+  }
+}
+actions {
+  preamble {
+    id: 32116918
+    name: "FabricIngress.qos.set_queue"
+    alias: "set_queue"
+  }
+  params {
+    id: 1
+    name: "qid"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 28214351
+    name: "FabricIngress.qos.meter_drop"
+    alias: "meter_drop"
+  }
+}
+actions {
+  preamble {
     id: 18186268
     name: "FabricIngress.spgw.load_iface"
     alias: "load_iface"
@@ -884,6 +1051,11 @@
     name: "src_iface"
     bitwidth: 8
   }
+  params {
+    id: 2
+    name: "slice_id"
+    bitwidth: 4
+  }
 }
 actions {
   preamble {
@@ -913,6 +1085,11 @@
     name: "needs_gtpu_decap"
     bitwidth: 1
   }
+  params {
+    id: 4
+    name: "tc"
+    bitwidth: 2
+  }
 }
 actions {
   preamble {
@@ -937,8 +1114,18 @@
   }
   params {
     id: 4
-    name: "qid"
-    bitwidth: 5
+    name: "needs_qfi_push"
+    bitwidth: 1
+  }
+  params {
+    id: 5
+    name: "qfi"
+    bitwidth: 6
+  }
+  params {
+    id: 6
+    name: "tc"
+    bitwidth: 2
   }
 }
 actions {
@@ -1092,6 +1279,20 @@
     alias: "egress_next.drop"
   }
 }
+actions {
+  preamble {
+    id: 27951287
+    name: "FabricEgress.dscp_rewriter.rewrite"
+    alias: "rewrite"
+  }
+}
+actions {
+  preamble {
+    id: 24120545
+    name: "FabricEgress.dscp_rewriter.clear"
+    alias: "clear"
+  }
+}
 action_profiles {
   preamble {
     id: 291115404
@@ -1270,6 +1471,28 @@
 }
 direct_counters {
   preamble {
+    id: 334706097
+    name: "FabricIngress.slice_tc_classifier.classifier_stats"
+    alias: "classifier_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 34606298
+}
+direct_counters {
+  preamble {
+    id: 327743278
+    name: "FabricIngress.qos.queues_stats"
+    alias: "queues_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 36435258
+}
+direct_counters {
+  preamble {
     id: 322470063
     name: "FabricEgress.process_int_main.process_int_source.counter_int_source"
     alias: "counter_int_source"
@@ -1290,6 +1513,17 @@
   }
   direct_table_id: 49262446
 }
+meters {
+  preamble {
+    id: 348573637
+    name: "FabricIngress.qos.slice_tc_meter"
+    alias: "slice_tc_meter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 64
+}
 controller_packet_metadata {
   preamble {
     id: 81826293
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
index 6eedcc0..bfb06d6 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/bmv2.json
@@ -7,6 +7,7 @@
         ["tmp_0", 1, false],
         ["tmp_2", 3, false],
         ["tmp_4", 8, false],
+        ["gtpu_ext_len_0", 8, false],
         ["tmp_1", 16, false],
         ["tmp_3", 16, false],
         ["tmp_5", 4, false],
@@ -14,45 +15,56 @@
         ["tmp_7", 64, false],
         ["tmp_8", 32, false],
         ["tmp_9", 32, false],
-        ["acl_ipv4_src", 32, false],
-        ["acl_ipv4_dst", 32, false],
-        ["acl_ip_proto", 8, false],
-        ["acl_l4_sport", 16, false],
-        ["acl_l4_dport", 16, false],
-        ["userMetadata._ip_eth_type0", 16, false],
-        ["userMetadata._vlan_id1", 12, false],
-        ["userMetadata._vlan_pri2", 3, false],
-        ["userMetadata._vlan_cfi3", 1, false],
-        ["userMetadata._mpls_label4", 20, false],
-        ["userMetadata._mpls_ttl5", 8, false],
-        ["userMetadata._skip_forwarding6", 1, false],
-        ["userMetadata._skip_next7", 1, false],
-        ["userMetadata._fwd_type8", 3, false],
-        ["userMetadata._next_id9", 32, false],
-        ["userMetadata._is_multicast10", 1, false],
-        ["userMetadata._is_controller_packet_out11", 1, false],
-        ["userMetadata._ip_proto12", 8, false],
-        ["userMetadata._l4_sport13", 16, false],
-        ["userMetadata._l4_dport14", 16, false],
-        ["userMetadata._ipv4_src_addr15", 32, false],
-        ["userMetadata._ipv4_dst_addr16", 32, false],
-        ["userMetadata._inner_l4_sport17", 16, false],
-        ["userMetadata._inner_l4_dport18", 16, false],
-        ["userMetadata._spgw_ipv4_len19", 16, false],
-        ["userMetadata._spgw_teid20", 32, false],
-        ["userMetadata._spgw_tunnel_src_port21", 16, false],
-        ["userMetadata._spgw_tunnel_src_addr22", 32, false],
-        ["userMetadata._spgw_tunnel_dst_addr23", 32, false],
-        ["userMetadata._spgw_ctr_id24", 32, false],
-        ["userMetadata._spgw_far_id25", 32, false],
-        ["userMetadata._spgw_src_iface26", 8, false],
-        ["userMetadata._spgw_skip_spgw27", 1, false],
-        ["userMetadata._spgw_notify_spgwc28", 1, false],
-        ["userMetadata._spgw_needs_gtpu_encap29", 1, false],
-        ["userMetadata._spgw_needs_gtpu_decap30", 1, false],
-        ["userMetadata._spgw_skip_egress_pdr_ctr31", 1, false],
-        ["userMetadata._port_type32", 2, false],
-        ["_padding_0", 6, false]
+        ["tmp_10", 32, false],
+        ["dscp_rewriter_tmp_dscp", 6, false],
+        ["userMetadata._lkp_is_ipv40", 1, false],
+        ["userMetadata._lkp_ipv4_src1", 32, false],
+        ["userMetadata._lkp_ipv4_dst2", 32, false],
+        ["userMetadata._lkp_ip_proto3", 8, false],
+        ["userMetadata._lkp_l4_sport4", 16, false],
+        ["userMetadata._lkp_l4_dport5", 16, false],
+        ["userMetadata._lkp_icmp_type6", 8, false],
+        ["userMetadata._lkp_icmp_code7", 8, false],
+        ["userMetadata._ip_eth_type8", 16, false],
+        ["userMetadata._vlan_id9", 12, false],
+        ["userMetadata._vlan_pri10", 3, false],
+        ["userMetadata._vlan_cfi11", 1, false],
+        ["userMetadata._mpls_label12", 20, false],
+        ["userMetadata._mpls_ttl13", 8, false],
+        ["userMetadata._skip_forwarding14", 1, false],
+        ["userMetadata._skip_next15", 1, false],
+        ["userMetadata._fwd_type16", 3, false],
+        ["userMetadata._next_id17", 32, false],
+        ["userMetadata._is_multicast18", 1, false],
+        ["userMetadata._is_controller_packet_out19", 1, false],
+        ["userMetadata._ip_proto20", 8, false],
+        ["userMetadata._l4_sport21", 16, false],
+        ["userMetadata._l4_dport22", 16, false],
+        ["userMetadata._ipv4_src_addr23", 32, false],
+        ["userMetadata._ipv4_dst_addr24", 32, false],
+        ["userMetadata._slice_id25", 4, false],
+        ["userMetadata._packet_color26", 2, false],
+        ["userMetadata._tc27", 2, false],
+        ["userMetadata._dscp28", 6, false],
+        ["userMetadata._inner_l4_sport29", 16, false],
+        ["userMetadata._inner_l4_dport30", 16, false],
+        ["userMetadata._spgw_ipv4_len31", 16, false],
+        ["userMetadata._spgw_teid32", 32, false],
+        ["userMetadata._spgw_tunnel_src_port33", 16, false],
+        ["userMetadata._spgw_tunnel_src_addr34", 32, false],
+        ["userMetadata._spgw_tunnel_dst_addr35", 32, false],
+        ["userMetadata._spgw_ctr_id36", 32, false],
+        ["userMetadata._spgw_far_id37", 32, false],
+        ["userMetadata._spgw_src_iface38", 8, false],
+        ["userMetadata._spgw_qfi39", 6, false],
+        ["userMetadata._spgw_skip_spgw40", 1, false],
+        ["userMetadata._spgw_notify_spgwc41", 1, false],
+        ["userMetadata._spgw_needs_gtpu_encap42", 1, false],
+        ["userMetadata._spgw_needs_gtpu_decap43", 1, false],
+        ["userMetadata._spgw_skip_egress_pdr_ctr44", 1, false],
+        ["userMetadata._spgw_needs_qfi_push45", 1, false],
+        ["userMetadata._port_type46", 2, false],
+        ["_padding_0", 2, false]
       ]
     },
     {
@@ -167,9 +179,31 @@
       ]
     },
     {
-      "name" : "tcp_t",
+      "name" : "gtpu_options_t",
       "id" : 10,
       "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 11,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "tcp_t",
+      "id" : 12,
+      "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
         ["seq_no", 32, false],
@@ -185,7 +219,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 11,
+      "id" : 13,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -197,7 +231,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 12,
+      "id" : 14,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -290,78 +324,106 @@
       "pi_omit" : true
     },
     {
-      "name" : "gtpu",
+      "name" : "outer_gtpu_options",
       "id" : 12,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "outer_gtpu_ext_psc",
+      "id" : 13,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu",
+      "id" : 14,
       "header_type" : "gtpu_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "inner_ipv4",
-      "id" : 13,
-      "header_type" : "ipv4_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "inner_udp",
-      "id" : 14,
-      "header_type" : "udp_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "inner_tcp",
+      "name" : "gtpu_options",
       "id" : 15,
-      "header_type" : "tcp_t",
+      "header_type" : "gtpu_options_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "inner_icmp",
+      "name" : "gtpu_ext_psc",
       "id" : 16,
-      "header_type" : "icmp_t",
+      "header_type" : "gtpu_ext_psc_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "ipv4",
+      "name" : "inner_ipv4",
       "id" : 17,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "tcp",
+      "name" : "inner_udp",
       "id" : 18,
-      "header_type" : "tcp_t",
-      "metadata" : false,
-      "pi_omit" : true
-    },
-    {
-      "name" : "udp",
-      "id" : 19,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "icmp",
+      "name" : "inner_tcp",
+      "id" : 19,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "inner_icmp",
       "id" : 20,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
-      "name" : "packet_out",
+      "name" : "ipv4",
       "id" : 21,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "tcp",
+      "id" : 22,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "udp",
+      "id" : 23,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "icmp",
+      "id" : 24,
+      "header_type" : "icmp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "packet_out",
+      "id" : 25,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 22,
+      "id" : 26,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
@@ -377,7 +439,7 @@
       "name" : "fl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 52,
+        "line" : 45,
         "column" : 40,
         "source_fragment" : "{standard_metadata.ingress_port}"
       },
@@ -712,7 +774,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._vlan_id1"]
+                  "value" : ["scalars", "userMetadata._vlan_id9"]
                 },
                 {
                   "type" : "hexstr",
@@ -898,7 +960,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_label4"]
+                  "value" : ["scalars", "userMetadata._mpls_label12"]
                 },
                 {
                   "type" : "field",
@@ -911,7 +973,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._mpls_ttl5"]
+                  "value" : ["scalars", "userMetadata._mpls_ttl13"]
                 },
                 {
                   "type" : "field",
@@ -972,7 +1034,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_proto12"]
+                  "value" : ["scalars", "userMetadata._ip_proto20"]
                 },
                 {
                   "type" : "field",
@@ -985,7 +1047,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ip_eth_type0"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -998,7 +1060,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+                  "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
                 },
                 {
                   "type" : "field",
@@ -1011,7 +1073,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+                  "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
                 },
                 {
                   "type" : "field",
@@ -1071,7 +1133,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport13"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1084,7 +1146,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport14"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1121,7 +1183,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_sport13"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1134,7 +1196,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._l4_dport14"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1722,8 +1784,142 @@
                 }
               ],
               "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
             },
             {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 14,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_options"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "gtpu_ext_len_0"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 8]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8501",
+              "mask" : null,
+              "next_state" : "parse_gtpu_ext_psc"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 15,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_ext_psc"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._spgw_qfi39"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_ext_psc", "qfi"]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ext_psc", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 16,
+          "parser_ops" : [
+            {
               "parameters" : [
                 {
                   "type" : "regular",
@@ -1768,7 +1964,7 @@
         },
         {
           "name" : "parse_inner_udp",
-          "id" : 14,
+          "id" : 17,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1783,7 +1979,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_sport17"]
+                  "value" : ["scalars", "userMetadata._inner_l4_sport29"]
                 },
                 {
                   "type" : "field",
@@ -1796,7 +1992,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_dport18"]
+                  "value" : ["scalars", "userMetadata._inner_l4_dport30"]
                 },
                 {
                   "type" : "field",
@@ -1818,7 +2014,7 @@
         },
         {
           "name" : "parse_inner_tcp",
-          "id" : 15,
+          "id" : 18,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1833,7 +2029,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_sport17"]
+                  "value" : ["scalars", "userMetadata._inner_l4_sport29"]
                 },
                 {
                   "type" : "field",
@@ -1846,7 +2042,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata._inner_l4_dport18"]
+                  "value" : ["scalars", "userMetadata._inner_l4_dport30"]
                 },
                 {
                   "type" : "field",
@@ -1868,7 +2064,7 @@
         },
         {
           "name" : "parse_inner_icmp",
-          "id" : 16,
+          "id" : 19,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1900,15 +2096,30 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 285,
+        "line" : 308,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
+      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "gtpu_ipv4", "gtpu_udp", "outer_gtpu", "outer_gtpu_options", "outer_gtpu_ext_psc", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
       "primitives" : []
     }
   ],
-  "meter_arrays" : [],
+  "meter_arrays" : [
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 78,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
+    }
+  ],
   "counter_arrays" : [
     {
       "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
@@ -1989,7 +2200,7 @@
       "binding" : "FabricIngress.acl.acl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 36,
+        "line" : 29,
         "column" : 50,
         "source_fragment" : "acl_counter"
       }
@@ -2031,8 +2242,32 @@
       }
     },
     {
-      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
       "id" : 10,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 32,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 11,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 80,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "id" : 12,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 26,
@@ -2044,7 +2279,7 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 11,
+      "id" : 13,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 27,
@@ -2056,10 +2291,10 @@
     },
     {
       "name" : "FabricIngress.spgw.pdr_counter",
-      "id" : 12,
+      "id" : 14,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 108,
+        "line" : 110,
         "column" : 53,
         "source_fragment" : "pdr_counter"
       },
@@ -2068,7 +2303,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 13,
+      "id" : 15,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
@@ -2080,10 +2315,10 @@
     },
     {
       "name" : "FabricEgress.spgw.pdr_counter",
-      "id" : 14,
+      "id" : 16,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 295,
+        "line" : 307,
         "column" : 53,
         "source_fragment" : "pdr_counter"
       },
@@ -2159,7 +2394,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 358,
+        "line" : 393,
         "column" : 8,
         "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
       },
@@ -2349,7 +2584,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -2378,7 +2613,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2407,7 +2642,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type32"]
+              "value" : ["scalars", "userMetadata._port_type46"]
             },
             {
               "type" : "hexstr",
@@ -2416,7 +2651,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 119,
+            "line" : 136,
             "column" : 38,
             "source_fragment" : "0x0; ..."
           }
@@ -2438,7 +2673,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type32"]
+              "value" : ["scalars", "userMetadata._port_type46"]
             },
             {
               "type" : "runtime_data",
@@ -2473,7 +2708,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2492,7 +2727,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._port_type32"]
+              "value" : ["scalars", "userMetadata._port_type46"]
             },
             {
               "type" : "runtime_data",
@@ -2523,7 +2758,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._fwd_type8"]
+              "value" : ["scalars", "userMetadata._fwd_type16"]
             },
             {
               "type" : "runtime_data",
@@ -2554,7 +2789,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2585,7 +2820,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "hexstr",
@@ -2604,7 +2839,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2635,7 +2870,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2672,7 +2907,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "runtime_data",
@@ -2703,7 +2938,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2734,7 +2969,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2743,8 +2978,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 39,
-            "column" : 32,
+            "line" : 32,
+            "column" : 26,
             "source_fragment" : "= next_id; ..."
           }
         }
@@ -2769,7 +3004,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 45,
+            "line" : 38,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
           }
@@ -2779,7 +3014,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2798,8 +3033,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 46,
-            "column" : 34,
+            "line" : 39,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -2829,7 +3064,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 52,
+            "line" : 45,
             "column" : 8,
             "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
           }
@@ -2851,7 +3086,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 57,
+            "line" : 50,
             "column" : 8,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -2861,7 +3096,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2880,8 +3115,8 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 58,
-            "column" : 34,
+            "line" : 51,
+            "column" : 28,
             "source_fragment" : "= true; ..."
           }
         }
@@ -2939,7 +3174,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._next_id9"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -3097,7 +3332,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_multicast10"]
+              "value" : ["scalars", "userMetadata._is_multicast18"]
             },
             {
               "type" : "expression",
@@ -3124,1666 +3359,16 @@
       ]
     },
     {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
       "id" : 30,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 52,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "tcp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 53,
-            "column" : 8,
-            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 54,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_tcp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
-      "id" : 31,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 59,
-            "column" : 8,
-            "source_fragment" : "hdr.udp = hdr.inner_udp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
-      "id" : 32,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 65,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "icmp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 66,
-            "column" : 8,
-            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 67,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_icmp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
-      "id" : 33,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 72,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
-      "id" : 34,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 52,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "tcp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 53,
-            "column" : 8,
-            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_tcp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 54,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_tcp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
-      "id" : 35,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 59,
-            "column" : 8,
-            "source_fragment" : "hdr.udp = hdr.inner_udp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 60,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
-      "id" : 36,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 65,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "icmp"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 66,
-            "column" : 8,
-            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_icmp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 67,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_icmp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
-      "id" : 37,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0800"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/../define.p4",
-            "line" : 132,
-            "column" : 31,
-            "source_fragment" : "0x0800; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_proto12"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 39,
-            "column" : 27,
-            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 40,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 41,
-            "column" : 32,
-            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_sport17"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 42,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._inner_l4_dport18"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 43,
-            "column" : 27,
-            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
-          }
-        },
-        {
-          "op" : "assign_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "ipv4"
-            },
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 45,
-            "column" : 8,
-            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "inner_ipv4"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "gtpu"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 47,
-            "column" : 8,
-            "source_fragment" : "hdr.gtpu.setInvalid()"
-          }
-        },
-        {
-          "op" : "remove_header",
-          "parameters" : [
-            {
-              "type" : "header",
-              "value" : "udp"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 72,
-            "column" : 8,
-            "source_fragment" : "hdr.udp.setInvalid()"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "FabricIngress.spgw.load_iface",
-      "id" : 38,
       "runtime_data" : [
         {
-          "name" : "src_iface",
-          "bitwidth" : 8
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -4792,7 +3377,2079 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_src_iface26"]
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 35,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 36,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 31,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["ipv4", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 44,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["ipv4", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 45,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 32,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 33,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 89,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_metadata)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp",
+      "id" : 34,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "tcp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_tcp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp",
+      "id" : 35,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.udp = hdr.inner_udp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp",
+      "id" : 36,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "icmp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_icmp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown",
+      "id" : 37,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_tcp",
+      "id" : 38,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "tcp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "hdr.tcp = hdr.inner_tcp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_tcp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_tcp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_udp",
+      "id" : 39,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.udp = hdr.inner_udp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_icmp",
+      "id" : 40,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "icmp"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.icmp = hdr.inner_icmp"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_icmp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_icmp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.decap_gtpu.decap_inner_unknown",
+      "id" : 41,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 149,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ip_proto20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 39,
+            "column" : 27,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_sport21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_sport29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 42,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._l4_dport22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._inner_l4_dport30"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 43,
+            "column" : 27,
+            "source_fragment" : "= fabric_md.inner_l4_dport; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.ipv4 = hdr.inner_ipv4"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "inner_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 46,
+            "column" : 8,
+            "source_fragment" : "hdr.inner_ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 47,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 48,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 49,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ext_psc.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "hdr.udp.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.spgw.load_iface",
+      "id" : 42,
+      "runtime_data" : [
+        {
+          "name" : "src_iface",
+          "bitwidth" : 8
+        },
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_src_iface38"]
             },
             {
               "type" : "runtime_data",
@@ -4801,7 +5458,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 120,
+            "line" : 122,
             "column" : 33,
             "source_fragment" : "= src_iface; ..."
           }
@@ -4811,7 +5468,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
+              "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
             },
             {
               "type" : "expression",
@@ -4830,16 +5487,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 121,
+            "line" : 123,
             "column" : 33,
             "source_fragment" : "= false; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 124,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.iface_miss",
-      "id" : 39,
+      "id" : 43,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4847,7 +5523,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_src_iface26"]
+              "value" : ["scalars", "userMetadata._spgw_src_iface38"]
             },
             {
               "type" : "hexstr",
@@ -4856,7 +5532,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 110,
+            "line" : 127,
             "column" : 44,
             "source_fragment" : "8w0; ..."
           }
@@ -4866,7 +5542,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
+              "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
             },
             {
               "type" : "expression",
@@ -4885,7 +5561,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 125,
+            "line" : 128,
             "column" : 33,
             "source_fragment" : "= true; ..."
           }
@@ -4894,7 +5570,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_pdr",
-      "id" : 40,
+      "id" : 44,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -4907,6 +5583,10 @@
         {
           "name" : "needs_gtpu_decap",
           "bitwidth" : 1
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -4915,7 +5595,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -4924,7 +5604,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -4934,7 +5614,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -4943,7 +5623,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -4953,7 +5633,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -4982,16 +5662,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr",
-      "id" : 41,
+      "id" : 45,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5004,6 +5703,10 @@
         {
           "name" : "needs_gtpu_decap",
           "bitwidth" : 1
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5012,7 +5715,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5021,7 +5724,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5031,7 +5734,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5040,7 +5743,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5050,7 +5753,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5079,16 +5782,35 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr_qos",
-      "id" : 42,
+      "id" : 46,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5103,8 +5825,16 @@
           "bitwidth" : 1
         },
         {
-          "name" : "qid",
-          "bitwidth" : 5
+          "name" : "needs_qfi_push",
+          "bitwidth" : 1
+        },
+        {
+          "name" : "qfi",
+          "bitwidth" : 6
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5113,7 +5843,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5122,7 +5852,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5132,7 +5862,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5141,7 +5871,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5151,7 +5881,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5180,16 +5910,93 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 5
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi39"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 167,
+            "column" : 27,
+            "source_fragment" : "= qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "!=",
+                      "left" : {
+                        "type" : "local",
+                        "value" : 3
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 168,
+            "column" : 38,
+            "source_fragment" : "= (bool)needs_qfi_push; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_pdr_qos",
-      "id" : 43,
+      "id" : 47,
       "runtime_data" : [
         {
           "name" : "ctr_id",
@@ -5204,8 +6011,16 @@
           "bitwidth" : 1
         },
         {
-          "name" : "qid",
-          "bitwidth" : 5
+          "name" : "needs_qfi_push",
+          "bitwidth" : 1
+        },
+        {
+          "name" : "qfi",
+          "bitwidth" : 6
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
         }
       ],
       "primitives" : [
@@ -5214,7 +6029,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             },
             {
               "type" : "runtime_data",
@@ -5223,7 +6038,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 150,
+            "line" : 153,
             "column" : 30,
             "source_fragment" : "= ctr_id; ..."
           }
@@ -5233,7 +6048,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_far_id25"]
+              "value" : ["scalars", "userMetadata._spgw_far_id37"]
             },
             {
               "type" : "runtime_data",
@@ -5242,7 +6057,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 151,
+            "line" : 154,
             "column" : 30,
             "source_fragment" : "= far_id; ..."
           }
@@ -5252,7 +6067,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
             },
             {
               "type" : "expression",
@@ -5281,16 +6096,93 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 152,
+            "line" : 155,
             "column" : 40,
             "source_fragment" : "= (bool)needs_gtpu_decap; ..."
           }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 5
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 156,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi39"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 167,
+            "column" : 27,
+            "source_fragment" : "= qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "!=",
+                      "left" : {
+                        "type" : "local",
+                        "value" : 3
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 168,
+            "column" : 38,
+            "source_fragment" : "= (bool)needs_qfi_push; ..."
+          }
         }
       ]
     },
     {
       "name" : "FabricIngress.spgw.load_normal_far",
-      "id" : 44,
+      "id" : 48,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -5307,7 +6199,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -5336,7 +6228,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 195,
+            "line" : 207,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5346,7 +6238,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -5375,7 +6267,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 196,
+            "line" : 208,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5385,7 +6277,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
             },
             {
               "type" : "expression",
@@ -5414,7 +6306,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 197,
+            "line" : 209,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -5423,7 +6315,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_tunnel_far",
-      "id" : 45,
+      "id" : 49,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -5456,7 +6348,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -5485,7 +6377,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 206,
+            "line" : 218,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5495,7 +6387,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -5524,7 +6416,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 207,
+            "line" : 219,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5534,7 +6426,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
             },
             {
               "type" : "expression",
@@ -5563,7 +6455,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 208,
+            "line" : 220,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -5573,7 +6465,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
             },
             {
               "type" : "expression",
@@ -5592,7 +6484,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 210,
+            "line" : 222,
             "column" : 40,
             "source_fragment" : "= true; ..."
           }
@@ -5602,7 +6494,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid20"]
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
             },
             {
               "type" : "runtime_data",
@@ -5611,7 +6503,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 211,
+            "line" : 223,
             "column" : 28,
             "source_fragment" : "= teid; ..."
           }
@@ -5621,7 +6513,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
             },
             {
               "type" : "runtime_data",
@@ -5630,7 +6522,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 212,
+            "line" : 224,
             "column" : 39,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -5640,7 +6532,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
             },
             {
               "type" : "runtime_data",
@@ -5649,7 +6541,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 213,
+            "line" : 225,
             "column" : 39,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -5659,7 +6551,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
             },
             {
               "type" : "runtime_data",
@@ -5668,7 +6560,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 214,
+            "line" : 226,
             "column" : 39,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -5678,7 +6570,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
             },
             {
               "type" : "runtime_data",
@@ -5687,7 +6579,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 216,
+            "line" : 228,
             "column" : 32,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -5697,7 +6589,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
             },
             {
               "type" : "runtime_data",
@@ -5706,7 +6598,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 217,
+            "line" : 229,
             "column" : 32,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -5716,7 +6608,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
+              "value" : ["scalars", "userMetadata._l4_sport21"]
             },
             {
               "type" : "runtime_data",
@@ -5725,7 +6617,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 218,
+            "line" : 230,
             "column" : 27,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -5735,7 +6627,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
+              "value" : ["scalars", "userMetadata._l4_dport22"]
             },
             {
               "type" : "hexstr",
@@ -5744,7 +6636,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 219,
+            "line" : 231,
             "column" : 27,
             "source_fragment" : "= 2152; ..."
           }
@@ -5753,7 +6645,7 @@
     },
     {
       "name" : "FabricIngress.spgw.load_dbuf_far",
-      "id" : 46,
+      "id" : 50,
       "runtime_data" : [
         {
           "name" : "drop",
@@ -5786,7 +6678,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_forwarding6"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -5815,7 +6707,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 206,
+            "line" : 218,
             "column" : 34,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5825,7 +6717,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._skip_next7"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -5854,7 +6746,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 207,
+            "line" : 219,
             "column" : 28,
             "source_fragment" : "= (bool)drop; ..."
           }
@@ -5864,7 +6756,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_notify_spgwc28"]
+              "value" : ["scalars", "userMetadata._spgw_notify_spgwc41"]
             },
             {
               "type" : "expression",
@@ -5893,7 +6785,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 208,
+            "line" : 220,
             "column" : 36,
             "source_fragment" : "= (bool)notify_cp; ..."
           }
@@ -5903,7 +6795,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
+              "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
             },
             {
               "type" : "expression",
@@ -5922,7 +6814,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 210,
+            "line" : 222,
             "column" : 40,
             "source_fragment" : "= true; ..."
           }
@@ -5932,7 +6824,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid20"]
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
             },
             {
               "type" : "runtime_data",
@@ -5941,7 +6833,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 211,
+            "line" : 223,
             "column" : 28,
             "source_fragment" : "= teid; ..."
           }
@@ -5951,7 +6843,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
             },
             {
               "type" : "runtime_data",
@@ -5960,7 +6852,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 212,
+            "line" : 224,
             "column" : 39,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -5970,7 +6862,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
             },
             {
               "type" : "runtime_data",
@@ -5979,7 +6871,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 213,
+            "line" : 225,
             "column" : 39,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -5989,7 +6881,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
             },
             {
               "type" : "runtime_data",
@@ -5998,7 +6890,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 214,
+            "line" : 226,
             "column" : 39,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -6008,7 +6900,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+              "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
             },
             {
               "type" : "runtime_data",
@@ -6017,7 +6909,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 216,
+            "line" : 228,
             "column" : 32,
             "source_fragment" : "= tunnel_src_addr; ..."
           }
@@ -6027,7 +6919,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+              "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
             },
             {
               "type" : "runtime_data",
@@ -6036,7 +6928,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 217,
+            "line" : 229,
             "column" : 32,
             "source_fragment" : "= tunnel_dst_addr; ..."
           }
@@ -6046,7 +6938,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_sport13"]
+              "value" : ["scalars", "userMetadata._l4_sport21"]
             },
             {
               "type" : "runtime_data",
@@ -6055,7 +6947,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 218,
+            "line" : 230,
             "column" : 27,
             "source_fragment" : "= tunnel_src_port; ..."
           }
@@ -6065,7 +6957,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._l4_dport14"]
+              "value" : ["scalars", "userMetadata._l4_dport22"]
             },
             {
               "type" : "hexstr",
@@ -6074,7 +6966,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 219,
+            "line" : 231,
             "column" : 27,
             "source_fragment" : "= 2152; ..."
           }
@@ -6084,7 +6976,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
+              "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr44"]
             },
             {
               "type" : "expression",
@@ -6103,7 +6995,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 230,
+            "line" : 242,
             "column" : 43,
             "source_fragment" : "= true; ..."
           }
@@ -6111,8 +7003,633 @@
       ]
     },
     {
+      "name" : "lookup_md_init37",
+      "id" : 51,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init40",
+      "id" : 52,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init43",
+      "id" : 53,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init32",
+      "id" : 54,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init52",
+      "id" : 55,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init55",
+      "id" : 56,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init58",
+      "id" : 57,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init47",
+      "id" : 58,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init23",
+      "id" : 59,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio25",
-      "id" : 47,
+      "id" : 60,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6154,7 +7671,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
+              "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
             },
             {
               "type" : "expression",
@@ -6191,60 +7708,8 @@
       ]
     },
     {
-      "name" : "spgw265",
-      "id" : 48,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "count",
-          "parameters" : [
-            {
-              "type" : "counter_array",
-              "value" : "FabricIngress.spgw.pdr_counter"
-            },
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 265,
-            "column" : 16,
-            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "spgw282",
-      "id" : 49,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "total_len"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 282,
-            "column" : 36,
-            "source_fragment" : "= hdr.ipv4.total_len; ..."
-          }
-        }
-      ]
-    },
-    {
       "name" : "filtering113",
-      "id" : 50,
+      "id" : 61,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6252,7 +7717,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "field",
@@ -6271,7 +7736,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             },
             {
               "type" : "field",
@@ -6290,7 +7755,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             },
             {
               "type" : "field",
@@ -6308,7 +7773,7 @@
     },
     {
       "name" : "filtering129",
-      "id" : 51,
+      "id" : 62,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6316,7 +7781,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl5"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             },
             {
               "type" : "hexstr",
@@ -6333,53 +7798,34 @@
       ]
     },
     {
-      "name" : "acl102",
-      "id" : 52,
+      "name" : "spgw277",
+      "id" : 63,
       "runtime_data" : [],
       "primitives" : [
         {
-          "op" : "assign",
+          "op" : "count",
           "parameters" : [
             {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
+              "type" : "counter_array",
+              "value" : "FabricIngress.spgw.pdr_counter"
             },
             {
               "type" : "field",
-              "value" : ["inner_tcp", "sport"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             }
           ],
           "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
+            "filename" : "include/control/spgw.p4",
+            "line" : 277,
             "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 103,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
+            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           }
         }
       ]
     },
     {
-      "name" : "acl105",
-      "id" : 53,
+      "name" : "spgw294",
+      "id" : 64,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6387,364 +7833,25 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
             },
             {
               "type" : "field",
-              "value" : ["inner_udp", "sport"]
+              "value" : ["ipv4", "total_len"]
             }
           ],
           "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 106,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl98",
-      "id" : 54,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 99,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 100,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl113",
-      "id" : 55,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 114,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl116",
-      "id" : 56,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 117,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl109",
-      "id" : 57,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 110,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 111,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl27",
-      "id" : 58,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 28,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 29,
-            "column" : 4,
-            "source_fragment" : "bit<8> ip_proto = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 30,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_sport = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 31,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_dport = 0;"
+            "filename" : "include/control/spgw.p4",
+            "line" : 294,
+            "column" : 36,
+            "source_fragment" : "= hdr.ipv4.total_len; ..."
           }
         }
       ]
     },
     {
       "name" : "port_counter31",
-      "id" : 59,
+      "id" : 65,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6802,7 +7909,7 @@
     },
     {
       "name" : "port_counter34",
-      "id" : 60,
+      "id" : 66,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6859,8 +7966,218 @@
       ]
     },
     {
+      "name" : "slicing114",
+      "id" : 67,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "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" : ["scalars", "userMetadata._slice_id25"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x3f"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x2"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._tc27"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x07"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 37,
+            "source_fragment" : "(bit<32>) slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._packet_color26"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "<<",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._slice_id25"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["scalars", "userMetadata._tc27"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 110,
+            "column" : 26,
+            "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "nop",
+      "id" : 68,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
       "name" : "FabricEgress.egress_next.pop_mpls_if_present",
-      "id" : 61,
+      "id" : 69,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6887,7 +8204,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._ip_eth_type0"]
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
             }
           ],
           "source_info" : {
@@ -6901,7 +8218,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.set_mpls",
-      "id" : 62,
+      "id" : 70,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -6928,7 +8245,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_label4"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             }
           ],
           "source_info" : {
@@ -6985,7 +8302,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._mpls_ttl5"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             }
           ],
           "source_info" : {
@@ -7009,7 +8326,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 130,
+            "line" : 147,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
           }
@@ -7018,7 +8335,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_vlan",
-      "id" : 63,
+      "id" : 71,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7045,7 +8362,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_cfi3"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
@@ -7064,7 +8381,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_pri2"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
@@ -7088,7 +8405,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -7102,7 +8419,7 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._vlan_id1"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
@@ -7116,7 +8433,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 64,
+      "id" : 72,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7138,7 +8455,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.drop",
-      "id" : 65,
+      "id" : 73,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7159,8 +8476,40 @@
       ]
     },
     {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 74,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 75,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 135,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "FabricEgress.spgw.gtpu_encap",
-      "id" : 66,
+      "id" : 76,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7173,7 +8522,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 300,
+            "line" : 311,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.setValid()"
           }
@@ -7192,7 +8541,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 301,
+            "line" : 312,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.version = 4"
           }
@@ -7211,7 +8560,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 147,
+            "line" : 164,
             "column" : 28,
             "source_fragment" : "5; ..."
           }
@@ -7230,7 +8579,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 303,
+            "line" : 314,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
           }
@@ -7249,7 +8598,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 304,
+            "line" : 315,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
           }
@@ -7291,7 +8640,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 305,
+            "line" : 316,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
           }
@@ -7310,7 +8659,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 307,
+            "line" : 318,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
           }
@@ -7329,7 +8678,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 308,
+            "line" : 319,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
           }
@@ -7348,7 +8697,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 309,
+            "line" : 320,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
           }
@@ -7367,7 +8716,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 160,
+            "line" : 177,
             "column" : 32,
             "source_fragment" : "64; ..."
           }
@@ -7386,7 +8735,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 144,
+            "line" : 161,
             "column" : 25,
             "source_fragment" : "17; ..."
           }
@@ -7400,12 +8749,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr22"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 312,
+            "line" : 323,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
           }
@@ -7419,12 +8768,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr23"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 313,
+            "line" : 324,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
           }
@@ -7443,7 +8792,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 314,
+            "line" : 325,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
           }
@@ -7458,7 +8807,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 316,
+            "line" : 327,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.setValid()"
           }
@@ -7472,12 +8821,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port21"]
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 317,
+            "line" : 328,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
           }
@@ -7496,7 +8845,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 318,
+            "line" : 329,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.dport = 2152"
           }
@@ -7520,7 +8869,7 @@
                       "op" : "+",
                       "left" : {
                         "type" : "field",
-                        "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
                       },
                       "right" : {
                         "type" : "hexstr",
@@ -7538,7 +8887,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 319,
+            "line" : 330,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
           }
@@ -7557,7 +8906,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 321,
+            "line" : 332,
             "column" : 8,
             "source_fragment" : "hdr.gtpu_udp.checksum = 0"
           }
@@ -7572,7 +8921,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 324,
+            "line" : 334,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.setValid()"
           }
@@ -7591,7 +8940,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 325,
+            "line" : 335,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.version = 0x01"
           }
@@ -7610,7 +8959,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 326,
+            "line" : 336,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
           }
@@ -7629,7 +8978,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 327,
+            "line" : 337,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.spare = 0"
           }
@@ -7648,7 +8997,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 328,
+            "line" : 338,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
           }
@@ -7667,7 +9016,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 329,
+            "line" : 339,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
           }
@@ -7686,7 +9035,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 330,
+            "line" : 340,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
           }
@@ -7705,7 +9054,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 331,
+            "line" : 341,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
           }
@@ -7719,12 +9068,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ipv4_len19"]
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 332,
+            "line" : 342,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
           }
@@ -7738,12 +9087,12 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_teid20"]
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 333,
+            "line" : 343,
             "column" : 8,
             "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
           }
@@ -7751,8 +9100,870 @@
       ]
     },
     {
+      "name" : "FabricEgress.spgw.gtpu_encap_qfi",
+      "id" : 77,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 311,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 312,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.version = 4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 164,
+            "column" : 28,
+            "source_fragment" : "5; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 314,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 315,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.ecn = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4", "total_len"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0024"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 316,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x1513"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 318,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.identification = 0x1513"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 319,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 320,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 177,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 161,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "src_addr"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_addr34"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 323,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.src_addr = fabric_md.spgw.tunnel_src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_dst_addr35"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 324,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.dst_addr = fabric_md.spgw.tunnel_dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "hdr_checksum"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 325,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.hdr_checksum = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "gtpu_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 327,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "sport"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_tunnel_src_port33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 328,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.sport = fabric_md.spgw.tunnel_src_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "dport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0868"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 329,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.dport = 2152"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0010"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 330,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "checksum"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 332,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.checksum = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 334,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 335,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.version = 0x01"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "pt"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 336,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.pt = 0x01"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "spare"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 337,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.spare = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "ex_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 338,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.ex_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "seq_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 339,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.seq_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "npdu_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 340,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.npdu_flag = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msgtype"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 341,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msgtype = 0xff"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msglen"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 342,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "teid"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_teid32"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 343,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.teid = fabric_md.spgw.teid; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ipv4", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4", "total_len"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x002c"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 349,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_ipv4.total_len = hdr.ipv4.total_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_udp", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0018"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 352,
+            "column" : 8,
+            "source_fragment" : "hdr.gtpu_udp.len = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "msglen"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._spgw_ipv4_len31"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x0008"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 355,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.msglen = fabric_md.spgw.ipv4_len ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu", "ex_flag"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 357,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu.ex_flag = 1"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu_options"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 358,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_options.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x85"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 359,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_options.next_ext = 0x85"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "outer_gtpu_ext_psc"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 360,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/../define.p4",
+            "line" : 88,
+            "column" : 36,
+            "source_fragment" : "4w0; // Downlink ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "len"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 362,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.len = 8w1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "qfi"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._spgw_qfi39"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 363,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.qfi = fabric_md.spgw.qfi; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["outer_gtpu_ext_psc", "next_ext"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 364,
+            "column" : 8,
+            "source_fragment" : "hdr.outer_gtpu_ext_psc.next_ext = 0x0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio41",
-      "id" : 67,
+      "id" : 78,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7769,7 +9980,7 @@
     },
     {
       "name" : "packetio44",
-      "id" : 68,
+      "id" : 79,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7820,7 +10031,7 @@
     },
     {
       "name" : "next283",
-      "id" : 69,
+      "id" : 80,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7842,7 +10053,7 @@
     },
     {
       "name" : "next310",
-      "id" : 70,
+      "id" : 81,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7864,7 +10075,7 @@
     },
     {
       "name" : "next309",
-      "id" : 71,
+      "id" : 82,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7913,7 +10124,7 @@
     },
     {
       "name" : "next314",
-      "id" : 72,
+      "id" : 83,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7935,7 +10146,7 @@
     },
     {
       "name" : "next313",
-      "id" : 73,
+      "id" : 84,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7983,8 +10194,8 @@
       ]
     },
     {
-      "name" : "spgw342",
-      "id" : 74,
+      "name" : "spgw377",
+      "id" : 85,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -7996,17 +10207,95 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata._spgw_ctr_id24"]
+              "value" : ["scalars", "userMetadata._spgw_ctr_id36"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 342,
+            "line" : 377,
             "column" : 16,
             "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           }
         }
       ]
+    },
+    {
+      "name" : "slicing155",
+      "id" : 86,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 155,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing159",
+      "id" : 87,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing126",
+      "id" : 88,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
+          }
+        }
+      ]
     }
   ],
   "pipelines" : [
@@ -8015,16 +10304,277 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 47,
+        "line" : 49,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
-      "init_table" : "node_2",
+      "init_table" : "tbl_lookup_md_init23",
       "tables" : [
         {
-          "name" : "tbl_packetio25",
+          "name" : "tbl_lookup_md_init23",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [59],
+          "actions" : ["lookup_md_init23"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "lookup_md_init23" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 59,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init32",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [54],
+          "actions" : ["lookup_md_init32"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "lookup_md_init32" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 54,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init37",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [51],
+          "actions" : ["lookup_md_init37"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init37" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 51,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init40",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [52],
+          "actions" : ["lookup_md_init40"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init40" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 52,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init43",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [53],
+          "actions" : ["lookup_md_init43"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init43" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 53,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init47",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [58],
+          "actions" : ["lookup_md_init47"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init47" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 58,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init52",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [55],
+          "actions" : ["lookup_md_init52"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init52" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 55,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init55",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [56],
+          "actions" : ["lookup_md_init55"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init55" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 56,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init58",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [57],
+          "actions" : ["lookup_md_init58"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init58" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 57,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio25",
+          "id" : 9,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 42,
@@ -8037,511 +10587,89 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [47],
+          "action_ids" : [60],
           "actions" : ["packetio25"],
-          "base_default_next" : "FabricIngress.spgw.interfaces",
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
           "next_tables" : {
-            "packetio25" : "FabricIngress.spgw.interfaces"
+            "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
           },
           "default_entry" : {
-            "action_id" : 47,
+            "action_id" : 60,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "FabricIngress.spgw.interfaces",
-          "id" : 1,
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 10,
           "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 129,
+            "filename" : "include/control/slicing.p4",
+            "line" : 49,
             "column" : 10,
-            "source_fragment" : "interfaces"
+            "source_fragment" : "classifier"
           },
           "key" : [
             {
-              "match_type" : "lpm",
-              "name" : "ipv4_dst_addr",
-              "target" : ["ipv4", "dst_addr"],
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["standard_metadata", "ingress_port"],
               "mask" : null
             },
             {
-              "match_type" : "exact",
-              "name" : "gtpu_is_valid",
-              "target" : ["gtpu", "$valid$"],
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             }
           ],
-          "match_type" : "lpm",
+          "match_type" : "ternary",
           "type" : "simple",
-          "max_size" : 128,
-          "with_counters" : false,
+          "max_size" : 512,
+          "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [38, 39],
-          "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
-          "base_default_next" : null,
+          "action_ids" : [30, 31],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
+          "base_default_next" : "node_22",
           "next_tables" : {
-            "__HIT__" : "node_5",
-            "__MISS__" : "node_16"
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
           },
           "default_entry" : {
-            "action_id" : 39,
+            "action_id" : 30,
             "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
-          "id" : 2,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 75,
-            "column" : 10,
-            "source_fragment" : "decap_gtpu"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_tcp.$valid$",
-              "target" : ["inner_tcp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_udp.$valid$",
-              "target" : ["inner_udp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_icmp.$valid$",
-              "target" : ["inner_icmp", "$valid$"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [30, 31, 32, 33],
-          "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
-          "base_default_next" : "node_7",
-          "next_tables" : {
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_7",
-            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_7"
-          },
-          "default_entry" : {
-            "action_id" : 33,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          },
-          "entries" : [
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 89,
-                "column" : 12,
-                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 30,
-                "action_data" : []
-              },
-              "priority" : 1
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 90,
-                "column" : 12,
-                "source_fragment" : "(false, true, false) : decap_inner_udp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 31,
-                "action_data" : []
-              },
-              "priority" : 2
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 91,
-                "column" : 12,
-                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 32,
-                "action_data" : []
-              },
-              "priority" : 3
-            }
-          ]
-        },
-        {
-          "name" : "FabricIngress.spgw.uplink_pdrs",
-          "id" : 3,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 176,
-            "column" : 10,
-            "source_fragment" : "uplink_pdrs"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "tunnel_ipv4_dst",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "teid",
-              "target" : ["gtpu", "teid"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [41, 43, 9],
-          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
-          "base_default_next" : "node_10",
-          "next_tables" : {
-            "FabricIngress.spgw.load_pdr" : "node_10",
-            "FabricIngress.spgw.load_pdr_qos" : "node_10",
-            "NoAction" : "node_10"
-          },
-          "default_entry" : {
-            "action_id" : 9,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.downlink_pdrs",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 164,
-            "column" : 10,
-            "source_fragment" : "downlink_pdrs"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "ue_addr",
-              "target" : ["ipv4", "dst_addr"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [40, 42, 8],
-          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
-          "base_default_next" : "node_10",
-          "next_tables" : {
-            "FabricIngress.spgw.load_pdr" : "node_10",
-            "FabricIngress.spgw.load_pdr_qos" : "node_10",
-            "NoAction" : "node_10"
-          },
-          "default_entry" : {
-            "action_id" : 8,
-            "action_const" : false,
-            "action_data" : [],
-            "action_entry_const" : false
-          }
-        },
-        {
-          "name" : "tbl_spgw265",
-          "id" : 5,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 265,
-            "column" : 16,
-            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [48],
-          "actions" : ["spgw265"],
-          "base_default_next" : "node_12",
-          "next_tables" : {
-            "spgw265" : "node_12"
-          },
-          "default_entry" : {
-            "action_id" : 48,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
-          "id" : 6,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 75,
-            "column" : 10,
-            "source_fragment" : "decap_gtpu"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_tcp.$valid$",
-              "target" : ["inner_tcp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_udp.$valid$",
-              "target" : ["inner_udp", "$valid$"],
-              "mask" : null
-            },
-            {
-              "match_type" : "exact",
-              "name" : "hdr.inner_icmp.$valid$",
-              "target" : ["inner_icmp", "$valid$"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [34, 35, 36, 37],
-          "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
-          "base_default_next" : "FabricIngress.spgw.fars",
-          "next_tables" : {
-            "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
-            "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
-          },
-          "default_entry" : {
-            "action_id" : 37,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          },
-          "entries" : [
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 89,
-                "column" : 12,
-                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 34,
-                "action_data" : []
-              },
-              "priority" : 1
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 90,
-                "column" : 12,
-                "source_fragment" : "(false, true, false) : decap_inner_udp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 35,
-                "action_data" : []
-              },
-              "priority" : 2
-            },
-            {
-              "source_info" : {
-                "filename" : "include/control/spgw.p4",
-                "line" : 91,
-                "column" : 12,
-                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
-              },
-              "match_key" : [
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x00"
-                },
-                {
-                  "match_type" : "exact",
-                  "key" : "0x01"
-                }
-              ],
-              "action_entry" : {
-                "action_id" : 36,
-                "action_data" : []
-              },
-              "priority" : 3
-            }
-          ]
-        },
-        {
-          "name" : "FabricIngress.spgw.fars",
-          "id" : 7,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 233,
-            "column" : 10,
-            "source_fragment" : "fars"
-          },
-          "key" : [
-            {
-              "match_type" : "exact",
-              "name" : "far_id",
-              "target" : ["scalars", "userMetadata._spgw_far_id25"],
-              "mask" : null
-            }
-          ],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 2048,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [44, 45, 46],
-          "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
-          "base_default_next" : "tbl_spgw282",
-          "next_tables" : {
-            "FabricIngress.spgw.load_normal_far" : "tbl_spgw282",
-            "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw282",
-            "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw282"
-          },
-          "default_entry" : {
-            "action_id" : 44,
-            "action_const" : true,
-            "action_data" : ["0x1", "0x0"],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_spgw282",
-          "id" : 8,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 282,
-            "column" : 36,
-            "source_fragment" : "="
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [49],
-          "actions" : ["spgw282"],
-          "base_default_next" : "node_16",
-          "next_tables" : {
-            "spgw282" : "node_16"
-          },
-          "default_entry" : {
-            "action_id" : 49,
-            "action_const" : true,
-            "action_data" : [],
+            "action_data" : ["0x0", "0x0"],
             "action_entry_const" : true
           }
         },
         {
           "name" : "tbl_filtering113",
-          "id" : 9,
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
@@ -8555,14 +10683,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [50],
+          "action_ids" : [61],
           "actions" : ["filtering113"],
-          "base_default_next" : "node_18",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "filtering113" : "node_18"
+            "filtering113" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 50,
+            "action_id" : 61,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -8570,7 +10698,7 @@
         },
         {
           "name" : "tbl_filtering129",
-          "id" : 10,
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
@@ -8584,14 +10712,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [51],
+          "action_ids" : [62],
           "actions" : ["filtering129"],
           "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
           "next_tables" : {
             "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
           },
           "default_entry" : {
-            "action_id" : 51,
+            "action_id" : 62,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -8599,7 +10727,7 @@
         },
         {
           "name" : "FabricIngress.filtering.ingress_port_vlan",
-          "id" : 11,
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 55,
@@ -8649,7 +10777,7 @@
         },
         {
           "name" : "FabricIngress.filtering.fwd_classifier",
-          "id" : 12,
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 94,
@@ -8678,7 +10806,7 @@
             {
               "match_type" : "exact",
               "name" : "ip_eth_type",
-              "target" : ["scalars", "userMetadata._ip_eth_type0"],
+              "target" : ["scalars", "userMetadata._ip_eth_type8"],
               "mask" : null
             }
           ],
@@ -8690,9 +10818,9 @@
           "direct_meters" : null,
           "action_ids" : [13],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
-          "base_default_next" : "node_22",
+          "base_default_next" : "node_28",
           "next_tables" : {
-            "FabricIngress.filtering.set_forwarding_type" : "node_22"
+            "FabricIngress.filtering.set_forwarding_type" : "node_28"
           },
           "default_entry" : {
             "action_id" : 13,
@@ -8702,8 +10830,509 @@
           }
         },
         {
+          "name" : "FabricIngress.spgw.interfaces",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 132,
+            "column" : 10,
+            "source_fragment" : "interfaces"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "name" : "ipv4_dst_addr",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "gtpu_is_valid",
+              "target" : ["gtpu", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [42, 43],
+          "actions" : ["FabricIngress.spgw.load_iface", "FabricIngress.spgw.iface_miss"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "node_30",
+            "__MISS__" : "node_41"
+          },
+          "default_entry" : {
+            "action_id" : 43,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 77,
+            "column" : 10,
+            "source_fragment" : "decap_gtpu"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_tcp.$valid$",
+              "target" : ["inner_tcp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_udp.$valid$",
+              "target" : ["inner_udp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_icmp.$valid$",
+              "target" : ["inner_icmp", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [34, 35, 36, 37],
+          "actions" : ["FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown"],
+          "base_default_next" : "node_32",
+          "next_tables" : {
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_tcp" : "node_32",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_udp" : "node_32",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_icmp" : "node_32",
+            "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_inner_unknown" : "node_32"
+          },
+          "default_entry" : {
+            "action_id" : 37,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 91,
+                "column" : 12,
+                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 34,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 92,
+                "column" : 12,
+                "source_fragment" : "(false, true, false) : decap_inner_udp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 35,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 93,
+                "column" : 12,
+                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 36,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.spgw.uplink_pdrs",
+          "id" : 17,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 184,
+            "column" : 10,
+            "source_fragment" : "uplink_pdrs"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "tunnel_ipv4_dst",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "teid",
+              "target" : ["gtpu", "teid"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "has_qfi",
+              "target" : ["gtpu_ext_psc", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "qfi",
+              "target" : ["scalars", "userMetadata._spgw_qfi39"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [45, 47, 9],
+          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
+          "base_default_next" : "node_35",
+          "next_tables" : {
+            "FabricIngress.spgw.load_pdr" : "node_35",
+            "FabricIngress.spgw.load_pdr_qos" : "node_35",
+            "NoAction" : "node_35"
+          },
+          "default_entry" : {
+            "action_id" : 9,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.downlink_pdrs",
+          "id" : 18,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 172,
+            "column" : 10,
+            "source_fragment" : "downlink_pdrs"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "ue_addr",
+              "target" : ["ipv4", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [44, 46, 8],
+          "actions" : ["FabricIngress.spgw.load_pdr", "FabricIngress.spgw.load_pdr_qos", "NoAction"],
+          "base_default_next" : "node_35",
+          "next_tables" : {
+            "FabricIngress.spgw.load_pdr" : "node_35",
+            "FabricIngress.spgw.load_pdr_qos" : "node_35",
+            "NoAction" : "node_35"
+          },
+          "default_entry" : {
+            "action_id" : 8,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_spgw277",
+          "id" : 19,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 277,
+            "column" : 16,
+            "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [63],
+          "actions" : ["spgw277"],
+          "base_default_next" : "node_37",
+          "next_tables" : {
+            "spgw277" : "node_37"
+          },
+          "default_entry" : {
+            "action_id" : 63,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+          "id" : 20,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 77,
+            "column" : 10,
+            "source_fragment" : "decap_gtpu"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_tcp.$valid$",
+              "target" : ["inner_tcp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_udp.$valid$",
+              "target" : ["inner_udp", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "hdr.inner_icmp.$valid$",
+              "target" : ["inner_icmp", "$valid$"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [38, 39, 40, 41],
+          "actions" : ["FabricIngress.spgw.decap_gtpu.decap_inner_tcp", "FabricIngress.spgw.decap_gtpu.decap_inner_udp", "FabricIngress.spgw.decap_gtpu.decap_inner_icmp", "FabricIngress.spgw.decap_gtpu.decap_inner_unknown"],
+          "base_default_next" : "FabricIngress.spgw.fars",
+          "next_tables" : {
+            "FabricIngress.spgw.decap_gtpu.decap_inner_tcp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_udp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_icmp" : "FabricIngress.spgw.fars",
+            "FabricIngress.spgw.decap_gtpu.decap_inner_unknown" : "FabricIngress.spgw.fars"
+          },
+          "default_entry" : {
+            "action_id" : 41,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 91,
+                "column" : 12,
+                "source_fragment" : "(true, false, false) : decap_inner_tcp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 38,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 92,
+                "column" : 12,
+                "source_fragment" : "(false, true, false) : decap_inner_udp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 39,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "include/control/spgw.p4",
+                "line" : 93,
+                "column" : 12,
+                "source_fragment" : "(false, false, true) : decap_inner_icmp()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 40,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.spgw.fars",
+          "id" : 21,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 245,
+            "column" : 10,
+            "source_fragment" : "fars"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "far_id",
+              "target" : ["scalars", "userMetadata._spgw_far_id37"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 2048,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [48, 49, 50],
+          "actions" : ["FabricIngress.spgw.load_normal_far", "FabricIngress.spgw.load_tunnel_far", "FabricIngress.spgw.load_dbuf_far"],
+          "base_default_next" : "tbl_spgw294",
+          "next_tables" : {
+            "FabricIngress.spgw.load_normal_far" : "tbl_spgw294",
+            "FabricIngress.spgw.load_tunnel_far" : "tbl_spgw294",
+            "FabricIngress.spgw.load_dbuf_far" : "tbl_spgw294"
+          },
+          "default_entry" : {
+            "action_id" : 48,
+            "action_const" : true,
+            "action_data" : ["0x1", "0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_spgw294",
+          "id" : 22,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 294,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [64],
+          "actions" : ["spgw294"],
+          "base_default_next" : "node_41",
+          "next_tables" : {
+            "spgw294" : "node_41"
+          },
+          "default_entry" : {
+            "action_id" : 64,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
           "name" : "FabricIngress.forwarding.bridging",
-          "id" : 13,
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 46,
@@ -8714,7 +11343,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -8732,10 +11361,10 @@
           "direct_meters" : null,
           "action_ids" : [14, 0],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
-          "base_default_next" : "node_29",
+          "base_default_next" : "node_48",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_bridging" : "node_29",
-            "nop" : "node_29"
+            "FabricIngress.forwarding.set_next_id_bridging" : "node_48",
+            "nop" : "node_48"
           },
           "default_entry" : {
             "action_id" : 0,
@@ -8746,7 +11375,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.mpls",
-          "id" : 14,
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 71,
@@ -8757,7 +11386,7 @@
             {
               "match_type" : "exact",
               "name" : "mpls_label",
-              "target" : ["scalars", "userMetadata._mpls_label4"],
+              "target" : ["scalars", "userMetadata._mpls_label12"],
               "mask" : null
             }
           ],
@@ -8769,10 +11398,10 @@
           "direct_meters" : null,
           "action_ids" : [15, 1],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
-          "base_default_next" : "node_29",
+          "base_default_next" : "node_48",
           "next_tables" : {
-            "FabricIngress.forwarding.pop_mpls_and_next" : "node_29",
-            "nop" : "node_29"
+            "FabricIngress.forwarding.pop_mpls_and_next" : "node_48",
+            "nop" : "node_48"
           },
           "default_entry" : {
             "action_id" : 1,
@@ -8783,7 +11412,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v4",
-          "id" : 15,
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 108,
@@ -8794,7 +11423,7 @@
             {
               "match_type" : "lpm",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "userMetadata._ipv4_dst_addr16"],
+              "target" : ["scalars", "userMetadata._ipv4_dst_addr24"],
               "mask" : null
             }
           ],
@@ -8806,11 +11435,11 @@
           "direct_meters" : null,
           "action_ids" : [16, 17, 2],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
-          "base_default_next" : "node_29",
+          "base_default_next" : "node_48",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_29",
-            "FabricIngress.forwarding.nop_routing_v4" : "node_29",
-            "nop" : "node_29"
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_48",
+            "FabricIngress.forwarding.nop_routing_v4" : "node_48",
+            "nop" : "node_48"
           },
           "default_entry" : {
             "action_id" : 2,
@@ -8821,7 +11450,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_mpls",
-          "id" : 16,
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 36,
@@ -8832,7 +11461,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -8858,7 +11487,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_vlan",
-          "id" : 17,
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 73,
@@ -8869,7 +11498,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -8881,10 +11510,10 @@
           "direct_meters" : null,
           "action_ids" : [19, 4],
           "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
-          "base_default_next" : "tbl_acl27",
+          "base_default_next" : "FabricIngress.acl.acl",
           "next_tables" : {
-            "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
-            "nop" : "tbl_acl27"
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
           },
           "default_entry" : {
             "action_id" : 4,
@@ -8894,214 +11523,11 @@
           }
         },
         {
-          "name" : "tbl_acl27",
-          "id" : 18,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [58],
-          "actions" : ["acl27"],
-          "base_default_next" : "node_33",
-          "next_tables" : {
-            "acl27" : "node_33"
-          },
-          "default_entry" : {
-            "action_id" : 58,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl98",
-          "id" : 19,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 21,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [54],
-          "actions" : ["acl98"],
-          "base_default_next" : "node_35",
-          "next_tables" : {
-            "acl98" : "node_35"
-          },
-          "default_entry" : {
-            "action_id" : 54,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl102",
-          "id" : 20,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [52],
-          "actions" : ["acl102"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl102" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 52,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl105",
-          "id" : 21,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [53],
-          "actions" : ["acl105"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl105" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 53,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl109",
-          "id" : 22,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 21,
-            "source_fragment" : "= hdr.ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [57],
-          "actions" : ["acl109"],
-          "base_default_next" : "node_41",
-          "next_tables" : {
-            "acl109" : "node_41"
-          },
-          "default_entry" : {
-            "action_id" : 57,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl113",
-          "id" : 23,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 25,
-            "source_fragment" : "= hdr.tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [55],
-          "actions" : ["acl113"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl113" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 55,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl116",
-          "id" : 24,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 25,
-            "source_fragment" : "= hdr.udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [56],
-          "actions" : ["acl116"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl116" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 56,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
           "name" : "FabricIngress.acl.acl",
-          "id" : 25,
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 66,
+            "line" : 59,
             "column" : 10,
             "source_fragment" : "acl"
           },
@@ -9139,19 +11565,19 @@
             {
               "match_type" : "ternary",
               "name" : "ipv4_src",
-              "target" : ["scalars", "acl_ipv4_src"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "acl_ipv4_dst"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ip_proto",
-              "target" : ["scalars", "acl_ip_proto"],
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
               "mask" : null
             },
             {
@@ -9169,19 +11595,19 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "acl_l4_sport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "acl_l4_dport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "port_type",
-              "target" : ["scalars", "userMetadata._port_type32"],
+              "target" : ["scalars", "userMetadata._port_type46"],
               "mask" : null
             }
           ],
@@ -9193,13 +11619,13 @@
           "direct_meters" : null,
           "action_ids" : [20, 21, 22, 23, 24],
           "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
-          "base_default_next" : "node_46",
+          "base_default_next" : "node_52",
           "next_tables" : {
-            "FabricIngress.acl.set_next_id_acl" : "node_46",
-            "FabricIngress.acl.punt_to_cpu" : "node_46",
-            "FabricIngress.acl.set_clone_session_id" : "node_46",
-            "FabricIngress.acl.drop" : "node_46",
-            "FabricIngress.acl.nop_acl" : "node_46"
+            "FabricIngress.acl.set_next_id_acl" : "node_52",
+            "FabricIngress.acl.punt_to_cpu" : "node_52",
+            "FabricIngress.acl.set_clone_session_id" : "node_52",
+            "FabricIngress.acl.drop" : "node_52",
+            "FabricIngress.acl.nop_acl" : "node_52"
           },
           "default_entry" : {
             "action_id" : 24,
@@ -9210,7 +11636,7 @@
         },
         {
           "name" : "FabricIngress.next.xconnect",
-          "id" : 26,
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 68,
@@ -9227,7 +11653,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -9254,7 +11680,7 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 27,
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 138,
@@ -9265,7 +11691,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -9287,7 +11713,7 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 28,
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 171,
@@ -9298,7 +11724,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata._next_id9"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -9310,10 +11736,10 @@
           "direct_meters" : null,
           "action_ids" : [29, 7],
           "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
-          "base_default_next" : "node_50",
+          "base_default_next" : "node_56",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group_id" : "node_50",
-            "nop" : "node_50"
+            "FabricIngress.next.set_mcast_group_id" : "node_56",
+            "nop" : "node_56"
           },
           "default_entry" : {
             "action_id" : 7,
@@ -9324,7 +11750,7 @@
         },
         {
           "name" : "tbl_port_counter31",
-          "id" : 29,
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 31,
@@ -9338,14 +11764,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [59],
+          "action_ids" : [65],
           "actions" : ["port_counter31"],
-          "base_default_next" : "node_52",
+          "base_default_next" : "node_58",
           "next_tables" : {
-            "port_counter31" : "node_52"
+            "port_counter31" : "node_58"
           },
           "default_entry" : {
-            "action_id" : 59,
+            "action_id" : 65,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -9353,7 +11779,7 @@
         },
         {
           "name" : "tbl_port_counter34",
-          "id" : 30,
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 34,
@@ -9367,18 +11793,96 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [60],
+          "action_ids" : [66],
           "actions" : ["port_counter34"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "port_counter34" : null
+            "port_counter34" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 60,
+            "action_id" : 66,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
+        },
+        {
+          "name" : "tbl_slicing114",
+          "id" : 34,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [67],
+          "actions" : ["slicing114"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing114" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 67,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 35,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 93,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_id",
+              "target" : ["scalars", "userMetadata._slice_id25"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc",
+              "target" : ["scalars", "userMetadata._tc27"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "userMetadata._packet_color26"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [32, 33],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : null,
+            "FabricIngress.qos.meter_drop" : null
+          },
+          "default_entry" : {
+            "action_id" : 32,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
         }
       ],
       "action_profiles" : [
@@ -9397,23 +11901,23 @@
             "input" : [
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_src_addr15"]
+                "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ipv4_dst_addr16"]
+                "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._ip_proto12"]
+                "value" : ["scalars", "userMetadata._ip_proto20"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_sport13"]
+                "value" : ["scalars", "userMetadata._l4_sport21"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._l4_dport14"]
+                "value" : ["scalars", "userMetadata._l4_dport22"]
               }
             ]
           }
@@ -9421,9 +11925,193 @@
       ],
       "conditionals" : [
         {
-          "name" : "node_2",
+          "name" : "node_3",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init32",
+          "false_next" : "node_11"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init37",
+          "false_next" : "node_7"
+        },
+        {
+          "name" : "node_7",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init40",
+          "false_next" : "node_9"
+        },
+        {
+          "name" : "node_9",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init43",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_11",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 46,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init47",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init52",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init55",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init58",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_19",
+          "id" : 8,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 24,
             "column" : 12,
@@ -9441,109 +12129,11 @@
             }
           },
           "true_next" : "tbl_packetio25",
-          "false_next" : "FabricIngress.spgw.interfaces"
+          "false_next" : "FabricIngress.slice_tc_classifier.classifier"
         },
         {
-          "name" : "node_5",
-          "id" : 1,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 255,
-            "column" : 16,
-            "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "==",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_src_iface26"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
-          "false_next" : "node_7"
-        },
-        {
-          "name" : "node_7",
-          "id" : 2,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 259,
-            "column" : 16,
-            "source_fragment" : "hdr.gtpu.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["gtpu", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.uplink_pdrs",
-          "false_next" : "FabricIngress.spgw.downlink_pdrs"
-        },
-        {
-          "name" : "node_10",
-          "id" : 3,
-          "source_info" : {
-            "filename" : "include/control/spgw.p4",
-            "line" : 264,
-            "column" : 16,
-            "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "!=",
-              "left" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_src_iface26"]
-              },
-              "right" : {
-                "type" : "hexstr",
-                "value" : "0x03"
-              }
-            }
-          },
-          "true_next" : "tbl_spgw265",
-          "false_next" : "node_12"
-        },
-        {
-          "name" : "node_12",
-          "id" : 4,
-          "source_info" : {
-            "filename" : "fabric.p4",
-            "line" : 68,
-            "column" : 24,
-            "source_fragment" : "fabric_metadata"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap30"]
-              }
-            }
-          },
-          "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
-          "false_next" : "FabricIngress.spgw.fars"
-        },
-        {
-          "name" : "node_16",
-          "id" : 5,
+          "name" : "node_22",
+          "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 112,
@@ -9562,11 +12152,11 @@
             }
           },
           "true_next" : "tbl_filtering113",
-          "false_next" : "node_18"
+          "false_next" : "node_24"
         },
         {
-          "name" : "node_18",
-          "id" : 6,
+          "name" : "node_24",
+          "id" : 10,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 124,
@@ -9595,11 +12185,11 @@
           "false_next" : "FabricIngress.filtering.ingress_port_vlan"
         },
         {
-          "name" : "node_22",
-          "id" : 7,
+          "name" : "node_28",
+          "id" : 11,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 71,
+            "line" : 76,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding"
           },
@@ -9615,18 +12205,146 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_forwarding6"]
+                    "value" : ["scalars", "userMetadata._skip_forwarding14"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_23",
-          "false_next" : "node_29"
+          "true_next" : "FabricIngress.spgw.interfaces",
+          "false_next" : "node_41"
         },
         {
-          "name" : "node_23",
-          "id" : 8,
+          "name" : "node_30",
+          "id" : 12,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 267,
+            "column" : 16,
+            "source_fragment" : "fabric_md.spgw.src_iface == SPGW_IFACE_FROM_DBUF"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_src_iface38"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x03"
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.decap_gtpu_from_dbuf.decap_gtpu",
+          "false_next" : "node_32"
+        },
+        {
+          "name" : "node_32",
+          "id" : 13,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 271,
+            "column" : 16,
+            "source_fragment" : "hdr.gtpu.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["gtpu", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.uplink_pdrs",
+          "false_next" : "FabricIngress.spgw.downlink_pdrs"
+        },
+        {
+          "name" : "node_35",
+          "id" : 14,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 276,
+            "column" : 16,
+            "source_fragment" : "fabric_md.spgw.src_iface != SPGW_IFACE_FROM_DBUF"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "!=",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_src_iface38"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x03"
+              }
+            }
+          },
+          "true_next" : "tbl_spgw277",
+          "false_next" : "node_37"
+        },
+        {
+          "name" : "node_37",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 77,
+            "column" : 28,
+            "source_fragment" : "fabric_metadata"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_decap43"]
+              }
+            }
+          },
+          "true_next" : "FabricIngress.spgw.decap_gtpu.decap_gtpu",
+          "false_next" : "FabricIngress.spgw.fars"
+        },
+        {
+          "name" : "node_41",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 80,
+            "column" : 12,
+            "source_fragment" : "fabric_metadata.skip_forwarding"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "not",
+              "left" : null,
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["scalars", "userMetadata._skip_forwarding14"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "node_42",
+          "false_next" : "node_48"
+        },
+        {
+          "name" : "node_42",
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 150,
@@ -9639,7 +12357,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -9648,11 +12366,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.bridging",
-          "false_next" : "node_25"
+          "false_next" : "node_44"
         },
         {
-          "name" : "node_25",
-          "id" : 9,
+          "name" : "node_44",
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 151,
@@ -9665,7 +12383,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -9674,11 +12392,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.mpls",
-          "false_next" : "node_27"
+          "false_next" : "node_46"
         },
         {
-          "name" : "node_27",
-          "id" : 10,
+          "name" : "node_46",
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 152,
@@ -9691,7 +12409,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._fwd_type8"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -9700,14 +12418,14 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v4",
-          "false_next" : "node_29"
+          "false_next" : "node_48"
         },
         {
-          "name" : "node_29",
-          "id" : 11,
+          "name" : "node_48",
+          "id" : 20,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 74,
+            "line" : 83,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -9723,176 +12441,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next7"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
           "true_next" : "FabricIngress.pre_next.next_mpls",
-          "false_next" : "tbl_acl27"
-        },
-        {
-          "name" : "node_33",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 97,
-            "column" : 12,
-            "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "and",
-              "left" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["gtpu", "$valid$"]
-                  }
-                }
-              },
-              "right" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["inner_ipv4", "$valid$"]
-                  }
-                }
-              }
-            }
-          },
-          "true_next" : "tbl_acl98",
-          "false_next" : "node_39"
-        },
-        {
-          "name" : "node_35",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 101,
-            "column" : 16,
-            "source_fragment" : "hdr.inner_tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl102",
-          "false_next" : "node_37"
-        },
-        {
-          "name" : "node_37",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 104,
-            "column" : 23,
-            "source_fragment" : "hdr.inner_udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl105",
           "false_next" : "FabricIngress.acl.acl"
         },
         {
-          "name" : "node_39",
-          "id" : 15,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 108,
-            "column" : 19,
-            "source_fragment" : "hdr.ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv4", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl109",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_41",
-          "id" : 16,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 112,
-            "column" : 16,
-            "source_fragment" : "hdr.tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl113",
-          "false_next" : "node_43"
-        },
-        {
-          "name" : "node_43",
-          "id" : 17,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 115,
-            "column" : 23,
-            "source_fragment" : "hdr.udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl116",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_46",
-          "id" : 18,
+          "name" : "node_52",
+          "id" : 21,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 78,
+            "line" : 87,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -9908,18 +12471,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._skip_next7"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.next.xconnect"
+          "true_next" : "FabricIngress.next.xconnect",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_50",
-          "id" : 19,
+          "name" : "node_56",
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 30,
@@ -9941,11 +12504,11 @@
             }
           },
           "true_next" : "tbl_port_counter31",
-          "false_next" : "node_52"
+          "false_next" : "node_58"
         },
         {
-          "name" : "node_52",
-          "id" : 20,
+          "name" : "node_58",
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 33,
@@ -9966,8 +12529,8 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_port_counter34"
+          "true_next" : "tbl_port_counter34",
+          "false_next" : "tbl_slicing114"
         }
       ]
     },
@@ -9976,15 +12539,15 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 96,
+        "line" : 105,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
-      "init_table" : "node_56",
+      "init_table" : "node_64",
       "tables" : [
         {
           "name" : "tbl_packetio41",
-          "id" : 31,
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 41,
@@ -9998,14 +12561,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [67],
+          "action_ids" : [78],
           "actions" : ["packetio41"],
-          "base_default_next" : "node_58",
+          "base_default_next" : "node_66",
           "next_tables" : {
-            "packetio41" : "node_58"
+            "packetio41" : "node_66"
           },
           "default_entry" : {
-            "action_id" : 67,
+            "action_id" : 78,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10013,7 +12576,7 @@
         },
         {
           "name" : "tbl_packetio44",
-          "id" : 32,
+          "id" : 37,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 44,
@@ -10027,14 +12590,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [68],
+          "action_ids" : [79],
           "actions" : ["packetio44"],
-          "base_default_next" : "node_60",
+          "base_default_next" : "node_68",
           "next_tables" : {
-            "packetio44" : "node_60"
+            "packetio44" : "node_68"
           },
           "default_entry" : {
-            "action_id" : 68,
+            "action_id" : 79,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10042,7 +12605,7 @@
         },
         {
           "name" : "tbl_next283",
-          "id" : 33,
+          "id" : 38,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 283,
@@ -10056,14 +12619,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [69],
+          "action_ids" : [80],
           "actions" : ["next283"],
-          "base_default_next" : "node_62",
+          "base_default_next" : "node_70",
           "next_tables" : {
-            "next283" : "node_62"
+            "next283" : "node_70"
           },
           "default_entry" : {
-            "action_id" : 69,
+            "action_id" : 80,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10071,7 +12634,7 @@
         },
         {
           "name" : "tbl_egress_next_pop_mpls_if_present",
-          "id" : 34,
+          "id" : 39,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -10085,14 +12648,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [61],
+          "action_ids" : [69],
           "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 61,
+            "action_id" : 69,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10100,7 +12663,7 @@
         },
         {
           "name" : "tbl_egress_next_set_mpls",
-          "id" : 35,
+          "id" : 40,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 289,
@@ -10114,14 +12677,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [62],
+          "action_ids" : [70],
           "actions" : ["FabricEgress.egress_next.set_mpls"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 62,
+            "action_id" : 70,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10129,7 +12692,7 @@
         },
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 36,
+          "id" : 41,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 265,
@@ -10140,7 +12703,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata._vlan_id1"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -10156,16 +12719,16 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [63, 64, 65],
+          "action_ids" : [71, 72, 73],
           "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
-          "base_default_next" : "node_67",
+          "base_default_next" : "node_75",
           "next_tables" : {
-            "FabricEgress.egress_next.push_vlan" : "node_67",
-            "FabricEgress.egress_next.pop_vlan" : "node_67",
-            "FabricEgress.egress_next.drop" : "node_67"
+            "FabricEgress.egress_next.push_vlan" : "node_75",
+            "FabricEgress.egress_next.pop_vlan" : "node_75",
+            "FabricEgress.egress_next.drop" : "node_75"
           },
           "default_entry" : {
-            "action_id" : 65,
+            "action_id" : 73,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10173,7 +12736,7 @@
         },
         {
           "name" : "tbl_next309",
-          "id" : 37,
+          "id" : 42,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 309,
@@ -10187,14 +12750,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [71],
+          "action_ids" : [82],
           "actions" : ["next309"],
-          "base_default_next" : "node_69",
+          "base_default_next" : "node_77",
           "next_tables" : {
-            "next309" : "node_69"
+            "next309" : "node_77"
           },
           "default_entry" : {
-            "action_id" : 71,
+            "action_id" : 82,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10202,7 +12765,7 @@
         },
         {
           "name" : "tbl_next310",
-          "id" : 38,
+          "id" : 43,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -10216,14 +12779,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [70],
+          "action_ids" : [81],
           "actions" : ["next310"],
-          "base_default_next" : "node_75",
+          "base_default_next" : "node_83",
           "next_tables" : {
-            "next310" : "node_75"
+            "next310" : "node_83"
           },
           "default_entry" : {
-            "action_id" : 70,
+            "action_id" : 81,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10231,7 +12794,7 @@
         },
         {
           "name" : "tbl_next313",
-          "id" : 39,
+          "id" : 44,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 313,
@@ -10245,14 +12808,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [73],
+          "action_ids" : [84],
           "actions" : ["next313"],
-          "base_default_next" : "node_73",
+          "base_default_next" : "node_81",
           "next_tables" : {
-            "next313" : "node_73"
+            "next313" : "node_81"
           },
           "default_entry" : {
-            "action_id" : 73,
+            "action_id" : 84,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10260,7 +12823,7 @@
         },
         {
           "name" : "tbl_next314",
-          "id" : 40,
+          "id" : 45,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -10274,14 +12837,43 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [72],
+          "action_ids" : [83],
           "actions" : ["next314"],
-          "base_default_next" : "node_75",
+          "base_default_next" : "node_83",
           "next_tables" : {
-            "next314" : "node_75"
+            "next314" : "node_83"
           },
           "default_entry" : {
-            "action_id" : 72,
+            "action_id" : 83,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_spgw_gtpu_encap_qfi",
+          "id" : 46,
+          "source_info" : {
+            "filename" : "include/control/spgw.p4",
+            "line" : 371,
+            "column" : 20,
+            "source_fragment" : "gtpu_encap_qfi()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [77],
+          "actions" : ["FabricEgress.spgw.gtpu_encap_qfi"],
+          "base_default_next" : "node_88",
+          "next_tables" : {
+            "FabricEgress.spgw.gtpu_encap_qfi" : "node_88"
+          },
+          "default_entry" : {
+            "action_id" : 77,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10289,11 +12881,11 @@
         },
         {
           "name" : "tbl_spgw_gtpu_encap",
-          "id" : 41,
+          "id" : 47,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 339,
-            "column" : 16,
+            "line" : 373,
+            "column" : 20,
             "source_fragment" : "gtpu_encap()"
           },
           "key" : [],
@@ -10303,25 +12895,25 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [66],
+          "action_ids" : [76],
           "actions" : ["FabricEgress.spgw.gtpu_encap"],
-          "base_default_next" : "node_78",
+          "base_default_next" : "node_88",
           "next_tables" : {
-            "FabricEgress.spgw.gtpu_encap" : "node_78"
+            "FabricEgress.spgw.gtpu_encap" : "node_88"
           },
           "default_entry" : {
-            "action_id" : 66,
+            "action_id" : 76,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
-          "name" : "tbl_spgw342",
-          "id" : 42,
+          "name" : "tbl_spgw377",
+          "id" : 48,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 342,
+            "line" : 377,
             "column" : 16,
             "source_fragment" : "pdr_counter.count(fabric_md.spgw.ctr_id)"
           },
@@ -10332,14 +12924,138 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [74],
-          "actions" : ["spgw342"],
-          "base_default_next" : null,
+          "action_ids" : [85],
+          "actions" : ["spgw377"],
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "spgw342" : null
+            "spgw377" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 74,
+            "action_id" : 85,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing126",
+          "id" : 49,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [88],
+          "actions" : ["slicing126"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 88,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 50,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 138,
+            "column" : 10,
+            "source_fragment" : "rewriter"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [74, 75, 68],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__MISS__" : null,
+            "__HIT__" : "node_92"
+          },
+          "default_entry" : {
+            "action_id" : 68,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing155",
+          "id" : 51,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 155,
+            "column" : 30,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [86],
+          "actions" : ["slicing155"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing155" : null
+          },
+          "default_entry" : {
+            "action_id" : 86,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing159",
+          "id" : 52,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [87],
+          "actions" : ["slicing159"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing159" : null
+          },
+          "default_entry" : {
+            "action_id" : 87,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -10349,11 +13065,11 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_56",
-          "id" : 21,
+          "name" : "node_64",
+          "id" : 24,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 108,
+            "line" : 118,
             "column" : 33,
             "source_fragment" : "fabric_metadata"
           },
@@ -10364,16 +13080,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._is_controller_packet_out11"]
+                "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
               }
             }
           },
           "true_next" : "tbl_packetio41",
-          "false_next" : "node_58"
+          "false_next" : "node_66"
         },
         {
-          "name" : "node_58",
-          "id" : 22,
+          "name" : "node_66",
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 43,
@@ -10395,11 +13111,11 @@
             }
           },
           "true_next" : "tbl_packetio44",
-          "false_next" : "node_60"
+          "false_next" : "node_68"
         },
         {
-          "name" : "node_60",
-          "id" : 23,
+          "name" : "node_68",
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 281,
@@ -10417,7 +13133,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._is_multicast10"]
+                    "value" : ["scalars", "userMetadata._is_multicast18"]
                   }
                 }
               },
@@ -10438,11 +13154,11 @@
             }
           },
           "true_next" : "tbl_next283",
-          "false_next" : "node_62"
+          "false_next" : "node_70"
         },
         {
-          "name" : "node_62",
-          "id" : 24,
+          "name" : "node_70",
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 286,
@@ -10455,7 +13171,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._mpls_label4"]
+                "value" : ["scalars", "userMetadata._mpls_label12"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -10463,12 +13179,12 @@
               }
             }
           },
-          "true_next" : "node_63",
+          "true_next" : "node_71",
           "false_next" : "tbl_egress_next_set_mpls"
         },
         {
-          "name" : "node_63",
-          "id" : 25,
+          "name" : "node_71",
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -10490,8 +13206,8 @@
           "false_next" : "FabricEgress.egress_next.egress_vlan"
         },
         {
-          "name" : "node_67",
-          "id" : 26,
+          "name" : "node_75",
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 308,
@@ -10510,11 +13226,11 @@
             }
           },
           "true_next" : "tbl_next309",
-          "false_next" : "node_71"
+          "false_next" : "node_79"
         },
         {
-          "name" : "node_69",
-          "id" : 27,
+          "name" : "node_77",
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -10536,11 +13252,11 @@
             }
           },
           "true_next" : "tbl_next310",
-          "false_next" : "node_75"
+          "false_next" : "node_83"
         },
         {
-          "name" : "node_71",
-          "id" : 28,
+          "name" : "node_79",
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 312,
@@ -10568,7 +13284,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._fwd_type8"]
+                    "value" : ["scalars", "userMetadata._fwd_type16"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -10579,11 +13295,11 @@
             }
           },
           "true_next" : "tbl_next313",
-          "false_next" : "node_75"
+          "false_next" : "node_83"
         },
         {
-          "name" : "node_73",
-          "id" : 29,
+          "name" : "node_81",
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -10605,14 +13321,14 @@
             }
           },
           "true_next" : "tbl_next314",
-          "false_next" : "node_75"
+          "false_next" : "node_83"
         },
         {
-          "name" : "node_75",
-          "id" : 30,
+          "name" : "node_83",
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 337,
+            "line" : 368,
             "column" : 12,
             "source_fragment" : "fabric_md.spgw.skip_spgw"
           },
@@ -10628,21 +13344,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._spgw_skip_spgw27"]
+                    "value" : ["scalars", "userMetadata._spgw_skip_spgw40"]
                   }
                 }
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "node_76"
+          "true_next" : "node_84",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_76",
-          "id" : 31,
+          "name" : "node_84",
+          "id" : 34,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 111,
+            "line" : 121,
             "column" : 24,
             "source_fragment" : "fabric_metadata"
           },
@@ -10653,19 +13369,42 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap29"]
+                "value" : ["scalars", "userMetadata._spgw_needs_gtpu_encap42"]
               }
             }
           },
-          "true_next" : "tbl_spgw_gtpu_encap",
-          "false_next" : "node_78"
+          "true_next" : "node_85",
+          "false_next" : "node_88"
         },
         {
-          "name" : "node_78",
-          "id" : 32,
+          "name" : "node_85",
+          "id" : 35,
+          "source_info" : {
+            "filename" : "fabric.p4",
+            "line" : 121,
+            "column" : 24,
+            "source_fragment" : "fabric_metadata"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._spgw_needs_qfi_push45"]
+              }
+            }
+          },
+          "true_next" : "tbl_spgw_gtpu_encap_qfi",
+          "false_next" : "tbl_spgw_gtpu_encap"
+        },
+        {
+          "name" : "node_88",
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/spgw.p4",
-            "line" : 341,
+            "line" : 376,
             "column" : 16,
             "source_fragment" : "fabric_md.spgw.skip_egress_pdr_ctr"
           },
@@ -10681,14 +13420,60 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr31"]
+                    "value" : ["scalars", "userMetadata._spgw_skip_egress_pdr_ctr44"]
                   }
                 }
               }
             }
           },
+          "true_next" : "tbl_spgw377",
+          "false_next" : "tbl_slicing126"
+        },
+        {
+          "name" : "node_92",
+          "id" : 37,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 154,
+            "column" : 16,
+            "source_fragment" : "hdr.gtpu_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["gtpu_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_slicing155",
+          "false_next" : "node_94"
+        },
+        {
+          "name" : "node_94",
+          "id" : 38,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 158,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
           "false_next" : null,
-          "true_next" : "tbl_spgw342"
+          "true_next" : "tbl_slicing159"
         }
       ]
     }
@@ -10725,7 +13510,7 @@
       "id" : 1,
       "source_info" : {
         "filename" : "include/control/spgw.p4",
-        "line" : 358,
+        "line" : 393,
         "column" : 8,
         "source_fragment" : "update_checksum(gtpu_ipv4.isValid(), ..."
       },
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
index 31906c7..1934060 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric-spgw/bmv2/default/p4info.txt
@@ -392,6 +392,92 @@
 }
 tables {
   preamble {
+    id: 34606298
+    name: "FabricIngress.slice_tc_classifier.classifier"
+    alias: "classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23786376
+  }
+  action_refs {
+    id: 25983516
+  }
+  const_default_action_id: 23786376
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "color"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 32116918
+  }
+  action_refs {
+    id: 28214351
+  }
+  const_default_action_id: 32116918
+  direct_resource_ids: 327743278
+  size: 128
+}
+tables {
+  preamble {
     id: 36113154
     name: "FabricIngress.spgw.interfaces"
     alias: "interfaces"
@@ -462,6 +548,18 @@
     bitwidth: 32
     match_type: EXACT
   }
+  match_fields {
+    id: 3
+    name: "has_qfi"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  match_fields {
+    id: 4
+    name: "qfi"
+    bitwidth: 6
+    match_type: EXACT
+  }
   action_refs {
     id: 18504550
   }
@@ -532,6 +630,32 @@
   direct_resource_ids: 318892680
   size: 1024
 }
+tables {
+  preamble {
+    id: 49970092
+    name: "FabricEgress.dscp_rewriter.rewriter"
+    alias: "rewriter"
+  }
+  match_fields {
+    id: 1
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27951287
+  }
+  action_refs {
+    id: 24120545
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 512
+}
 actions {
   preamble {
     id: 28485346
@@ -779,6 +903,49 @@
 }
 actions {
   preamble {
+    id: 23786376
+    name: "FabricIngress.slice_tc_classifier.set_slice_id_tc"
+    alias: "set_slice_id_tc"
+  }
+  params {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+  }
+  params {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25983516
+    name: "FabricIngress.slice_tc_classifier.trust_dscp"
+    alias: "trust_dscp"
+  }
+}
+actions {
+  preamble {
+    id: 32116918
+    name: "FabricIngress.qos.set_queue"
+    alias: "set_queue"
+  }
+  params {
+    id: 1
+    name: "qid"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 28214351
+    name: "FabricIngress.qos.meter_drop"
+    alias: "meter_drop"
+  }
+}
+actions {
+  preamble {
     id: 18186268
     name: "FabricIngress.spgw.load_iface"
     alias: "load_iface"
@@ -788,6 +955,11 @@
     name: "src_iface"
     bitwidth: 8
   }
+  params {
+    id: 2
+    name: "slice_id"
+    bitwidth: 4
+  }
 }
 actions {
   preamble {
@@ -817,6 +989,11 @@
     name: "needs_gtpu_decap"
     bitwidth: 1
   }
+  params {
+    id: 4
+    name: "tc"
+    bitwidth: 2
+  }
 }
 actions {
   preamble {
@@ -841,8 +1018,18 @@
   }
   params {
     id: 4
-    name: "qid"
-    bitwidth: 5
+    name: "needs_qfi_push"
+    bitwidth: 1
+  }
+  params {
+    id: 5
+    name: "qfi"
+    bitwidth: 6
+  }
+  params {
+    id: 6
+    name: "tc"
+    bitwidth: 2
   }
 }
 actions {
@@ -957,6 +1144,20 @@
     alias: "egress_next.drop"
   }
 }
+actions {
+  preamble {
+    id: 27951287
+    name: "FabricEgress.dscp_rewriter.rewrite"
+    alias: "rewrite"
+  }
+}
+actions {
+  preamble {
+    id: 24120545
+    name: "FabricEgress.dscp_rewriter.clear"
+    alias: "clear"
+  }
+}
 action_profiles {
   preamble {
     id: 291115404
@@ -1124,6 +1325,28 @@
 }
 direct_counters {
   preamble {
+    id: 334706097
+    name: "FabricIngress.slice_tc_classifier.classifier_stats"
+    alias: "classifier_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 34606298
+}
+direct_counters {
+  preamble {
+    id: 327743278
+    name: "FabricIngress.qos.queues_stats"
+    alias: "queues_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 36435258
+}
+direct_counters {
+  preamble {
     id: 318892680
     name: "FabricEgress.egress_next.egress_vlan_counter"
     alias: "egress_vlan_counter"
@@ -1133,6 +1356,17 @@
   }
   direct_table_id: 49262446
 }
+meters {
+  preamble {
+    id: 348573637
+    name: "FabricIngress.qos.slice_tc_meter"
+    alias: "slice_tc_meter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 64
+}
 controller_packet_metadata {
   preamble {
     id: 81826293
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
index 0b921cb..f6a130f 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/bmv2.json
@@ -7,6 +7,7 @@
         ["tmp_0", 1, false],
         ["tmp_2", 3, false],
         ["tmp_4", 8, false],
+        ["gtpu_ext_len_0", 8, false],
         ["tmp_1", 16, false],
         ["tmp_3", 16, false],
         ["tmp_5", 4, false],
@@ -14,30 +15,39 @@
         ["tmp_7", 64, false],
         ["tmp_8", 32, false],
         ["tmp_9", 32, false],
-        ["acl_ipv4_src", 32, false],
-        ["acl_ipv4_dst", 32, false],
-        ["acl_ip_proto", 8, false],
-        ["acl_l4_sport", 16, false],
-        ["acl_l4_dport", 16, false],
-        ["userMetadata.ip_eth_type", 16, false],
-        ["userMetadata.vlan_id", 12, false],
-        ["userMetadata.vlan_pri", 3, false],
-        ["userMetadata.vlan_cfi", 1, false],
-        ["userMetadata.mpls_label", 20, false],
-        ["userMetadata.mpls_ttl", 8, false],
-        ["userMetadata.skip_forwarding", 1, false],
-        ["userMetadata.skip_next", 1, false],
-        ["userMetadata.fwd_type", 3, false],
-        ["userMetadata.next_id", 32, false],
-        ["userMetadata.is_multicast", 1, false],
-        ["userMetadata.is_controller_packet_out", 1, false],
-        ["userMetadata.ip_proto", 8, false],
-        ["userMetadata.l4_sport", 16, false],
-        ["userMetadata.l4_dport", 16, false],
-        ["userMetadata.ipv4_src_addr", 32, false],
-        ["userMetadata.ipv4_dst_addr", 32, false],
-        ["userMetadata.port_type", 2, false],
-        ["_padding_0", 3, false]
+        ["tmp_10", 32, false],
+        ["dscp_rewriter_tmp_dscp", 6, false],
+        ["userMetadata._lkp_is_ipv40", 1, false],
+        ["userMetadata._lkp_ipv4_src1", 32, false],
+        ["userMetadata._lkp_ipv4_dst2", 32, false],
+        ["userMetadata._lkp_ip_proto3", 8, false],
+        ["userMetadata._lkp_l4_sport4", 16, false],
+        ["userMetadata._lkp_l4_dport5", 16, false],
+        ["userMetadata._lkp_icmp_type6", 8, false],
+        ["userMetadata._lkp_icmp_code7", 8, false],
+        ["userMetadata._ip_eth_type8", 16, false],
+        ["userMetadata._vlan_id9", 12, false],
+        ["userMetadata._vlan_pri10", 3, false],
+        ["userMetadata._vlan_cfi11", 1, false],
+        ["userMetadata._mpls_label12", 20, false],
+        ["userMetadata._mpls_ttl13", 8, false],
+        ["userMetadata._skip_forwarding14", 1, false],
+        ["userMetadata._skip_next15", 1, false],
+        ["userMetadata._fwd_type16", 3, false],
+        ["userMetadata._next_id17", 32, false],
+        ["userMetadata._is_multicast18", 1, false],
+        ["userMetadata._is_controller_packet_out19", 1, false],
+        ["userMetadata._ip_proto20", 8, false],
+        ["userMetadata._l4_sport21", 16, false],
+        ["userMetadata._l4_dport22", 16, false],
+        ["userMetadata._ipv4_src_addr23", 32, false],
+        ["userMetadata._ipv4_dst_addr24", 32, false],
+        ["userMetadata._slice_id25", 4, false],
+        ["userMetadata._packet_color26", 2, false],
+        ["userMetadata._tc27", 2, false],
+        ["userMetadata._dscp28", 6, false],
+        ["userMetadata._port_type29", 2, false],
+        ["_padding_0", 6, false]
       ]
     },
     {
@@ -123,9 +133,31 @@
       ]
     },
     {
-      "name" : "ipv4_t",
+      "name" : "gtpu_options_t",
       "id" : 8,
       "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 9,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "ipv4_t",
+      "id" : 10,
+      "fields" : [
         ["version", 4, false],
         ["ihl", 4, false],
         ["dscp", 6, false],
@@ -143,7 +175,7 @@
     },
     {
       "name" : "udp_t",
-      "id" : 9,
+      "id" : 11,
       "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
@@ -153,7 +185,7 @@
     },
     {
       "name" : "tcp_t",
-      "id" : 10,
+      "id" : 12,
       "fields" : [
         ["sport", 16, false],
         ["dport", 16, false],
@@ -170,7 +202,7 @@
     },
     {
       "name" : "icmp_t",
-      "id" : 11,
+      "id" : 13,
       "fields" : [
         ["icmp_type", 8, false],
         ["icmp_code", 8, false],
@@ -182,7 +214,7 @@
     },
     {
       "name" : "packet_in_header_t",
-      "id" : 12,
+      "id" : 14,
       "fields" : [
         ["ingress_port", 9, false],
         ["_pad", 7, false]
@@ -261,71 +293,85 @@
       "pi_omit" : true
     },
     {
-      "name" : "inner_ipv4",
+      "name" : "gtpu_options",
       "id" : 10,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu_ext_psc",
+      "id" : 11,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "inner_ipv4",
+      "id" : 12,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_udp",
-      "id" : 11,
+      "id" : 13,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_tcp",
-      "id" : 12,
+      "id" : 14,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "inner_icmp",
-      "id" : 13,
+      "id" : 15,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "ipv4",
-      "id" : 14,
+      "id" : 16,
       "header_type" : "ipv4_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "tcp",
-      "id" : 15,
+      "id" : 17,
       "header_type" : "tcp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "udp",
-      "id" : 16,
+      "id" : 18,
       "header_type" : "udp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "icmp",
-      "id" : 17,
+      "id" : 19,
       "header_type" : "icmp_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_out",
-      "id" : 18,
+      "id" : 20,
       "header_type" : "packet_out_header_t",
       "metadata" : false,
       "pi_omit" : true
     },
     {
       "name" : "packet_in",
-      "id" : 19,
+      "id" : 21,
       "header_type" : "packet_in_header_t",
       "metadata" : false,
       "pi_omit" : true
@@ -341,7 +387,7 @@
       "name" : "fl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 52,
+        "line" : 45,
         "column" : 40,
         "source_fragment" : "{standard_metadata.ingress_port}"
       },
@@ -676,7 +722,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.vlan_id"]
+                  "value" : ["scalars", "userMetadata._vlan_id9"]
                 },
                 {
                   "type" : "hexstr",
@@ -862,7 +908,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.mpls_label"]
+                  "value" : ["scalars", "userMetadata._mpls_label12"]
                 },
                 {
                   "type" : "field",
@@ -875,7 +921,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.mpls_ttl"]
+                  "value" : ["scalars", "userMetadata._mpls_ttl13"]
                 },
                 {
                   "type" : "field",
@@ -936,7 +982,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.ip_proto"]
+                  "value" : ["scalars", "userMetadata._ip_proto20"]
                 },
                 {
                   "type" : "field",
@@ -949,7 +995,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.ip_eth_type"]
+                  "value" : ["scalars", "userMetadata._ip_eth_type8"]
                 },
                 {
                   "type" : "hexstr",
@@ -962,7 +1008,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.ipv4_src_addr"]
+                  "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
                 },
                 {
                   "type" : "field",
@@ -975,7 +1021,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.ipv4_dst_addr"]
+                  "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
                 },
                 {
                   "type" : "field",
@@ -1035,7 +1081,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.l4_sport"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1048,7 +1094,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.l4_dport"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1085,7 +1131,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.l4_sport"]
+                  "value" : ["scalars", "userMetadata._l4_sport21"]
                 },
                 {
                   "type" : "field",
@@ -1098,7 +1144,7 @@
               "parameters" : [
                 {
                   "type" : "field",
-                  "value" : ["scalars", "userMetadata.l4_dport"]
+                  "value" : ["scalars", "userMetadata._l4_dport22"]
                 },
                 {
                   "type" : "field",
@@ -1686,8 +1732,129 @@
                 }
               ],
               "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
             },
             {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["gtpu", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 14,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_options"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "gtpu_ext_len_0"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 8]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8501",
+              "mask" : null,
+              "next_state" : "parse_gtpu_ext_psc"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_options", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 15,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "gtpu_ext_psc"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["gtpu_ext_psc", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 16,
+          "parser_ops" : [
+            {
               "parameters" : [
                 {
                   "type" : "regular",
@@ -1732,7 +1899,7 @@
         },
         {
           "name" : "parse_inner_udp",
-          "id" : 14,
+          "id" : 17,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1756,7 +1923,7 @@
         },
         {
           "name" : "parse_inner_tcp",
-          "id" : 15,
+          "id" : 18,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1780,7 +1947,7 @@
         },
         {
           "name" : "parse_inner_icmp",
-          "id" : 16,
+          "id" : 19,
           "parser_ops" : [
             {
               "parameters" : [
@@ -1812,15 +1979,30 @@
       "id" : 0,
       "source_info" : {
         "filename" : "include/parser.p4",
-        "line" : 285,
+        "line" : 308,
         "column" : 8,
         "source_fragment" : "FabricDeparser"
       },
-      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
+      "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "eth_type", "mpls", "ipv4", "tcp", "udp", "icmp", "gtpu", "gtpu_options", "gtpu_ext_psc", "inner_ipv4", "inner_tcp", "inner_udp", "inner_icmp"],
       "primitives" : []
     }
   ],
-  "meter_arrays" : [],
+  "meter_arrays" : [
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 78,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
+    }
+  ],
   "counter_arrays" : [
     {
       "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
@@ -1901,7 +2083,7 @@
       "binding" : "FabricIngress.acl.acl",
       "source_info" : {
         "filename" : "include/control/acl.p4",
-        "line" : 36,
+        "line" : 29,
         "column" : 50,
         "source_fragment" : "acl_counter"
       }
@@ -1943,8 +2125,32 @@
       }
     },
     {
-      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
       "id" : 10,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 32,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 11,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "include/control/slicing.p4",
+        "line" : 80,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.port_counters_control.egress_port_counter",
+      "id" : 12,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 26,
@@ -1956,7 +2162,7 @@
     },
     {
       "name" : "FabricIngress.port_counters_control.ingress_port_counter",
-      "id" : 11,
+      "id" : 13,
       "source_info" : {
         "filename" : "include/control/port_counter.p4",
         "line" : 27,
@@ -1968,7 +2174,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.egress_vlan_counter",
-      "id" : 12,
+      "id" : 14,
       "is_direct" : true,
       "binding" : "FabricEgress.egress_next.egress_vlan",
       "source_info" : {
@@ -2164,7 +2370,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.skip_forwarding"]
+              "value" : ["scalars", "userMetadata._skip_forwarding14"]
             },
             {
               "type" : "expression",
@@ -2184,8 +2390,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 36,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.skip_forwarding = true"
+            "column" : 40,
+            "source_fragment" : "= true; ..."
           }
         },
         {
@@ -2193,7 +2399,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.skip_next"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2213,8 +2419,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 37,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.skip_next = true"
+            "column" : 34,
+            "source_fragment" : "= true; ..."
           }
         },
         {
@@ -2222,7 +2428,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.port_type"]
+              "value" : ["scalars", "userMetadata._port_type29"]
             },
             {
               "type" : "hexstr",
@@ -2231,7 +2437,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 119,
+            "line" : 136,
             "column" : 38,
             "source_fragment" : "0x0; ..."
           }
@@ -2253,7 +2459,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.port_type"]
+              "value" : ["scalars", "userMetadata._port_type29"]
             },
             {
               "type" : "runtime_data",
@@ -2263,8 +2469,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 44,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.port_type = port_type"
+            "column" : 34,
+            "source_fragment" : "= port_type; ..."
           }
         }
       ]
@@ -2288,7 +2494,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_id"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2298,8 +2504,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 49,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.vlan_id = vlan_id"
+            "column" : 32,
+            "source_fragment" : "= vlan_id; ..."
           }
         },
         {
@@ -2307,7 +2513,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.port_type"]
+              "value" : ["scalars", "userMetadata._port_type29"]
             },
             {
               "type" : "runtime_data",
@@ -2317,8 +2523,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 44,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.port_type = port_type; ..."
+            "column" : 34,
+            "source_fragment" : "= port_type; ..."
           }
         }
       ]
@@ -2338,7 +2544,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.fwd_type"]
+              "value" : ["scalars", "userMetadata._fwd_type16"]
             },
             {
               "type" : "runtime_data",
@@ -2348,8 +2554,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 90,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
+            "column" : 33,
+            "source_fragment" : "= fwd_type; ..."
           }
         }
       ]
@@ -2369,7 +2575,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.next_id"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2379,8 +2585,8 @@
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 30,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id; ..."
+            "column" : 32,
+            "source_fragment" : "= next_id; ..."
           }
         }
       ]
@@ -2400,7 +2606,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.mpls_label"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "hexstr",
@@ -2410,8 +2616,8 @@
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 66,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.mpls_label = 0"
+            "column" : 35,
+            "source_fragment" : "= 0; ..."
           }
         },
         {
@@ -2419,7 +2625,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.next_id"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2429,8 +2635,8 @@
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 30,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id; ..."
+            "column" : 32,
+            "source_fragment" : "= next_id; ..."
           }
         }
       ]
@@ -2450,7 +2656,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.next_id"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2460,8 +2666,8 @@
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 30,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id; ..."
+            "column" : 32,
+            "source_fragment" : "= next_id; ..."
           }
         }
       ]
@@ -2487,7 +2693,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.mpls_label"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             },
             {
               "type" : "runtime_data",
@@ -2497,8 +2703,8 @@
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 32,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.mpls_label = label"
+            "column" : 35,
+            "source_fragment" : "= label; ..."
           }
         }
       ]
@@ -2518,7 +2724,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_id"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "runtime_data",
@@ -2528,8 +2734,8 @@
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 57,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.vlan_id = vlan_id"
+            "column" : 32,
+            "source_fragment" : "= vlan_id; ..."
           }
         }
       ]
@@ -2549,7 +2755,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.next_id"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2558,9 +2764,9 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 39,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
+            "line" : 32,
+            "column" : 26,
+            "source_fragment" : "= next_id; ..."
           }
         }
       ]
@@ -2584,7 +2790,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 45,
+            "line" : 38,
             "column" : 8,
             "source_fragment" : "standard_metadata.egress_spec = 255"
           }
@@ -2594,7 +2800,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.skip_next"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2613,9 +2819,9 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 46,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.skip_next = true"
+            "line" : 39,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
           }
         }
       ]
@@ -2644,7 +2850,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 52,
+            "line" : 45,
             "column" : 8,
             "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
           }
@@ -2666,7 +2872,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 57,
+            "line" : 50,
             "column" : 8,
             "source_fragment" : "mark_to_drop(standard_metadata)"
           }
@@ -2676,7 +2882,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.skip_next"]
+              "value" : ["scalars", "userMetadata._skip_next15"]
             },
             {
               "type" : "expression",
@@ -2695,9 +2901,9 @@
           ],
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 58,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.skip_next = true"
+            "line" : 51,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
           }
         }
       ]
@@ -2754,7 +2960,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.next_id"]
+              "value" : ["scalars", "userMetadata._next_id17"]
             },
             {
               "type" : "runtime_data",
@@ -2764,8 +2970,8 @@
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 64,
-            "column" : 8,
-            "source_fragment" : "fabric_metadata.next_id = next_id"
+            "column" : 32,
+            "source_fragment" : "= next_id; ..."
           }
         }
       ]
@@ -2912,7 +3118,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.is_multicast"]
+              "value" : ["scalars", "userMetadata._is_multicast18"]
             },
             {
               "type" : "expression",
@@ -2932,15 +3138,818 @@
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 167,
+            "column" : 37,
+            "source_fragment" : "= true; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
+      "id" : 28,
+      "runtime_data" : [
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 35,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 36,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 29,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._slice_id25"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["ipv4", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 44,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._tc27"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["ipv4", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 45,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 30,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 31,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 89,
             "column" : 8,
-            "source_fragment" : "fabric_metadata.is_multicast = true"
+            "source_fragment" : "mark_to_drop(standard_metadata)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init37",
+      "id" : 32,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init40",
+      "id" : 33,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init43",
+      "id" : 34,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init32",
+      "id" : 35,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init52",
+      "id" : 36,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["tcp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init55",
+      "id" : 37,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["udp", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init58",
+      "id" : 38,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["icmp", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init47",
+      "id" : 39,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "field",
+              "value" : ["ipv4", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init23",
+      "id" : 40,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_is_ipv40"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_src1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ipv4_dst2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_ip_proto3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_sport4"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_l4_dport5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_type6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._lkp_icmp_code7"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
           }
         }
       ]
     },
     {
       "name" : "packetio25",
-      "id" : 28,
+      "id" : 41,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -2982,7 +3991,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.is_controller_packet_out"]
+              "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
             },
             {
               "type" : "expression",
@@ -3002,8 +4011,8 @@
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 27,
-            "column" : 12,
-            "source_fragment" : "fabric_metadata.is_controller_packet_out = true"
+            "column" : 53,
+            "source_fragment" : "= true; ..."
           }
         },
         {
@@ -3020,7 +4029,7 @@
     },
     {
       "name" : "filtering113",
-      "id" : 29,
+      "id" : 42,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3028,7 +4037,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_id"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             },
             {
               "type" : "field",
@@ -3038,8 +4047,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
-            "column" : 12,
-            "source_fragment" : "fabric_metadata.vlan_id = hdr.vlan_tag.vlan_id"
+            "column" : 36,
+            "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
           }
         },
         {
@@ -3047,7 +4056,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_pri"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             },
             {
               "type" : "field",
@@ -3057,8 +4066,8 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 114,
-            "column" : 12,
-            "source_fragment" : "fabric_metadata.vlan_pri = hdr.vlan_tag.pri"
+            "column" : 37,
+            "source_fragment" : "= hdr.vlan_tag.pri; ..."
           }
         },
         {
@@ -3066,7 +4075,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_cfi"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             },
             {
               "type" : "field",
@@ -3076,15 +4085,15 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 115,
-            "column" : 12,
-            "source_fragment" : "fabric_metadata.vlan_cfi = hdr.vlan_tag.cfi"
+            "column" : 37,
+            "source_fragment" : "= hdr.vlan_tag.cfi; ..."
           }
         }
       ]
     },
     {
       "name" : "filtering129",
-      "id" : 30,
+      "id" : 43,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3092,7 +4101,7 @@
           "parameters" : [
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.mpls_ttl"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             },
             {
               "type" : "hexstr",
@@ -3102,425 +4111,15 @@
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
-            "column" : 12,
-            "source_fragment" : "fabric_metadata.mpls_ttl = DEFAULT_MPLS_TTL + 1"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl102",
-      "id" : 31,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 103,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl105",
-      "id" : 32,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.inner_udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 106,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.inner_udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl98",
-      "id" : 33,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.inner_ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 99,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.inner_ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["inner_ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 100,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.inner_ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl113",
-      "id" : 34,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.tcp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["tcp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 114,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.tcp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl116",
-      "id" : 35,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "sport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 16,
-            "source_fragment" : "l4_sport = hdr.udp.sport"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "field",
-              "value" : ["udp", "dport"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 117,
-            "column" : 16,
-            "source_fragment" : "l4_dport = hdr.udp.dport"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl109",
-      "id" : 36,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "src_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 12,
-            "source_fragment" : "ipv4_src = hdr.ipv4.src_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "dst_addr"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 110,
-            "column" : 12,
-            "source_fragment" : "ipv4_dst = hdr.ipv4.dst_addr"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "field",
-              "value" : ["ipv4", "protocol"]
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 111,
-            "column" : 12,
-            "source_fragment" : "ip_proto = hdr.ipv4.protocol"
-          }
-        }
-      ]
-    },
-    {
-      "name" : "acl27",
-      "id" : 37,
-      "runtime_data" : [],
-      "primitives" : [
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_src"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ipv4_dst"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00000000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 28,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_dst = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_ip_proto"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x00"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 29,
-            "column" : 4,
-            "source_fragment" : "bit<8> ip_proto = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_sport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 30,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_sport = 0;"
-          }
-        },
-        {
-          "op" : "assign",
-          "parameters" : [
-            {
-              "type" : "field",
-              "value" : ["scalars", "acl_l4_dport"]
-            },
-            {
-              "type" : "hexstr",
-              "value" : "0x0000"
-            }
-          ],
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 31,
-            "column" : 4,
-            "source_fragment" : "l4_port_t l4_dport = 0;"
+            "column" : 37,
+            "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
           }
         }
       ]
     },
     {
       "name" : "port_counter31",
-      "id" : 38,
+      "id" : 44,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3578,7 +4177,7 @@
     },
     {
       "name" : "port_counter34",
-      "id" : 39,
+      "id" : 45,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3635,8 +4234,218 @@
       ]
     },
     {
+      "name" : "slicing114",
+      "id" : 46,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "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" : ["scalars", "userMetadata._slice_id25"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x3f"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x2"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._tc27"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x07"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 37,
+            "source_fragment" : "(bit<32>) slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_10"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._packet_color26"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "<<",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "userMetadata._slice_id25"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3f"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["scalars", "userMetadata._tc27"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 110,
+            "column" : 26,
+            "source_fragment" : "fabric_md.slice_id++fabric_md.tc; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "nop",
+      "id" : 47,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
       "name" : "FabricEgress.egress_next.pop_mpls_if_present",
-      "id" : 40,
+      "id" : 48,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3663,21 +4472,21 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.ip_eth_type"]
+              "value" : ["scalars", "userMetadata._ip_eth_type8"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 206,
             "column" : 8,
-            "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type"
+            "source_fragment" : "hdr.eth_type.value = fabric_metadata.ip_eth_type; ..."
           }
         }
       ]
     },
     {
       "name" : "FabricEgress.egress_next.set_mpls",
-      "id" : 41,
+      "id" : 49,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3704,14 +4513,14 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.mpls_label"]
+              "value" : ["scalars", "userMetadata._mpls_label12"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 212,
             "column" : 8,
-            "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label"
+            "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
           }
         },
         {
@@ -3761,14 +4570,14 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.mpls_ttl"]
+              "value" : ["scalars", "userMetadata._mpls_ttl13"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 215,
             "column" : 8,
-            "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl"
+            "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
           }
         },
         {
@@ -3785,7 +4594,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 130,
+            "line" : 147,
             "column" : 31,
             "source_fragment" : "0x8847; ..."
           }
@@ -3794,7 +4603,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.push_vlan",
-      "id" : 42,
+      "id" : 50,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3821,14 +4630,14 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_cfi"]
+              "value" : ["scalars", "userMetadata._vlan_cfi11"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 224,
             "column" : 8,
-            "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi"
+            "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
           }
         },
         {
@@ -3840,14 +4649,14 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_pri"]
+              "value" : ["scalars", "userMetadata._vlan_pri10"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 225,
             "column" : 8,
-            "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri"
+            "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
           }
         },
         {
@@ -3864,7 +4673,7 @@
           ],
           "source_info" : {
             "filename" : "include/control/../define.p4",
-            "line" : 129,
+            "line" : 146,
             "column" : 31,
             "source_fragment" : "0x8100; ..."
           }
@@ -3878,21 +4687,21 @@
             },
             {
               "type" : "field",
-              "value" : ["scalars", "userMetadata.vlan_id"]
+              "value" : ["scalars", "userMetadata._vlan_id9"]
             }
           ],
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 227,
             "column" : 8,
-            "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id"
+            "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
           }
         }
       ]
     },
     {
       "name" : "FabricEgress.egress_next.pop_vlan",
-      "id" : 43,
+      "id" : 51,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3914,7 +4723,7 @@
     },
     {
       "name" : "FabricEgress.egress_next.drop",
-      "id" : 44,
+      "id" : 52,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3935,8 +4744,40 @@
       ]
     },
     {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 53,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 54,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 135,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
       "name" : "packetio41",
-      "id" : 45,
+      "id" : 55,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -3953,7 +4794,7 @@
     },
     {
       "name" : "packetio44",
-      "id" : 46,
+      "id" : 56,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4004,7 +4845,7 @@
     },
     {
       "name" : "next283",
-      "id" : 47,
+      "id" : 57,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4026,7 +4867,7 @@
     },
     {
       "name" : "next310",
-      "id" : 48,
+      "id" : 58,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4048,7 +4889,7 @@
     },
     {
       "name" : "next309",
-      "id" : 49,
+      "id" : 59,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4097,7 +4938,7 @@
     },
     {
       "name" : "next314",
-      "id" : 50,
+      "id" : 60,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4119,7 +4960,7 @@
     },
     {
       "name" : "next313",
-      "id" : 51,
+      "id" : 61,
       "runtime_data" : [],
       "primitives" : [
         {
@@ -4165,6 +5006,58 @@
           }
         }
       ]
+    },
+    {
+      "name" : "slicing159",
+      "id" : 62,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["inner_ipv4", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing126",
+      "id" : 63,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._dscp28"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp; ..."
+          }
+        }
+      ]
     }
   ],
   "pipelines" : [
@@ -4173,16 +5066,277 @@
       "id" : 0,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 47,
+        "line" : 49,
         "column" : 8,
         "source_fragment" : "FabricIngress"
       },
-      "init_table" : "node_2",
+      "init_table" : "tbl_lookup_md_init23",
       "tables" : [
         {
-          "name" : "tbl_packetio25",
+          "name" : "tbl_lookup_md_init23",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 23,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [40],
+          "actions" : ["lookup_md_init23"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "lookup_md_init23" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 40,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init32",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [35],
+          "actions" : ["lookup_md_init32"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "lookup_md_init32" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 35,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init37",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [32],
+          "actions" : ["lookup_md_init37"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init37" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 32,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init40",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [33],
+          "actions" : ["lookup_md_init40"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init40" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 33,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init43",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [34],
+          "actions" : ["lookup_md_init43"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init43" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 34,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init47",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [39],
+          "actions" : ["lookup_md_init47"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init47" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 39,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init52",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [36],
+          "actions" : ["lookup_md_init52"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init52" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 36,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init55",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [37],
+          "actions" : ["lookup_md_init55"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init55" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 37,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init58",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [38],
+          "actions" : ["lookup_md_init58"],
+          "base_default_next" : "node_19",
+          "next_tables" : {
+            "lookup_md_init58" : "node_19"
+          },
+          "default_entry" : {
+            "action_id" : 38,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio25",
+          "id" : 9,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 25,
             "column" : 42,
@@ -4195,22 +5349,89 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [28],
+          "action_ids" : [41],
           "actions" : ["packetio25"],
-          "base_default_next" : "node_4",
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
           "next_tables" : {
-            "packetio25" : "node_4"
+            "packetio25" : "FabricIngress.slice_tc_classifier.classifier"
           },
           "default_entry" : {
-            "action_id" : 28,
+            "action_id" : 41,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
         },
         {
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 49,
+            "column" : 10,
+            "source_fragment" : "classifier"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["standard_metadata", "ingress_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [28, 29],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp"],
+          "base_default_next" : "node_22",
+          "next_tables" : {
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "node_22",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "node_22"
+          },
+          "default_entry" : {
+            "action_id" : 28,
+            "action_const" : true,
+            "action_data" : ["0x0", "0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
           "name" : "tbl_filtering113",
-          "id" : 1,
+          "id" : 11,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 113,
@@ -4224,14 +5445,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [29],
+          "action_ids" : [42],
           "actions" : ["filtering113"],
-          "base_default_next" : "node_6",
+          "base_default_next" : "node_24",
           "next_tables" : {
-            "filtering113" : "node_6"
+            "filtering113" : "node_24"
           },
           "default_entry" : {
-            "action_id" : 29,
+            "action_id" : 42,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -4239,7 +5460,7 @@
         },
         {
           "name" : "tbl_filtering129",
-          "id" : 2,
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 129,
@@ -4253,14 +5474,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [30],
+          "action_ids" : [43],
           "actions" : ["filtering129"],
           "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
           "next_tables" : {
             "filtering129" : "FabricIngress.filtering.ingress_port_vlan"
           },
           "default_entry" : {
-            "action_id" : 30,
+            "action_id" : 43,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -4268,7 +5489,7 @@
         },
         {
           "name" : "FabricIngress.filtering.ingress_port_vlan",
-          "id" : 3,
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 55,
@@ -4318,7 +5539,7 @@
         },
         {
           "name" : "FabricIngress.filtering.fwd_classifier",
-          "id" : 4,
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 94,
@@ -4347,7 +5568,7 @@
             {
               "match_type" : "exact",
               "name" : "ip_eth_type",
-              "target" : ["scalars", "userMetadata.ip_eth_type"],
+              "target" : ["scalars", "userMetadata._ip_eth_type8"],
               "mask" : null
             }
           ],
@@ -4359,9 +5580,9 @@
           "direct_meters" : null,
           "action_ids" : [11],
           "actions" : ["FabricIngress.filtering.set_forwarding_type"],
-          "base_default_next" : "node_10",
+          "base_default_next" : "node_28",
           "next_tables" : {
-            "FabricIngress.filtering.set_forwarding_type" : "node_10"
+            "FabricIngress.filtering.set_forwarding_type" : "node_28"
           },
           "default_entry" : {
             "action_id" : 11,
@@ -4372,7 +5593,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.bridging",
-          "id" : 5,
+          "id" : 15,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 46,
@@ -4383,7 +5604,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata.vlan_id"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -4401,10 +5622,10 @@
           "direct_meters" : null,
           "action_ids" : [12, 0],
           "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
-          "base_default_next" : "node_17",
+          "base_default_next" : "node_35",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_bridging" : "node_17",
-            "nop" : "node_17"
+            "FabricIngress.forwarding.set_next_id_bridging" : "node_35",
+            "nop" : "node_35"
           },
           "default_entry" : {
             "action_id" : 0,
@@ -4415,7 +5636,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.mpls",
-          "id" : 6,
+          "id" : 16,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 71,
@@ -4426,7 +5647,7 @@
             {
               "match_type" : "exact",
               "name" : "mpls_label",
-              "target" : ["scalars", "userMetadata.mpls_label"],
+              "target" : ["scalars", "userMetadata._mpls_label12"],
               "mask" : null
             }
           ],
@@ -4438,10 +5659,10 @@
           "direct_meters" : null,
           "action_ids" : [13, 1],
           "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
-          "base_default_next" : "node_17",
+          "base_default_next" : "node_35",
           "next_tables" : {
-            "FabricIngress.forwarding.pop_mpls_and_next" : "node_17",
-            "nop" : "node_17"
+            "FabricIngress.forwarding.pop_mpls_and_next" : "node_35",
+            "nop" : "node_35"
           },
           "default_entry" : {
             "action_id" : 1,
@@ -4452,7 +5673,7 @@
         },
         {
           "name" : "FabricIngress.forwarding.routing_v4",
-          "id" : 7,
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 108,
@@ -4463,7 +5684,7 @@
             {
               "match_type" : "lpm",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "userMetadata.ipv4_dst_addr"],
+              "target" : ["scalars", "userMetadata._ipv4_dst_addr24"],
               "mask" : null
             }
           ],
@@ -4475,11 +5696,11 @@
           "direct_meters" : null,
           "action_ids" : [14, 15, 2],
           "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
-          "base_default_next" : "node_17",
+          "base_default_next" : "node_35",
           "next_tables" : {
-            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_17",
-            "FabricIngress.forwarding.nop_routing_v4" : "node_17",
-            "nop" : "node_17"
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "node_35",
+            "FabricIngress.forwarding.nop_routing_v4" : "node_35",
+            "nop" : "node_35"
           },
           "default_entry" : {
             "action_id" : 2,
@@ -4490,7 +5711,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_mpls",
-          "id" : 8,
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 36,
@@ -4501,7 +5722,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata.next_id"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -4527,7 +5748,7 @@
         },
         {
           "name" : "FabricIngress.pre_next.next_vlan",
-          "id" : 9,
+          "id" : 19,
           "source_info" : {
             "filename" : "include/control/pre_next.p4",
             "line" : 73,
@@ -4538,7 +5759,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata.next_id"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -4550,10 +5771,10 @@
           "direct_meters" : null,
           "action_ids" : [17, 4],
           "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
-          "base_default_next" : "tbl_acl27",
+          "base_default_next" : "FabricIngress.acl.acl",
           "next_tables" : {
-            "FabricIngress.pre_next.set_vlan" : "tbl_acl27",
-            "nop" : "tbl_acl27"
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
           },
           "default_entry" : {
             "action_id" : 4,
@@ -4563,214 +5784,11 @@
           }
         },
         {
-          "name" : "tbl_acl27",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 27,
-            "column" : 4,
-            "source_fragment" : "ipv4_addr_t ipv4_src = 0; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [37],
-          "actions" : ["acl27"],
-          "base_default_next" : "node_21",
-          "next_tables" : {
-            "acl27" : "node_21"
-          },
-          "default_entry" : {
-            "action_id" : 37,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl98",
-          "id" : 11,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 98,
-            "column" : 21,
-            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [33],
-          "actions" : ["acl98"],
-          "base_default_next" : "node_23",
-          "next_tables" : {
-            "acl98" : "node_23"
-          },
-          "default_entry" : {
-            "action_id" : 33,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl102",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 102,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [31],
-          "actions" : ["acl102"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl102" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 31,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl105",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 105,
-            "column" : 25,
-            "source_fragment" : "= hdr.inner_udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [32],
-          "actions" : ["acl105"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl105" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 32,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl109",
-          "id" : 14,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 109,
-            "column" : 21,
-            "source_fragment" : "= hdr.ipv4.src_addr; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [36],
-          "actions" : ["acl109"],
-          "base_default_next" : "node_29",
-          "next_tables" : {
-            "acl109" : "node_29"
-          },
-          "default_entry" : {
-            "action_id" : 36,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl113",
-          "id" : 15,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 113,
-            "column" : 25,
-            "source_fragment" : "= hdr.tcp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [34],
-          "actions" : ["acl113"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl113" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 34,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
-          "name" : "tbl_acl116",
-          "id" : 16,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 116,
-            "column" : 25,
-            "source_fragment" : "= hdr.udp.sport; ..."
-          },
-          "key" : [],
-          "match_type" : "exact",
-          "type" : "simple",
-          "max_size" : 1024,
-          "with_counters" : false,
-          "support_timeout" : false,
-          "direct_meters" : null,
-          "action_ids" : [35],
-          "actions" : ["acl116"],
-          "base_default_next" : "FabricIngress.acl.acl",
-          "next_tables" : {
-            "acl116" : "FabricIngress.acl.acl"
-          },
-          "default_entry" : {
-            "action_id" : 35,
-            "action_const" : true,
-            "action_data" : [],
-            "action_entry_const" : true
-          }
-        },
-        {
           "name" : "FabricIngress.acl.acl",
-          "id" : 17,
+          "id" : 20,
           "source_info" : {
             "filename" : "include/control/acl.p4",
-            "line" : 66,
+            "line" : 59,
             "column" : 10,
             "source_fragment" : "acl"
           },
@@ -4808,19 +5826,19 @@
             {
               "match_type" : "ternary",
               "name" : "ipv4_src",
-              "target" : ["scalars", "acl_ipv4_src"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_src1"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ipv4_dst",
-              "target" : ["scalars", "acl_ipv4_dst"],
+              "target" : ["scalars", "userMetadata._lkp_ipv4_dst2"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "ip_proto",
-              "target" : ["scalars", "acl_ip_proto"],
+              "target" : ["scalars", "userMetadata._lkp_ip_proto3"],
               "mask" : null
             },
             {
@@ -4838,19 +5856,19 @@
             {
               "match_type" : "ternary",
               "name" : "l4_sport",
-              "target" : ["scalars", "acl_l4_sport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_sport4"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "l4_dport",
-              "target" : ["scalars", "acl_l4_dport"],
+              "target" : ["scalars", "userMetadata._lkp_l4_dport5"],
               "mask" : null
             },
             {
               "match_type" : "ternary",
               "name" : "port_type",
-              "target" : ["scalars", "userMetadata.port_type"],
+              "target" : ["scalars", "userMetadata._port_type29"],
               "mask" : null
             }
           ],
@@ -4862,13 +5880,13 @@
           "direct_meters" : null,
           "action_ids" : [18, 19, 20, 21, 22],
           "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
-          "base_default_next" : "node_34",
+          "base_default_next" : "node_39",
           "next_tables" : {
-            "FabricIngress.acl.set_next_id_acl" : "node_34",
-            "FabricIngress.acl.punt_to_cpu" : "node_34",
-            "FabricIngress.acl.set_clone_session_id" : "node_34",
-            "FabricIngress.acl.drop" : "node_34",
-            "FabricIngress.acl.nop_acl" : "node_34"
+            "FabricIngress.acl.set_next_id_acl" : "node_39",
+            "FabricIngress.acl.punt_to_cpu" : "node_39",
+            "FabricIngress.acl.set_clone_session_id" : "node_39",
+            "FabricIngress.acl.drop" : "node_39",
+            "FabricIngress.acl.nop_acl" : "node_39"
           },
           "default_entry" : {
             "action_id" : 22,
@@ -4879,7 +5897,7 @@
         },
         {
           "name" : "FabricIngress.next.xconnect",
-          "id" : 18,
+          "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 68,
@@ -4896,7 +5914,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata.next_id"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -4923,7 +5941,7 @@
         },
         {
           "name" : "FabricIngress.next.hashed",
-          "id" : 19,
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 138,
@@ -4934,7 +5952,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata.next_id"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -4956,7 +5974,7 @@
         },
         {
           "name" : "FabricIngress.next.multicast",
-          "id" : 20,
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 171,
@@ -4967,7 +5985,7 @@
             {
               "match_type" : "exact",
               "name" : "next_id",
-              "target" : ["scalars", "userMetadata.next_id"],
+              "target" : ["scalars", "userMetadata._next_id17"],
               "mask" : null
             }
           ],
@@ -4979,10 +5997,10 @@
           "direct_meters" : null,
           "action_ids" : [27, 7],
           "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
-          "base_default_next" : "node_38",
+          "base_default_next" : "node_43",
           "next_tables" : {
-            "FabricIngress.next.set_mcast_group_id" : "node_38",
-            "nop" : "node_38"
+            "FabricIngress.next.set_mcast_group_id" : "node_43",
+            "nop" : "node_43"
           },
           "default_entry" : {
             "action_id" : 7,
@@ -4993,7 +6011,7 @@
         },
         {
           "name" : "tbl_port_counter31",
-          "id" : 21,
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 31,
@@ -5007,14 +6025,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [38],
+          "action_ids" : [44],
           "actions" : ["port_counter31"],
-          "base_default_next" : "node_40",
+          "base_default_next" : "node_45",
           "next_tables" : {
-            "port_counter31" : "node_40"
+            "port_counter31" : "node_45"
           },
           "default_entry" : {
-            "action_id" : 38,
+            "action_id" : 44,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5022,7 +6040,7 @@
         },
         {
           "name" : "tbl_port_counter34",
-          "id" : 22,
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 34,
@@ -5036,18 +6054,96 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [39],
+          "action_ids" : [45],
           "actions" : ["port_counter34"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing114",
           "next_tables" : {
-            "port_counter34" : null
+            "port_counter34" : "tbl_slicing114"
           },
           "default_entry" : {
-            "action_id" : 39,
+            "action_id" : 45,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
           }
+        },
+        {
+          "name" : "tbl_slicing114",
+          "id" : 26,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 114,
+            "column" : 8,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) slice_tc, fabric_md.packet_color); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [46],
+          "actions" : ["slicing114"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing114" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 46,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 27,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 93,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_id",
+              "target" : ["scalars", "userMetadata._slice_id25"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc",
+              "target" : ["scalars", "userMetadata._tc27"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "userMetadata._packet_color26"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [30, 31],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : null,
+            "FabricIngress.qos.meter_drop" : null
+          },
+          "default_entry" : {
+            "action_id" : 30,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
         }
       ],
       "action_profiles" : [
@@ -5066,23 +6162,23 @@
             "input" : [
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.ipv4_src_addr"]
+                "value" : ["scalars", "userMetadata._ipv4_src_addr23"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.ipv4_dst_addr"]
+                "value" : ["scalars", "userMetadata._ipv4_dst_addr24"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.ip_proto"]
+                "value" : ["scalars", "userMetadata._ip_proto20"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.l4_sport"]
+                "value" : ["scalars", "userMetadata._l4_sport21"]
               },
               {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.l4_dport"]
+                "value" : ["scalars", "userMetadata._l4_dport22"]
               }
             ]
           }
@@ -5090,9 +6186,193 @@
       ],
       "conditionals" : [
         {
-          "name" : "node_2",
+          "name" : "node_3",
           "id" : 0,
           "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init32",
+          "false_next" : "node_11"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init37",
+          "false_next" : "node_7"
+        },
+        {
+          "name" : "node_7",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init40",
+          "false_next" : "node_9"
+        },
+        {
+          "name" : "node_9",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["inner_icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init43",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_11",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 46,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init47",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["tcp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init52",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init55",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["icmp", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init58",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_19",
+          "id" : 8,
+          "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 24,
             "column" : 12,
@@ -5110,11 +6390,11 @@
             }
           },
           "true_next" : "tbl_packetio25",
-          "false_next" : "node_4"
+          "false_next" : "FabricIngress.slice_tc_classifier.classifier"
         },
         {
-          "name" : "node_4",
-          "id" : 1,
+          "name" : "node_22",
+          "id" : 9,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 112,
@@ -5133,11 +6413,11 @@
             }
           },
           "true_next" : "tbl_filtering113",
-          "false_next" : "node_6"
+          "false_next" : "node_24"
         },
         {
-          "name" : "node_6",
-          "id" : 2,
+          "name" : "node_24",
+          "id" : 10,
           "source_info" : {
             "filename" : "include/control/filtering.p4",
             "line" : 124,
@@ -5166,11 +6446,11 @@
           "false_next" : "FabricIngress.filtering.ingress_port_vlan"
         },
         {
-          "name" : "node_10",
-          "id" : 3,
+          "name" : "node_28",
+          "id" : 11,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 71,
+            "line" : 80,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_forwarding"
           },
@@ -5186,18 +6466,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata.skip_forwarding"]
+                    "value" : ["scalars", "userMetadata._skip_forwarding14"]
                   }
                 }
               }
             }
           },
-          "true_next" : "node_11",
-          "false_next" : "node_17"
+          "true_next" : "node_29",
+          "false_next" : "node_35"
         },
         {
-          "name" : "node_11",
-          "id" : 4,
+          "name" : "node_29",
+          "id" : 12,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 150,
@@ -5210,7 +6490,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.fwd_type"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -5219,11 +6499,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.bridging",
-          "false_next" : "node_13"
+          "false_next" : "node_31"
         },
         {
-          "name" : "node_13",
-          "id" : 5,
+          "name" : "node_31",
+          "id" : 13,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 151,
@@ -5236,7 +6516,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.fwd_type"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -5245,11 +6525,11 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.mpls",
-          "false_next" : "node_15"
+          "false_next" : "node_33"
         },
         {
-          "name" : "node_15",
-          "id" : 6,
+          "name" : "node_33",
+          "id" : 14,
           "source_info" : {
             "filename" : "include/control/forwarding.p4",
             "line" : 152,
@@ -5262,7 +6542,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.fwd_type"]
+                "value" : ["scalars", "userMetadata._fwd_type16"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -5271,14 +6551,14 @@
             }
           },
           "true_next" : "FabricIngress.forwarding.routing_v4",
-          "false_next" : "node_17"
+          "false_next" : "node_35"
         },
         {
-          "name" : "node_17",
-          "id" : 7,
+          "name" : "node_35",
+          "id" : 15,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 74,
+            "line" : 83,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -5294,176 +6574,21 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata.skip_next"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
           "true_next" : "FabricIngress.pre_next.next_mpls",
-          "false_next" : "tbl_acl27"
-        },
-        {
-          "name" : "node_21",
-          "id" : 8,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 97,
-            "column" : 12,
-            "source_fragment" : "hdr.gtpu.isValid() && hdr.inner_ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "and",
-              "left" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["gtpu", "$valid$"]
-                  }
-                }
-              },
-              "right" : {
-                "type" : "expression",
-                "value" : {
-                  "op" : "d2b",
-                  "left" : null,
-                  "right" : {
-                    "type" : "field",
-                    "value" : ["inner_ipv4", "$valid$"]
-                  }
-                }
-              }
-            }
-          },
-          "true_next" : "tbl_acl98",
-          "false_next" : "node_27"
-        },
-        {
-          "name" : "node_23",
-          "id" : 9,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 101,
-            "column" : 16,
-            "source_fragment" : "hdr.inner_tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl102",
-          "false_next" : "node_25"
-        },
-        {
-          "name" : "node_25",
-          "id" : 10,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 104,
-            "column" : 23,
-            "source_fragment" : "hdr.inner_udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["inner_udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl105",
           "false_next" : "FabricIngress.acl.acl"
         },
         {
-          "name" : "node_27",
-          "id" : 11,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 108,
-            "column" : 19,
-            "source_fragment" : "hdr.ipv4.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["ipv4", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl109",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_29",
-          "id" : 12,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 112,
-            "column" : 16,
-            "source_fragment" : "hdr.tcp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["tcp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl113",
-          "false_next" : "node_31"
-        },
-        {
-          "name" : "node_31",
-          "id" : 13,
-          "source_info" : {
-            "filename" : "include/control/acl.p4",
-            "line" : 115,
-            "column" : 23,
-            "source_fragment" : "hdr.udp.isValid()"
-          },
-          "expression" : {
-            "type" : "expression",
-            "value" : {
-              "op" : "d2b",
-              "left" : null,
-              "right" : {
-                "type" : "field",
-                "value" : ["udp", "$valid$"]
-              }
-            }
-          },
-          "true_next" : "tbl_acl116",
-          "false_next" : "FabricIngress.acl.acl"
-        },
-        {
-          "name" : "node_34",
-          "id" : 14,
+          "name" : "node_39",
+          "id" : 16,
           "source_info" : {
             "filename" : "fabric.p4",
-            "line" : 78,
+            "line" : 87,
             "column" : 12,
             "source_fragment" : "fabric_metadata.skip_next"
           },
@@ -5479,18 +6604,18 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata.skip_next"]
+                    "value" : ["scalars", "userMetadata._skip_next15"]
                   }
                 }
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "FabricIngress.next.xconnect"
+          "true_next" : "FabricIngress.next.xconnect",
+          "false_next" : "tbl_slicing114"
         },
         {
-          "name" : "node_38",
-          "id" : 15,
+          "name" : "node_43",
+          "id" : 17,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 30,
@@ -5512,11 +6637,11 @@
             }
           },
           "true_next" : "tbl_port_counter31",
-          "false_next" : "node_40"
+          "false_next" : "node_45"
         },
         {
-          "name" : "node_40",
-          "id" : 16,
+          "name" : "node_45",
+          "id" : 18,
           "source_info" : {
             "filename" : "include/control/port_counter.p4",
             "line" : 33,
@@ -5537,8 +6662,8 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_port_counter34"
+          "true_next" : "tbl_port_counter34",
+          "false_next" : "tbl_slicing114"
         }
       ]
     },
@@ -5547,15 +6672,15 @@
       "id" : 1,
       "source_info" : {
         "filename" : "fabric.p4",
-        "line" : 96,
+        "line" : 105,
         "column" : 8,
         "source_fragment" : "FabricEgress"
       },
-      "init_table" : "node_44",
+      "init_table" : "node_51",
       "tables" : [
         {
           "name" : "tbl_packetio41",
-          "id" : 23,
+          "id" : 28,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 41,
@@ -5569,14 +6694,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [45],
+          "action_ids" : [55],
           "actions" : ["packetio41"],
-          "base_default_next" : "node_46",
+          "base_default_next" : "node_53",
           "next_tables" : {
-            "packetio41" : "node_46"
+            "packetio41" : "node_53"
           },
           "default_entry" : {
-            "action_id" : 45,
+            "action_id" : 55,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5584,7 +6709,7 @@
         },
         {
           "name" : "tbl_packetio44",
-          "id" : 24,
+          "id" : 29,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 44,
@@ -5598,14 +6723,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [46],
+          "action_ids" : [56],
           "actions" : ["packetio44"],
-          "base_default_next" : "node_48",
+          "base_default_next" : "node_55",
           "next_tables" : {
-            "packetio44" : "node_48"
+            "packetio44" : "node_55"
           },
           "default_entry" : {
-            "action_id" : 46,
+            "action_id" : 56,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5613,7 +6738,7 @@
         },
         {
           "name" : "tbl_next283",
-          "id" : 25,
+          "id" : 30,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 283,
@@ -5627,14 +6752,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [47],
+          "action_ids" : [57],
           "actions" : ["next283"],
-          "base_default_next" : "node_50",
+          "base_default_next" : "node_57",
           "next_tables" : {
-            "next283" : "node_50"
+            "next283" : "node_57"
           },
           "default_entry" : {
-            "action_id" : 47,
+            "action_id" : 57,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5642,7 +6767,7 @@
         },
         {
           "name" : "tbl_egress_next_pop_mpls_if_present",
-          "id" : 26,
+          "id" : 31,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -5656,14 +6781,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [40],
+          "action_ids" : [48],
           "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 40,
+            "action_id" : 48,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5671,7 +6796,7 @@
         },
         {
           "name" : "tbl_egress_next_set_mpls",
-          "id" : 27,
+          "id" : 32,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 289,
@@ -5685,14 +6810,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [41],
+          "action_ids" : [49],
           "actions" : ["FabricEgress.egress_next.set_mpls"],
           "base_default_next" : "FabricEgress.egress_next.egress_vlan",
           "next_tables" : {
             "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
           },
           "default_entry" : {
-            "action_id" : 41,
+            "action_id" : 49,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5700,7 +6825,7 @@
         },
         {
           "name" : "FabricEgress.egress_next.egress_vlan",
-          "id" : 28,
+          "id" : 33,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 265,
@@ -5711,7 +6836,7 @@
             {
               "match_type" : "exact",
               "name" : "vlan_id",
-              "target" : ["scalars", "userMetadata.vlan_id"],
+              "target" : ["scalars", "userMetadata._vlan_id9"],
               "mask" : null
             },
             {
@@ -5727,16 +6852,16 @@
           "with_counters" : true,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [42, 43, 44],
+          "action_ids" : [50, 51, 52],
           "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
-          "base_default_next" : "node_55",
+          "base_default_next" : "node_62",
           "next_tables" : {
-            "FabricEgress.egress_next.push_vlan" : "node_55",
-            "FabricEgress.egress_next.pop_vlan" : "node_55",
-            "FabricEgress.egress_next.drop" : "node_55"
+            "FabricEgress.egress_next.push_vlan" : "node_62",
+            "FabricEgress.egress_next.pop_vlan" : "node_62",
+            "FabricEgress.egress_next.drop" : "node_62"
           },
           "default_entry" : {
-            "action_id" : 44,
+            "action_id" : 52,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5744,7 +6869,7 @@
         },
         {
           "name" : "tbl_next309",
-          "id" : 29,
+          "id" : 34,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 309,
@@ -5758,14 +6883,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [49],
+          "action_ids" : [59],
           "actions" : ["next309"],
-          "base_default_next" : "node_57",
+          "base_default_next" : "node_64",
           "next_tables" : {
-            "next309" : "node_57"
+            "next309" : "node_64"
           },
           "default_entry" : {
-            "action_id" : 49,
+            "action_id" : 59,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5773,7 +6898,7 @@
         },
         {
           "name" : "tbl_next310",
-          "id" : 30,
+          "id" : 35,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -5787,14 +6912,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [48],
+          "action_ids" : [58],
           "actions" : ["next310"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "next310" : null
+            "next310" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 48,
+            "action_id" : 58,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5802,7 +6927,7 @@
         },
         {
           "name" : "tbl_next313",
-          "id" : 31,
+          "id" : 36,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 313,
@@ -5816,14 +6941,14 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [51],
+          "action_ids" : [61],
           "actions" : ["next313"],
-          "base_default_next" : "node_61",
+          "base_default_next" : "node_68",
           "next_tables" : {
-            "next313" : "node_61"
+            "next313" : "node_68"
           },
           "default_entry" : {
-            "action_id" : 51,
+            "action_id" : 61,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5831,7 +6956,7 @@
         },
         {
           "name" : "tbl_next314",
-          "id" : 32,
+          "id" : 37,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -5845,14 +6970,109 @@
           "with_counters" : false,
           "support_timeout" : false,
           "direct_meters" : null,
-          "action_ids" : [50],
+          "action_ids" : [60],
           "actions" : ["next314"],
-          "base_default_next" : null,
+          "base_default_next" : "tbl_slicing126",
           "next_tables" : {
-            "next314" : null
+            "next314" : "tbl_slicing126"
           },
           "default_entry" : {
-            "action_id" : 50,
+            "action_id" : 60,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing126",
+          "id" : 38,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 126,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.dscp;"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [63],
+          "actions" : ["slicing126"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing126" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 63,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 39,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 138,
+            "column" : 10,
+            "source_fragment" : "rewriter"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [53, 54, 47],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__MISS__" : null,
+            "__HIT__" : "node_72"
+          },
+          "default_entry" : {
+            "action_id" : 47,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing159",
+          "id" : 40,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 159,
+            "column" : 36,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [62],
+          "actions" : ["slicing159"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "slicing159" : null
+          },
+          "default_entry" : {
+            "action_id" : 62,
             "action_const" : true,
             "action_data" : [],
             "action_entry_const" : true
@@ -5862,13 +7082,13 @@
       "action_profiles" : [],
       "conditionals" : [
         {
-          "name" : "node_44",
-          "id" : 17,
+          "name" : "node_51",
+          "id" : 19,
           "source_info" : {
-            "filename" : "include/control/packetio.p4",
-            "line" : 39,
-            "column" : 12,
-            "source_fragment" : "fabric_metadata.is_controller_packet_out"
+            "filename" : "fabric.p4",
+            "line" : 118,
+            "column" : 33,
+            "source_fragment" : "fabric_metadata"
           },
           "expression" : {
             "type" : "expression",
@@ -5877,16 +7097,16 @@
               "left" : null,
               "right" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.is_controller_packet_out"]
+                "value" : ["scalars", "userMetadata._is_controller_packet_out19"]
               }
             }
           },
           "true_next" : "tbl_packetio41",
-          "false_next" : "node_46"
+          "false_next" : "node_53"
         },
         {
-          "name" : "node_46",
-          "id" : 18,
+          "name" : "node_53",
+          "id" : 20,
           "source_info" : {
             "filename" : "include/control/packetio.p4",
             "line" : 43,
@@ -5908,11 +7128,11 @@
             }
           },
           "true_next" : "tbl_packetio44",
-          "false_next" : "node_48"
+          "false_next" : "node_55"
         },
         {
-          "name" : "node_48",
-          "id" : 19,
+          "name" : "node_55",
+          "id" : 21,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 281,
@@ -5930,7 +7150,7 @@
                   "left" : null,
                   "right" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata.is_multicast"]
+                    "value" : ["scalars", "userMetadata._is_multicast18"]
                   }
                 }
               },
@@ -5951,11 +7171,11 @@
             }
           },
           "true_next" : "tbl_next283",
-          "false_next" : "node_50"
+          "false_next" : "node_57"
         },
         {
-          "name" : "node_50",
-          "id" : 20,
+          "name" : "node_57",
+          "id" : 22,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 286,
@@ -5968,7 +7188,7 @@
               "op" : "==",
               "left" : {
                 "type" : "field",
-                "value" : ["scalars", "userMetadata.mpls_label"]
+                "value" : ["scalars", "userMetadata._mpls_label12"]
               },
               "right" : {
                 "type" : "hexstr",
@@ -5976,12 +7196,12 @@
               }
             }
           },
-          "true_next" : "node_51",
+          "true_next" : "node_58",
           "false_next" : "tbl_egress_next_set_mpls"
         },
         {
-          "name" : "node_51",
-          "id" : 21,
+          "name" : "node_58",
+          "id" : 23,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 287,
@@ -6003,8 +7223,8 @@
           "false_next" : "FabricEgress.egress_next.egress_vlan"
         },
         {
-          "name" : "node_55",
-          "id" : 22,
+          "name" : "node_62",
+          "id" : 24,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 308,
@@ -6023,11 +7243,11 @@
             }
           },
           "true_next" : "tbl_next309",
-          "false_next" : "node_59"
+          "false_next" : "node_66"
         },
         {
-          "name" : "node_57",
-          "id" : 23,
+          "name" : "node_64",
+          "id" : 25,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 310,
@@ -6048,12 +7268,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_next310"
+          "true_next" : "tbl_next310",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_59",
-          "id" : 24,
+          "name" : "node_66",
+          "id" : 26,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 312,
@@ -6081,7 +7301,7 @@
                   "op" : "!=",
                   "left" : {
                     "type" : "field",
-                    "value" : ["scalars", "userMetadata.fwd_type"]
+                    "value" : ["scalars", "userMetadata._fwd_type16"]
                   },
                   "right" : {
                     "type" : "hexstr",
@@ -6091,12 +7311,12 @@
               }
             }
           },
-          "false_next" : null,
-          "true_next" : "tbl_next313"
+          "true_next" : "tbl_next313",
+          "false_next" : "tbl_slicing126"
         },
         {
-          "name" : "node_61",
-          "id" : 25,
+          "name" : "node_68",
+          "id" : 27,
           "source_info" : {
             "filename" : "include/control/next.p4",
             "line" : 314,
@@ -6117,8 +7337,31 @@
               }
             }
           },
+          "true_next" : "tbl_next314",
+          "false_next" : "tbl_slicing126"
+        },
+        {
+          "name" : "node_72",
+          "id" : 28,
+          "source_info" : {
+            "filename" : "include/control/slicing.p4",
+            "line" : 158,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["ipv4", "$valid$"]
+              }
+            }
+          },
           "false_next" : null,
-          "true_next" : "tbl_next314"
+          "true_next" : "tbl_slicing159"
         }
       ]
     }
diff --git a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
index 2765d9f..a21c8cc 100644
--- a/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
+++ b/pipelines/fabric/impl/src/main/resources/p4c-out/fabric/bmv2/default/p4info.txt
@@ -392,6 +392,92 @@
 }
 tables {
   preamble {
+    id: 34606298
+    name: "FabricIngress.slice_tc_classifier.classifier"
+    alias: "classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23786376
+  }
+  action_refs {
+    id: 25983516
+  }
+  const_default_action_id: 23786376
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "color"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 32116918
+  }
+  action_refs {
+    id: 28214351
+  }
+  const_default_action_id: 32116918
+  direct_resource_ids: 327743278
+  size: 128
+}
+tables {
+  preamble {
     id: 49262446
     name: "FabricEgress.egress_next.egress_vlan"
     alias: "egress_vlan"
@@ -423,6 +509,32 @@
   direct_resource_ids: 318892680
   size: 1024
 }
+tables {
+  preamble {
+    id: 49970092
+    name: "FabricEgress.dscp_rewriter.rewriter"
+    alias: "rewriter"
+  }
+  match_fields {
+    id: 1
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27951287
+  }
+  action_refs {
+    id: 24120545
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 512
+}
 actions {
   preamble {
     id: 28485346
@@ -662,6 +774,49 @@
 }
 actions {
   preamble {
+    id: 23786376
+    name: "FabricIngress.slice_tc_classifier.set_slice_id_tc"
+    alias: "set_slice_id_tc"
+  }
+  params {
+    id: 1
+    name: "slice_id"
+    bitwidth: 4
+  }
+  params {
+    id: 2
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25983516
+    name: "FabricIngress.slice_tc_classifier.trust_dscp"
+    alias: "trust_dscp"
+  }
+}
+actions {
+  preamble {
+    id: 32116918
+    name: "FabricIngress.qos.set_queue"
+    alias: "set_queue"
+  }
+  params {
+    id: 1
+    name: "qid"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 28214351
+    name: "FabricIngress.qos.meter_drop"
+    alias: "meter_drop"
+  }
+}
+actions {
+  preamble {
     id: 30307755
     name: "FabricEgress.egress_next.push_vlan"
     alias: "push_vlan"
@@ -681,6 +836,20 @@
     alias: "egress_next.drop"
   }
 }
+actions {
+  preamble {
+    id: 27951287
+    name: "FabricEgress.dscp_rewriter.rewrite"
+    alias: "rewrite"
+  }
+}
+actions {
+  preamble {
+    id: 24120545
+    name: "FabricEgress.dscp_rewriter.clear"
+    alias: "clear"
+  }
+}
 action_profiles {
   preamble {
     id: 291115404
@@ -826,6 +995,28 @@
 }
 direct_counters {
   preamble {
+    id: 334706097
+    name: "FabricIngress.slice_tc_classifier.classifier_stats"
+    alias: "classifier_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 34606298
+}
+direct_counters {
+  preamble {
+    id: 327743278
+    name: "FabricIngress.qos.queues_stats"
+    alias: "queues_stats"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 36435258
+}
+direct_counters {
+  preamble {
     id: 318892680
     name: "FabricEgress.egress_next.egress_vlan_counter"
     alias: "egress_vlan_counter"
@@ -835,6 +1026,17 @@
   }
   direct_table_id: 49262446
 }
+meters {
+  preamble {
+    id: 348573637
+    name: "FabricIngress.qos.slice_tc_meter"
+    alias: "slice_tc_meter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 64
+}
 controller_packet_metadata {
   preamble {
     id: 81826293
diff --git a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorTest.java b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorTest.java
index e490572..a07826d 100644
--- a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorTest.java
+++ b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/FabricUpfTranslatorTest.java
@@ -32,60 +32,49 @@
 
     @Test
     public void fabricEntryToUplinkPdrTest() {
-        PacketDetectionRule expectedPdr = TestUpfConstants.UPLINK_PDR;
-        PacketDetectionRule translatedPdr;
-        try {
-            translatedPdr = upfTranslator.fabricEntryToPdr(TestUpfConstants.FABRIC_UPLINK_PDR);
-        } catch (UpfProgrammableException e) {
-            assertThat("Fabric uplink PDR should translate to abstract PDR without error.", false);
-            return;
-        }
-        assertThat("Translated PDR should be uplink.", translatedPdr.matchesEncapped());
-        assertThat(translatedPdr, equalTo(expectedPdr));
+        fabricToPdrUplink(TestUpfConstants.UPLINK_PDR, TestUpfConstants.FABRIC_UPLINK_PDR);
     }
 
     @Test
-    public void fabricEntryToUplinkPriorityPdrTest() {
-        PacketDetectionRule expectedPdr = TestUpfConstants.UPLINK_PRIORITY_PDR;
+    public void fabricEntryToUplinkQosPdrTest() {
+        fabricToPdrUplink(TestUpfConstants.UPLINK_QOS_PDR, TestUpfConstants.FABRIC_UPLINK_QOS_PDR);
+        fabricToPdrUplink(TestUpfConstants.UPLINK_QOS_4G_PDR, TestUpfConstants.FABRIC_UPLINK_QOS_4G_PDR);
+    }
+
+    private void fabricToPdrUplink(PacketDetectionRule expected, FlowRule fabricFlow) {
         PacketDetectionRule translatedPdr;
         try {
-            translatedPdr = upfTranslator.fabricEntryToPdr(TestUpfConstants.FABRIC_UPLINK_PRIORITY_PDR);
+            translatedPdr = upfTranslator.fabricEntryToPdr(fabricFlow);
         } catch (UpfProgrammableException e) {
             assertThat("Fabric uplink PDR should translate to abstract PDR without error.", false);
             return;
         }
         assertThat("Translated PDR should be uplink.", translatedPdr.matchesEncapped());
-        assertThat(translatedPdr, equalTo(expectedPdr));
+        assertThat(translatedPdr, equalTo(expected));
     }
 
     @Test
     public void fabricEntryToDownlinkPdrTest() {
-        PacketDetectionRule expectedPdr = TestUpfConstants.DOWNLINK_PDR;
-        PacketDetectionRule translatedPdr;
-        try {
-            translatedPdr = upfTranslator.fabricEntryToPdr(TestUpfConstants.FABRIC_DOWNLINK_PDR);
-        } catch (UpfProgrammableException e) {
-            assertThat("Fabric downlink PDR should translate to abstract PDR without error.", false);
-            return;
-        }
-
-        assertThat("Translated PDR should be downlink.", translatedPdr.matchesUnencapped());
-        assertThat(translatedPdr, equalTo(expectedPdr));
+        fabricToPdrDownlink(TestUpfConstants.DOWNLINK_PDR, TestUpfConstants.FABRIC_DOWNLINK_PDR);
     }
 
     @Test
-    public void fabricEntryToDownlinkPriorityPdrTest() {
-        PacketDetectionRule expectedPdr = TestUpfConstants.DOWNLINK_PRIORITY_PDR;
+    public void fabricEntryToDownlinkQosPdrTest() {
+        fabricToPdrDownlink(TestUpfConstants.DOWNLINK_QOS_PDR, TestUpfConstants.FABRIC_DOWNLINK_QOS_PDR);
+        fabricToPdrDownlink(TestUpfConstants.DOWNLINK_QOS_4G_PDR, TestUpfConstants.FABRIC_DOWNLINK_QOS_4G_PDR);
+    }
+
+    private void fabricToPdrDownlink(PacketDetectionRule expected, FlowRule fabricFlow) {
         PacketDetectionRule translatedPdr;
         try {
-            translatedPdr = upfTranslator.fabricEntryToPdr(TestUpfConstants.FABRIC_DOWNLINK_PRIORITY_PDR);
+            translatedPdr = upfTranslator.fabricEntryToPdr(fabricFlow);
         } catch (UpfProgrammableException e) {
             assertThat("Fabric downlink PDR should translate to abstract PDR without error.", false);
             return;
         }
 
         assertThat("Translated PDR should be downlink.", translatedPdr.matchesUnencapped());
-        assertThat(translatedPdr, equalTo(expectedPdr));
+        assertThat(translatedPdr, equalTo(expected));
     }
 
     @Test
@@ -184,27 +173,19 @@
 
     @Test
     public void downlinkPdrToFabricEntryTest() {
-        FlowRule translatedRule;
-        FlowRule expectedRule = TestUpfConstants.FABRIC_DOWNLINK_PDR;
-        try {
-            translatedRule = upfTranslator.pdrToFabricEntry(TestUpfConstants.DOWNLINK_PDR,
-                                                            TestUpfConstants.DEVICE_ID,
-                                                            TestUpfConstants.APP_ID,
-                                                            TestUpfConstants.DEFAULT_PRIORITY);
-        } catch (UpfProgrammableException e) {
-            assertThat("Abstract downlink PDR should correctly translate to Fabric PDR without error",
-                       false);
-            return;
-        }
-        assertThat(translatedRule, equalTo(expectedRule));
+        pdrToFabricDownlink(TestUpfConstants.FABRIC_DOWNLINK_PDR, TestUpfConstants.DOWNLINK_PDR);
     }
 
     @Test
-    public void downlinkPdrToFabricPriorityEntryTest() {
+    public void downlinkPdrToFabricQosEntryTest() {
+        pdrToFabricDownlink(TestUpfConstants.FABRIC_DOWNLINK_QOS_PDR, TestUpfConstants.DOWNLINK_QOS_PDR);
+        pdrToFabricDownlink(TestUpfConstants.FABRIC_DOWNLINK_QOS_4G_PDR, TestUpfConstants.DOWNLINK_QOS_4G_PDR);
+    }
+
+    private void pdrToFabricDownlink(FlowRule expected, PacketDetectionRule pdr) {
         FlowRule translatedRule;
-        FlowRule expectedRule = TestUpfConstants.FABRIC_DOWNLINK_PRIORITY_PDR;
         try {
-            translatedRule = upfTranslator.pdrToFabricEntry(TestUpfConstants.DOWNLINK_PRIORITY_PDR,
+            translatedRule = upfTranslator.pdrToFabricEntry(pdr,
                                                             TestUpfConstants.DEVICE_ID,
                                                             TestUpfConstants.APP_ID,
                                                             TestUpfConstants.DEFAULT_PRIORITY);
@@ -213,7 +194,7 @@
                        false);
             return;
         }
-        assertThat(translatedRule, equalTo(expectedRule));
+        assertThat(translatedRule, equalTo(expected));
     }
 
     @Test
@@ -235,27 +216,19 @@
 
     @Test
     public void uplinkPdrToFabricEntryTest() {
-        FlowRule translatedRule;
-        FlowRule expectedRule = TestUpfConstants.FABRIC_UPLINK_PDR;
-        try {
-            translatedRule = upfTranslator.pdrToFabricEntry(TestUpfConstants.UPLINK_PDR,
-                                                            TestUpfConstants.DEVICE_ID,
-                                                            TestUpfConstants.APP_ID,
-                                                            TestUpfConstants.DEFAULT_PRIORITY);
-        } catch (UpfProgrammableException e) {
-            assertThat("Abstract uplink PDR should correctly translate to Fabric PDR without error",
-                       false);
-            return;
-        }
-        assertThat(translatedRule, equalTo(expectedRule));
+        pdrToFabricUplink(TestUpfConstants.FABRIC_UPLINK_PDR, TestUpfConstants.UPLINK_PDR);
     }
 
     @Test
-    public void uplinkPriorityPdrToFabricEntryTest() {
+    public void uplinkQosPdrToFabricEntryTest() {
+        pdrToFabricUplink(TestUpfConstants.FABRIC_UPLINK_QOS_PDR, TestUpfConstants.UPLINK_QOS_PDR);
+        pdrToFabricUplink(TestUpfConstants.FABRIC_UPLINK_QOS_4G_PDR, TestUpfConstants.UPLINK_QOS_4G_PDR);
+    }
+
+    private void pdrToFabricUplink(FlowRule expected, PacketDetectionRule pdr) {
         FlowRule translatedRule;
-        FlowRule expectedRule = TestUpfConstants.FABRIC_UPLINK_PRIORITY_PDR;
         try {
-            translatedRule = upfTranslator.pdrToFabricEntry(TestUpfConstants.UPLINK_PRIORITY_PDR,
+            translatedRule = upfTranslator.pdrToFabricEntry(pdr,
                                                             TestUpfConstants.DEVICE_ID,
                                                             TestUpfConstants.APP_ID,
                                                             TestUpfConstants.DEFAULT_PRIORITY);
@@ -264,7 +237,7 @@
                        false);
             return;
         }
-        assertThat(translatedRule, equalTo(expectedRule));
+        assertThat(translatedRule, equalTo(expected));
     }
 
     @Test
diff --git a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/TestUpfConstants.java b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/TestUpfConstants.java
index 6fee244..71c7212 100644
--- a/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/TestUpfConstants.java
+++ b/pipelines/fabric/impl/src/test/java/org/onosproject/pipelines/fabric/impl/behaviour/upf/TestUpfConstants.java
@@ -50,18 +50,28 @@
 import static org.onosproject.pipelines.fabric.FabricConstants.FAR_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_FAR_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_GTPU_IS_VALID;
+import static org.onosproject.pipelines.fabric.FabricConstants.HDR_HAS_QFI;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_IPV4_DST_ADDR;
+import static org.onosproject.pipelines.fabric.FabricConstants.HDR_QFI;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_TEID;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_TUNNEL_IPV4_DST;
 import static org.onosproject.pipelines.fabric.FabricConstants.HDR_UE_ADDR;
 import static org.onosproject.pipelines.fabric.FabricConstants.NEEDS_GTPU_DECAP;
+import static org.onosproject.pipelines.fabric.FabricConstants.NEEDS_QFI_PUSH;
 import static org.onosproject.pipelines.fabric.FabricConstants.NOTIFY_CP;
-import static org.onosproject.pipelines.fabric.FabricConstants.QID;
+import static org.onosproject.pipelines.fabric.FabricConstants.QFI;
+import static org.onosproject.pipelines.fabric.FabricConstants.SLICE_ID;
 import static org.onosproject.pipelines.fabric.FabricConstants.SRC_IFACE;
+import static org.onosproject.pipelines.fabric.FabricConstants.TC;
 import static org.onosproject.pipelines.fabric.FabricConstants.TEID;
 import static org.onosproject.pipelines.fabric.FabricConstants.TUNNEL_DST_ADDR;
 import static org.onosproject.pipelines.fabric.FabricConstants.TUNNEL_SRC_ADDR;
 import static org.onosproject.pipelines.fabric.FabricConstants.TUNNEL_SRC_PORT;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_QFI;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_SLICE_ID;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.DEFAULT_TC;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.FALSE;
+import static org.onosproject.pipelines.fabric.impl.behaviour.Constants.TRUE;
 import static org.onosproject.pipelines.fabric.impl.behaviour.upf.FabricUpfTranslator.INTERFACE_ACCESS;
 import static org.onosproject.pipelines.fabric.impl.behaviour.upf.FabricUpfTranslator.INTERFACE_CORE;
 
@@ -90,11 +100,8 @@
             .hash()
             .asInt();
 
-    public static final int UPLINK_PRIORITY = 9;
-    public static final int DOWNLINK_PRIORITY = 1;
-    public static final int UPLINK_QID = 1;
-    public static final int DOWNLINK_QID = 5;
-    public static final int DEFAULT_SCHEDULING_PRIORITY = 0;
+    public static final byte UPLINK_QFI = 1;
+    public static final byte DOWNLINK_QFI = 5;
 
     public static final ImmutableByteSequence TEID_VALUE = ImmutableByteSequence.copyFrom(0xff);
     public static final Ip4Address UE_ADDR = Ip4Address.valueOf("17.0.0.1");
@@ -116,7 +123,6 @@
             .withLocalFarId(UPLINK_FAR_ID)
             .withSessionId(SESSION_ID)
             .withCounterId(UPLINK_COUNTER_CELL_ID)
-            .withSchedulingPriority(DEFAULT_SCHEDULING_PRIORITY)
             .build();
 
     public static final PacketDetectionRule DOWNLINK_PDR = PacketDetectionRule.builder()
@@ -124,24 +130,42 @@
             .withLocalFarId(DOWNLINK_FAR_ID)
             .withSessionId(SESSION_ID)
             .withCounterId(DOWNLINK_COUNTER_CELL_ID)
-            .withSchedulingPriority(DEFAULT_SCHEDULING_PRIORITY)
             .build();
 
-    public static final PacketDetectionRule UPLINK_PRIORITY_PDR = PacketDetectionRule.builder()
+    public static final PacketDetectionRule UPLINK_QOS_PDR = PacketDetectionRule.builder()
             .withTunnelDst(S1U_ADDR)
             .withTeid(TEID_VALUE)
             .withLocalFarId(UPLINK_FAR_ID)
             .withSessionId(SESSION_ID)
             .withCounterId(UPLINK_COUNTER_CELL_ID)
-            .withSchedulingPriority(UPLINK_PRIORITY)
+            .withQfi(UPLINK_QFI)
+            .withQfiMatch()
             .build();
 
-    public static final PacketDetectionRule DOWNLINK_PRIORITY_PDR = PacketDetectionRule.builder()
+    public static final PacketDetectionRule UPLINK_QOS_4G_PDR = PacketDetectionRule.builder()
+            .withTunnelDst(S1U_ADDR)
+            .withTeid(TEID_VALUE)
+            .withLocalFarId(UPLINK_FAR_ID)
+            .withSessionId(SESSION_ID)
+            .withCounterId(UPLINK_COUNTER_CELL_ID)
+            .withQfi(UPLINK_QFI)
+            .build();
+
+    public static final PacketDetectionRule DOWNLINK_QOS_PDR = PacketDetectionRule.builder()
             .withUeAddr(UE_ADDR)
             .withLocalFarId(DOWNLINK_FAR_ID)
             .withSessionId(SESSION_ID)
             .withCounterId(DOWNLINK_COUNTER_CELL_ID)
-            .withSchedulingPriority(DOWNLINK_PRIORITY)
+            .withQfi(DOWNLINK_QFI)
+            .withQfiPush()
+            .build();
+
+    public static final PacketDetectionRule DOWNLINK_QOS_4G_PDR = PacketDetectionRule.builder()
+            .withUeAddr(UE_ADDR)
+            .withLocalFarId(DOWNLINK_FAR_ID)
+            .withSessionId(SESSION_ID)
+            .withCounterId(DOWNLINK_COUNTER_CELL_ID)
+            .withQfi(DOWNLINK_QFI)
             .build();
 
     public static final ForwardingActionRule UPLINK_FAR = ForwardingActionRule.builder()
@@ -158,13 +182,38 @@
 
     public static final UpfInterface DOWNLINK_INTERFACE = UpfInterface.createUePoolFrom(UE_POOL);
 
-    public static final FlowRule FABRIC_UPLINK_PRIORITY_PDR = DefaultFlowRule.builder()
+    public static final FlowRule FABRIC_UPLINK_QOS_PDR = DefaultFlowRule.builder()
             .forDevice(DEVICE_ID).fromApp(APP_ID).makePermanent()
             .forTable(FABRIC_INGRESS_SPGW_UPLINK_PDRS)
             .withSelector(DefaultTrafficSelector.builder()
                                   .matchPi(PiCriterion.builder()
                                                    .matchExact(HDR_TEID, TEID_VALUE.asArray())
                                                    .matchExact(HDR_TUNNEL_IPV4_DST, S1U_ADDR.toInt())
+                                                   .matchExact(HDR_HAS_QFI, TRUE)
+                                                   .matchExact(HDR_QFI, UPLINK_QFI)
+                                           .build()).build())
+            .withTreatment(DefaultTrafficTreatment.builder()
+                                   .piTableAction(PiAction.builder()
+                                                          .withId(FABRIC_INGRESS_SPGW_LOAD_PDR)
+                                                          .withParameters(Arrays.asList(
+                                                                  new PiActionParam(CTR_ID, UPLINK_COUNTER_CELL_ID),
+                                                                  new PiActionParam(FAR_ID, UPLINK_PHYSICAL_FAR_ID),
+                                                                  new PiActionParam(NEEDS_GTPU_DECAP, TRUE),
+                                                                  new PiActionParam(TC, DEFAULT_TC)
+                                                          ))
+                                                          .build()).build())
+            .withPriority(DEFAULT_PRIORITY)
+            .build();
+
+    public static final FlowRule FABRIC_UPLINK_QOS_4G_PDR = DefaultFlowRule.builder()
+            .forDevice(DEVICE_ID).fromApp(APP_ID).makePermanent()
+            .forTable(FABRIC_INGRESS_SPGW_UPLINK_PDRS)
+            .withSelector(DefaultTrafficSelector.builder()
+                                  .matchPi(PiCriterion.builder()
+                                                   .matchExact(HDR_TEID, TEID_VALUE.asArray())
+                                                   .matchExact(HDR_TUNNEL_IPV4_DST, S1U_ADDR.toInt())
+                                                   .matchExact(HDR_HAS_QFI, FALSE)
+                                                   .matchExact(HDR_QFI, DEFAULT_QFI)
                                                    .build()).build())
             .withTreatment(DefaultTrafficTreatment.builder()
                                    .piTableAction(PiAction.builder()
@@ -172,14 +221,17 @@
                                                           .withParameters(Arrays.asList(
                                                                   new PiActionParam(CTR_ID, UPLINK_COUNTER_CELL_ID),
                                                                   new PiActionParam(FAR_ID, UPLINK_PHYSICAL_FAR_ID),
-                                                                  new PiActionParam(NEEDS_GTPU_DECAP, 1),
-                                                                  new PiActionParam(QID, UPLINK_QID)
+                                                                  new PiActionParam(NEEDS_GTPU_DECAP, TRUE),
+                                                                  new PiActionParam(NEEDS_QFI_PUSH, FALSE),
+                                                                  new PiActionParam(QFI,
+                                                                                    UPLINK_QFI),
+                                                                  new PiActionParam(TC, DEFAULT_TC)
                                                           ))
                                                           .build()).build())
             .withPriority(DEFAULT_PRIORITY)
             .build();
 
-    public static final FlowRule FABRIC_DOWNLINK_PRIORITY_PDR = DefaultFlowRule.builder()
+    public static final FlowRule FABRIC_DOWNLINK_QOS_PDR = DefaultFlowRule.builder()
             .forDevice(DEVICE_ID).fromApp(APP_ID).makePermanent()
             .forTable(FABRIC_INGRESS_SPGW_DOWNLINK_PDRS)
             .withSelector(DefaultTrafficSelector.builder()
@@ -192,8 +244,32 @@
                                                           .withParameters(Arrays.asList(
                                                                   new PiActionParam(CTR_ID, DOWNLINK_COUNTER_CELL_ID),
                                                                   new PiActionParam(FAR_ID, DOWNLINK_PHYSICAL_FAR_ID),
-                                                                  new PiActionParam(NEEDS_GTPU_DECAP, 0),
-                                                                  new PiActionParam(QID, DOWNLINK_QID)
+                                                                  new PiActionParam(QFI, DOWNLINK_QFI),
+                                                                  new PiActionParam(NEEDS_GTPU_DECAP, FALSE),
+                                                                  new PiActionParam(NEEDS_QFI_PUSH, TRUE),
+                                                                  new PiActionParam(TC, DEFAULT_TC)
+                                                          ))
+                                                          .build()).build())
+            .withPriority(DEFAULT_PRIORITY)
+            .build();
+
+    public static final FlowRule FABRIC_DOWNLINK_QOS_4G_PDR = DefaultFlowRule.builder()
+            .forDevice(DEVICE_ID).fromApp(APP_ID).makePermanent()
+            .forTable(FABRIC_INGRESS_SPGW_DOWNLINK_PDRS)
+            .withSelector(DefaultTrafficSelector.builder()
+                                  .matchPi(PiCriterion.builder()
+                                                   .matchExact(HDR_UE_ADDR, UE_ADDR.toInt())
+                                                   .build()).build())
+            .withTreatment(DefaultTrafficTreatment.builder()
+                                   .piTableAction(PiAction.builder()
+                                                          .withId(FABRIC_INGRESS_SPGW_LOAD_PDR_QOS)
+                                                          .withParameters(Arrays.asList(
+                                                                  new PiActionParam(CTR_ID, DOWNLINK_COUNTER_CELL_ID),
+                                                                  new PiActionParam(FAR_ID, DOWNLINK_PHYSICAL_FAR_ID),
+                                                                  new PiActionParam(QFI, DOWNLINK_QFI),
+                                                                  new PiActionParam(NEEDS_GTPU_DECAP, FALSE),
+                                                                  new PiActionParam(NEEDS_QFI_PUSH, FALSE),
+                                                                  new PiActionParam(TC, DEFAULT_TC)
                                                           ))
                                                           .build()).build())
             .withPriority(DEFAULT_PRIORITY)
@@ -206,6 +282,8 @@
                                   .matchPi(PiCriterion.builder()
                                                    .matchExact(HDR_TEID, TEID_VALUE.asArray())
                                                    .matchExact(HDR_TUNNEL_IPV4_DST, S1U_ADDR.toInt())
+                                                   .matchExact(HDR_HAS_QFI, FALSE)
+                                                   .matchExact(HDR_QFI, DEFAULT_QFI)
                                                    .build()).build())
             .withTreatment(DefaultTrafficTreatment.builder()
                                    .piTableAction(PiAction.builder()
@@ -213,7 +291,8 @@
                                                           .withParameters(Arrays.asList(
                                                                   new PiActionParam(CTR_ID, UPLINK_COUNTER_CELL_ID),
                                                                   new PiActionParam(FAR_ID, UPLINK_PHYSICAL_FAR_ID),
-                                                                  new PiActionParam(NEEDS_GTPU_DECAP, 1)
+                                                                  new PiActionParam(NEEDS_GTPU_DECAP, TRUE),
+                                                                  new PiActionParam(TC, DEFAULT_TC)
                                                           ))
                                                           .build()).build())
             .withPriority(DEFAULT_PRIORITY)
@@ -232,7 +311,8 @@
                                                           .withParameters(Arrays.asList(
                                                                   new PiActionParam(CTR_ID, DOWNLINK_COUNTER_CELL_ID),
                                                                   new PiActionParam(FAR_ID, DOWNLINK_PHYSICAL_FAR_ID),
-                                                                  new PiActionParam(NEEDS_GTPU_DECAP, 0)
+                                                                  new PiActionParam(NEEDS_GTPU_DECAP, FALSE),
+                                                                  new PiActionParam(TC, DEFAULT_TC)
                                                           ))
                                                           .build()).build())
             .withPriority(DEFAULT_PRIORITY)
@@ -293,6 +373,7 @@
                                            PiAction.builder()
                                                    .withId(FABRIC_INGRESS_SPGW_LOAD_IFACE)
                                                    .withParameter(new PiActionParam(SRC_IFACE, INTERFACE_ACCESS))
+                                                   .withParameter(new PiActionParam(SLICE_ID, DEFAULT_SLICE_ID))
                                                    .build()).build())
             .withPriority(DEFAULT_PRIORITY)
             .build();
@@ -311,6 +392,7 @@
                                    .piTableAction(PiAction.builder()
                                                           .withId(FABRIC_INGRESS_SPGW_LOAD_IFACE)
                                                           .withParameter(new PiActionParam(SRC_IFACE, INTERFACE_CORE))
+                                                          .withParameter(new PiActionParam(SLICE_ID, DEFAULT_SLICE_ID))
                                                           .build()).build())
             .withPriority(DEFAULT_PRIORITY)
             .build();