diff --git a/src/tests/p4-int-routing-acl/README.md b/src/tests/p4-int-routing-acl/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..fa935e1b2eae2decb0e852ebd72b752c3d67ca28
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/README.md
@@ -0,0 +1,129 @@
+# Tests for P4 routing, ACL, and In-Band Network Telemetry functions
+
+This directory contains the necessary scripts and configurations to run tests atop a Stratum-based P4 whitebox that performs a set of network functions, including routing, access control list (ACL), and In-Band Network Telemetry (INT).
+
+## Prerequisites
+
+You need Python3, which should already be installed while preparing for a TFS build.
+Additionally, `pytest` is also mandatory as it is used by our tests below.
+Aliasing python with python3 will also help bridging issues between older and newer python versions.
+
+```shell
+alias python='python3'
+pip3 install pytest
+pip3 install grpclib protobuf
+pip3 install grpcio-tools
+```
+
+The versions used for this test are:
+- `protobuf` 3.20.3
+- `grpclib` 0.4.4
+- `grpcio` 1.47.5
+- `grpcio-tools` 1.47.5
+
+After the installation of `grpclib`, protoc-gen-grpclib_python binary is in /home/$USER/.local/bin/
+First we copy it to /usr/local/bin/:
+
+```shell
+  sudo cp /home/$USER/.local/bin/protoc-gen-grpclib_python /usr/local/bin/
+```
+
+Then, we include this path to the PYTHONPATH:
+```shell
+export PYTHONPATH="${PYTHONPATH}:/usr/local/bin/protoc-gen-grpclib_python"
+```
+
+
+You need to build and deploy a software-based Stratum switch, before being able to use TFS to control it.
+To do so, follow the instructions in the `./topology` folder.
+
+## Steps to setup and run a TFS program atop Stratum
+
+To conduct this test, follow the steps below.
+
+### TFS re-deploy
+
+```shell
+cd ~/tfs-ctrl/
+source my_deploy.sh && source tfs_runtime_env_vars.sh
+./deploy/all.sh
+```
+
+### Path setup
+
+Ensure that `PATH` variable contains the parent project directory, e.g., "home/$USER/tfs-ctrl".
+
+Ensure that `PYTHONPATH` variable contains the source code directory of TFS, e.g., "home/$USER/tfs-ctrl/src"
+
+## Topology setup
+
+In the `./topology/` directory there are scripts that allow to build Stratum on a target machine (e.g., a VM) and then deploy a P4 switch atop this machine.
+This test assumes a Stratum P4 switch with 2 network interfaces used as a data plane (routing traffic from one to another) as well as another network interface used to send telemetry information to an external telemetry collector.
+
+## P4 artifacts
+
+In the `./p4src/` directory there are compiled P4 artifacts of the pipeline that will be pushed to the P4 switch, along with the P4-runtime definitions.
+The `./setup.sh` script copies from this directory. If you need to change the P4 program, make sure to put the compiled artifacts there.
+
+## Tests
+
+The following tests are implemented.
+For each of these tests, an auxiliary bash script allows to run it with less typing.
+
+|                 Test                 |              Bash Runner           |                Purpose             |
+| ------------------------------------ | ---------------------------------- | ---------------------------------- |
+| -                                    | setup.sh                           | Copy P4 artifacts into the SBI pod |
+| test_functional_bootstrap.py         | run_test_01_bootstrap.sh           | Connect TFS to the P4 switch       |
+| test_functional_rules_provision.py   | run_test_02_rules_provision.sh     | Install rules on the P4 switch     |
+| test_functional_rules_deprovision.py | run_test_03_rules_deprovision.sh   | Uninstall rules from the P4 switch |
+| test_functional_cleanup.py           | run_test_04_cleanup.sh             | Disconnect TFS from the P4 switch  |
+
+Each of the tests above is described in detail below.
+
+### Step 1: Copy the necessary P4 artifacts into the TFS SBI service pod
+
+The setup script copies the necessary artifacts to the SBI service pod.
+It should be run just once, after a fresh install of TFS.
+If you `deploy/all.sh` again, you need to repeat this step.
+
+```shell
+cd ~/tfs-ctrl/
+source my_deploy.sh && source tfs_runtime_env_vars.sh
+bash src/tests/p4-int-routing-acl/setup.sh
+```
+
+### Step 2: Bootstrap topology
+
+The bootstrap script registers the context, topology, links, and devices to TFS.
+
+```shell
+cd ~/tfs-ctrl/
+bash src/tests/p4-int-routing-acl/run_test_01_bootstrap.sh
+```
+
+### Step 3: Provision rules via the SBI API
+
+Implement routing, ACL, and INT functions by installing P4 rules to the Stratum switch via the TFS SBI API.
+
+```shell
+cd ~/tfs-ctrl/
+bash src/tests/p4-int-routing-acl/run_test_02_rules_provision.sh
+```
+
+### Step 4: Deprovision rules via the SBI API
+
+Deprovision the routing, ACL, and INT network functions by removing the previously installed P4 rules (via the TFS SBI API) from the Stratum switch.
+
+```shell
+cd ~/tfs-ctrl/
+bash src/tests/p4-int-routing-acl/run_test_03_rules_deprovision.sh
+```
+
+### Step 4: Deprovision topology
+
+Delete all the objects (context, topology, links, devices) from TFS:
+
+```shell
+cd ~/tfs-ctrl/
+bash src/tests/p4-int-routing-acl/run_test_04_cleanup.sh
+```
diff --git a/src/tests/p4-int-routing-acl/__init__.py b/src/tests/p4-int-routing-acl/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..023830645e0fcb60e3f8583674a954810af222f2
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/__init__.py
@@ -0,0 +1,13 @@
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-insert-acl.json b/src/tests/p4-int-routing-acl/descriptors/rules-insert-acl.json
new file mode 100644
index 0000000000000000000000000000000000000000..97a548983f29c7af8c1da21fda5ab09b45a940aa
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-insert-acl.json
@@ -0,0 +1,39 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.acl.acl[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.acl.acl",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "1"
+									},
+									{
+										"match-field": "l4_dport",
+										"match-value": "8080"
+									}
+								],
+								"action-name": "FabricIngress.acl.drop",
+								"action-params": [],
+								"priority": 1
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
\ No newline at end of file
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b1.json b/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b1.json
new file mode 100644
index 0000000000000000000000000000000000000000..3fc9a71732aef424b85c9b91b255083b3e1badbb
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b1.json
@@ -0,0 +1,136 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.int_watchlist.watchlist[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.int_watchlist.watchlist",
+								"match-fields": [
+									{
+										"match-field": "ipv4_valid",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricIngress.int_watchlist.mark_to_report",
+								"action-params": [],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "510"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "3"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[1]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "510"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "510"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "2"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.int_watchlist.watchlist[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.int_watchlist.watchlist",
+								"match-fields": [
+									{
+										"match-field": "ipv4_valid",
+										"match-value": "1"
+									},
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "10.10.10.41&&&0xFFFFFFFF"
+									}
+								],
+								"action-name": "FabricIngress.int_watchlist.no_report_collector",
+								"action-params": [],
+								"priority": 10
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b2.json b/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b2.json
new file mode 100644
index 0000000000000000000000000000000000000000..e6b5a8ea8590586b2aeee46eb9b736b1e27ba35e
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b2.json
@@ -0,0 +1,269 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[1]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "4"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "0"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "4"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_drop_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[2]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "4"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_drop_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[3]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_local_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[4]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "5"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "0"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "4"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_drop_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[5]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_local_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[6]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_local_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b3.json b/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b3.json
new file mode 100644
index 0000000000000000000000000000000000000000..f8d2c71830d3ef55ea8ffd97e3557fc9d8cc6315
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-insert-int-b3.json
@@ -0,0 +1,212 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "3"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "1"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "3"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "0"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[2]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.bridging[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.bridging",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eth_dst",
+										"match-value": "fa:16:3e:fb:cf:96"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_bridging",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "3"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricIngress.next.output_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "3"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.routing_v4[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.routing_v4",
+								"match-fields": [
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "10.10.10.41/32"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_routing_v4",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "3"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricIngress.next.routing_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "3"
+									},
+									{
+										"action-param": "smac",
+										"action-value": "fa:16:3e:93:8c:c0"
+									},
+									{
+										"action-param": "dmac",
+										"action-value": "fa:16:3e:fb:cf:96"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/clone_sessions/clone_session[1]",
+							"resource_value": {
+								"session-id": 506,
+								"replicas": [
+									{
+										"egress-port": 510,
+										"instance": 0
+									}
+								]
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-insert-routing-corp.json b/src/tests/p4-int-routing-acl/descriptors/rules-insert-routing-corp.json
new file mode 100644
index 0000000000000000000000000000000000000000..0fe8b5036f8446f65e8fca85ddeea97cd6ed8cd0
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-insert-routing-corp.json
@@ -0,0 +1,197 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[4]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "2"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "1"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[4]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "2"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "0"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[4]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.bridging[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.bridging",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eth_dst",
+										"match-value": "fa:16:3e:e2:af:28"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_bridging",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "2"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[5]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricIngress.next.output_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "2"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.routing_v4[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.routing_v4",
+								"match-fields": [
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "172.16.10.9/32"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_routing_v4",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "2"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[6]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricIngress.next.routing_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "2"
+									},
+									{
+										"action-param": "smac",
+										"action-value": "fa:16:3e:9b:cb:a1"
+									},
+									{
+										"action-param": "dmac",
+										"action-value": "fa:16:3e:e2:af:28"
+									}
+								]
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-insert-routing-edge.json b/src/tests/p4-int-routing-acl/descriptors/rules-insert-routing-edge.json
new file mode 100644
index 0000000000000000000000000000000000000000..c48d9d31e2b36dd1710ab53d51280759e82cca1c
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-insert-routing-edge.json
@@ -0,0 +1,197 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "1"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "1"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "1"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "0"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[3]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.bridging[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.bridging",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eth_dst",
+										"match-value": "fa:16:3e:58:92:ba"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_bridging",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "1"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricIngress.next.output_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.routing_v4[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.routing_v4",
+								"match-fields": [
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "10.158.72.25/32"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_routing_v4",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_SET",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[4]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricIngress.next.routing_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "1"
+									},
+									{
+										"action-param": "smac",
+										"action-value": "fa:16:3e:e2:af:28"
+									},
+									{
+										"action-param": "dmac",
+										"action-value": "fa:16:3e:58:92:ba"
+									}
+								]
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
diff --git a/src/tests/p4-int-routing-acl/descriptors/rules-remove.json b/src/tests/p4-int-routing-acl/descriptors/rules-remove.json
new file mode 100644
index 0000000000000000000000000000000000000000..68132e9e6ec09435cfcbaae16a9c2287e9c649b5
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/rules-remove.json
@@ -0,0 +1,965 @@
+{
+	"devices": [
+		{
+			"device_id": {
+				"device_uuid": {
+					"uuid": "p4-sw1"
+				}
+			},
+			"name": "p4-sw1",
+			"device_operational_status": "DEVICEOPERATIONALSTATUS_ENABLED",
+			"device_config": {
+				"config_rules": [
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.int_watchlist.watchlist[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.int_watchlist.watchlist",
+								"match-fields": [
+									{
+										"match-field": "ipv4_valid",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricIngress.int_watchlist.mark_to_report",
+								"action-params": [],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "510"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "3"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[1]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "510"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "510"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "2"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[1]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "4"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "0"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "4"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_drop_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[2]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "4"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_drop_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[3]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_local_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[4]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "5"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "0"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "4"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_drop_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[5]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_local_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.int_egress.report[6]",
+							"resource_value": {
+								"table-name": "FabricEgress.int_egress.report",
+								"match-fields": [
+									{
+										"match-field": "bmd_type",
+										"match-value": "2"
+									},
+									{
+										"match-field": "mirror_type",
+										"match-value": "1"
+									},
+									{
+										"match-field": "int_report_type",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricEgress.int_egress.do_local_report_encap",
+								"action-params": [
+									{
+										"action-param": "src_ip",
+										"action-value": "10.10.10.120"
+									},
+									{
+										"action-param": "mon_ip",
+										"action-value": "10.10.10.41"
+									},
+									{
+										"action-param": "mon_port",
+										"action-value": "32766"
+									},
+									{
+										"action-param": "switch_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.int_watchlist.watchlist[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.int_watchlist.watchlist",
+								"match-fields": [
+									{
+										"match-field": "ipv4_valid",
+										"match-value": "1"
+									},
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "10.10.10.41&&&0xFFFFFFFF"
+									}
+								],
+								"action-name": "FabricIngress.int_watchlist.no_report_collector",
+								"action-params": [],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "3"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "1"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "3"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "0"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[2]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.bridging[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.bridging",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eth_dst",
+										"match-value": "fa:16:3e:fb:cf:96"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_bridging",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "3"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricIngress.next.output_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "3"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.routing_v4[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.routing_v4",
+								"match-fields": [
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "10.10.10.41/32"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_routing_v4",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "3"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "3"
+									}
+								],
+								"action-name": "FabricIngress.next.routing_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "3"
+									},
+									{
+										"action-param": "smac",
+										"action-value": "fa:16:3e:93:8c:c0"
+									},
+									{
+										"action-param": "dmac",
+										"action-value": "fa:16:3e:fb:cf:96"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/clone_sessions/clone_session[1]",
+							"resource_value": {
+								"session-id": 506,
+								"replicas": [
+									{
+										"egress-port": 510,
+										"instance": 0
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "1"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "1"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "1"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "0"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[3]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.bridging[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.bridging",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eth_dst",
+										"match-value": "fa:16:3e:58:92:ba"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_bridging",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "1"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricIngress.next.output_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.routing_v4[2]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.routing_v4",
+								"match-fields": [
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "10.158.72.25/32"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_routing_v4",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "1"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[4]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "1"
+									}
+								],
+								"action-name": "FabricIngress.next.routing_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "1"
+									},
+									{
+										"action-param": "smac",
+										"action-value": "fa:16:3e:e2:af:28"
+									},
+									{
+										"action-param": "dmac",
+										"action-value": "fa:16:3e:58:92:ba"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.ingress_port_vlan[4]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.ingress_port_vlan",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "2"
+									},
+									{
+										"match-field": "vlan_is_valid",
+										"match-value": "0"
+									}
+								],
+								"action-name": "FabricIngress.filtering.permit_with_internal_vlan",
+								"action-params": [
+									{
+										"action-param": "vlan_id",
+										"action-value": "4094"
+									},
+									{
+										"action-param": "port_type",
+										"action-value": "1"
+									}
+								],
+								"priority": 10
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.filtering.fwd_classifier[4]",
+							"resource_value": {
+								"table-name": "FabricIngress.filtering.fwd_classifier",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "2"
+									},
+									{
+										"match-field": "ip_eth_type",
+										"match-value": "0x0800"
+									}
+								],
+								"action-name": "FabricIngress.filtering.set_forwarding_type",
+								"action-params": [
+									{
+										"action-param": "fwd_type",
+										"action-value": "0"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricEgress.egress_next.egress_vlan[4]",
+							"resource_value": {
+								"table-name": "FabricEgress.egress_next.egress_vlan",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eg_port",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricEgress.egress_next.pop_vlan",
+								"action-params": []
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.bridging[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.bridging",
+								"match-fields": [
+									{
+										"match-field": "vlan_id",
+										"match-value": "4094"
+									},
+									{
+										"match-field": "eth_dst",
+										"match-value": "fa:16:3e:e2:af:28"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_bridging",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "2"
+									}
+								],
+								"priority": 1
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[5]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricIngress.next.output_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "2"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.forwarding.routing_v4[3]",
+							"resource_value": {
+								"table-name": "FabricIngress.forwarding.routing_v4",
+								"match-fields": [
+									{
+										"match-field": "ipv4_dst",
+										"match-value": "172.16.10.9/32"
+									}
+								],
+								"action-name": "FabricIngress.forwarding.set_next_id_routing_v4",
+								"action-params": [
+									{
+										"action-param": "next_id",
+										"action-value": "2"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.next.simple[6]",
+							"resource_value": {
+								"table-name": "FabricIngress.next.simple",
+								"match-fields": [
+									{
+										"match-field": "next_id",
+										"match-value": "2"
+									}
+								],
+								"action-name": "FabricIngress.next.routing_simple",
+								"action-params": [
+									{
+										"action-param": "port_num",
+										"action-value": "2"
+									},
+									{
+										"action-param": "smac",
+										"action-value": "fa:16:3e:9b:cb:a1"
+									},
+									{
+										"action-param": "dmac",
+										"action-value": "fa:16:3e:e2:af:28"
+									}
+								]
+							}
+						}
+					},
+					{
+						"action": "CONFIGACTION_DELETE",
+						"custom": {
+							"resource_key": "/tables/table/FabricIngress.acl.acl[1]",
+							"resource_value": {
+								"table-name": "FabricIngress.acl.acl",
+								"match-fields": [
+									{
+										"match-field": "ig_port",
+										"match-value": "1"
+									},
+									{
+										"match-field": "l4_dport",
+										"match-value": "8080"
+									}
+								],
+								"action-name": "FabricIngress.acl.drop",
+								"action-params": [],
+								"priority": 1
+							}
+						}
+					}
+				]
+			}
+		}
+	]
+}
\ No newline at end of file
diff --git a/src/tests/p4-int-routing-acl/descriptors/topology.json b/src/tests/p4-int-routing-acl/descriptors/topology.json
new file mode 100644
index 0000000000000000000000000000000000000000..3b1f6e410cc5a2adc1c99b6208523fd9a9971fe7
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/descriptors/topology.json
@@ -0,0 +1,288 @@
+{
+    "contexts": [
+        {
+            "context_id": {
+                "context_uuid": {
+                    "uuid": "admin"
+                }
+            }
+        }
+    ],
+    "topologies": [
+        {
+            "topology_id": {
+                "context_id": {
+                    "context_uuid": {
+                        "uuid": "admin"
+                    }
+                },
+                "topology_uuid": {
+                    "uuid": "admin"
+                }
+            }
+        }
+    ],
+    "devices": [
+        {
+            "device_id": {
+                "device_uuid": {
+                    "uuid": "edge-net"
+                }
+            },
+            "device_type": "network",
+            "device_drivers": [
+                "DEVICEDRIVER_UNDEFINED"
+            ],
+            "device_config": {
+                "config_rules": [
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/address",
+                            "resource_value": "127.0.0.1"
+                        }
+                    },
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/port",
+                            "resource_value": "0"
+                        }
+                    },
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/settings",
+                            "resource_value": {
+                                "endpoints": [
+                                    {
+                                        "uuid": "eth1",
+                                        "type": "copper"
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        {
+            "device_id": {
+                "device_uuid": {
+                    "uuid": "corporate-net"
+                }
+            },
+            "device_type": "network",
+            "device_drivers": [
+                "DEVICEDRIVER_UNDEFINED"
+            ],
+            "device_config": {
+                "config_rules": [
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/address",
+                            "resource_value": "127.0.0.1"
+                        }
+                    },
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/port",
+                            "resource_value": "0"
+                        }
+                    },
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/settings",
+                            "resource_value": {
+                                "endpoints": [
+                                    {
+                                        "uuid": "eth1",
+                                        "type": "copper"
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        },
+        {
+            "device_id": {
+                "device_uuid": {
+                    "uuid": "p4-sw1"
+                }
+            },
+            "device_type": "p4-switch",
+            "device_drivers": [
+                "DEVICEDRIVER_P4"
+            ],
+            "device_operational_status": "DEVICEOPERATIONALSTATUS_DISABLED",
+            "name": "p4-sw1",
+            "device_config": {
+                "config_rules": [
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/address",
+                            "resource_value": "10.10.10.120"
+                        }
+                    },
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/port",
+                            "resource_value": "50001"
+                        }
+                    },
+                    {
+                        "action": "CONFIGACTION_SET",
+                        "custom": {
+                            "resource_key": "_connect/settings",
+                            "resource_value": {
+                                "id": 1,
+                                "name": "p4-sw1",
+                                "vendor": "Open Networking Foundation",
+                                "hw_ver": "BMv2 simple_switch",
+                                "sw_ver": "Stratum",
+                                "p4bin": "/root/p4/bmv2.json",
+                                "p4info": "/root/p4/p4info.txt",
+                                "timeout": 60,
+                                "endpoints": [
+                                    {
+                                        "uuid": "1",
+                                        "type": "port"
+                                    },
+                                    {
+                                        "uuid": "2",
+                                        "type": "port"
+                                    }
+                                ]
+                            }
+                        }
+                    }
+                ]
+            }
+        }
+    ],
+    "links": [
+        {
+            "link_id": {
+                "link_uuid": {
+                    "uuid": "p4-sw1/1==edge-net/eth1"
+                }
+            },
+            "link_endpoint_ids": [
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "p4-sw1"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "1"
+                    }
+                },
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "edge-net"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "eth1"
+                    }
+                }
+            ]
+        },
+        {
+            "link_id": {
+                "link_uuid": {
+                    "uuid": "edge-net/eth1==p4-sw1/1"
+                }
+            },
+            "link_endpoint_ids": [
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "edge-net"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "eth1"
+                    }
+                },
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "p4-sw1"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "1"
+                    }
+                }
+            ]
+        },
+        {
+            "link_id": {
+                "link_uuid": {
+                    "uuid": "p4-sw1/2==corporate-net/eth1"
+                }
+            },
+            "link_endpoint_ids": [
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "p4-sw1"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "2"
+                    }
+                },
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "corporate-net"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "eth1"
+                    }
+                }
+            ]
+        },
+        {
+            "link_id": {
+                "link_uuid": {
+                    "uuid": "corporate-net/eth1==p4-sw1/2"
+                }
+            },
+            "link_endpoint_ids": [
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "corporate-net"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "eth1"
+                    }
+                },
+                {
+                    "device_id": {
+                        "device_uuid": {
+                            "uuid": "p4-sw1"
+                        }
+                    },
+                    "endpoint_uuid": {
+                        "uuid": "2"
+                    }
+                }
+            ]
+        }
+    ]
+}
diff --git a/src/tests/p4-int-routing-acl/p4src/README.md b/src/tests/p4-int-routing-acl/p4src/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..07e34066fbc19fb3f1778a64c65723513b8081df
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/p4src/README.md
@@ -0,0 +1,24 @@
+# P4 Sources
+
+We employ the P4 sources from the [fabric-tna](https://github.com/stratum/fabric-tna/tree/main) project.
+
+To compile a relevant P4 target binary and P4 info file, do:
+
+```shell
+git clone https://github.com/stratum/fabric-tna.git
+
+cd ./fabric-tna
+
+make fabric-int-v1model
+```
+
+At this point, a relevant `build.sh` script is being run and a P4 program is being compiled.
+
+After a successful compilation, some artifacts (p4info.txt, bmv2.json) will be generated and placed into `build` sub-folder.
+
+```shell
+ls build/fabric-int/bmv2 
+_pp.p4     bmv2.json  p4info.txt
+```
+
+These artefacts are now moved into this repository.
diff --git a/src/tests/p4-int-routing-acl/p4src/_pp.p4 b/src/tests/p4-int-routing-acl/p4src/_pp.p4
new file mode 100644
index 0000000000000000000000000000000000000000..1b2b718a1e96f807e1da6139ababf9e71a881cd0
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/p4src/_pp.p4
@@ -0,0 +1,2037 @@
+error {
+    PacketRejectedByParser
+}
+#include <core.p4>
+#define V1MODEL_VERSION 20180101
+#include <v1model.p4>
+
+typedef bit<9> PortId_t;
+typedef bit<16> MulticastGroupId_t;
+typedef bit<5> QueueId_t;
+typedef bit<10> MirrorId_t;
+typedef bit<16> ReplicationId_t;
+enum bit<2> MeterColor_t {
+    GREEN = 0,
+    YELLOW = 1,
+    RED = 2
+}
+
+typedef bit<1> BOOL;
+typedef bit<8> FieldListIndex_t;
+const PortId_t BMV2_DROP_PORT = 511;
+const PortId_t FAKE_V1MODEL_RECIRC_PORT = 510;
+const FieldListIndex_t PRESERVE_INT_MD = 241;
+const FieldListIndex_t PRESERVE_INGRESS_PORT = 231;
+const FieldListIndex_t NO_PRESERVATION = 0;
+typedef bit<3> fwd_type_t;
+typedef bit<32> next_id_t;
+typedef bit<20> mpls_label_t;
+typedef bit<48> mac_addr_t;
+typedef bit<12> vlan_id_t;
+typedef bit<32> ipv4_addr_t;
+typedef bit<16> l4_port_t;
+typedef bit<32> flow_hash_t;
+typedef bit<4> slice_id_t;
+typedef bit<2> tc_t;
+typedef bit<(4 + 2)> slice_tc_t;
+type bit<9> FabricPortId_t;
+const bit<8> DEFAULT_APP_ID = 0;
+const slice_id_t DEFAULT_SLICE_ID = 0;
+const tc_t DEFAULT_TC = 0;
+const QueueId_t QUEUE_ID_BEST_EFFORT = 0;
+typedef bit<32> teid_t;
+typedef bit<12> upf_ctr_idx_t;
+typedef bit<8> tun_peer_id_t;
+typedef bit<32> ue_session_id_t;
+typedef bit<15> session_meter_idx_t;
+typedef bit<15> app_meter_idx_t;
+const session_meter_idx_t DEFAULT_SESSION_METER_IDX = 0;
+const app_meter_idx_t DEFAULT_APP_METER_IDX = 0;
+enum bit<2> EncapPresence {
+    NONE = 0x0,
+    GTPU_ONLY = 0x1,
+    GTPU_WITH_PSC = 0x2,
+    VXLAN = 0x3
+}
+
+const bit<16> GTPU_UDP_PORT = 2152;
+const bit<3> GTP_V1 = 3w1;
+const bit<8> GTPU_GPDU = 0xff;
+const bit<1> GTP_PROTOCOL_TYPE_GTP = 1w1;
+const bit<8> GTPU_NEXT_EXT_NONE = 0x0;
+const bit<8> GTPU_NEXT_EXT_PSC = 0x85;
+const bit<4> GTPU_EXT_PSC_TYPE_DL = 4w0;
+const bit<4> GTPU_EXT_PSC_TYPE_UL = 4w1;
+const bit<8> GTPU_EXT_PSC_LEN = 8w1;
+enum bit<2> PortType_t {
+    UNKNOWN = 0x0,
+    EDGE = 0x1,
+    INFRA = 0x2,
+    INTERNAL = 0x3
+}
+
+const bit<16> ETHERTYPE_QINQ = 0x88a8;
+const bit<16> ETHERTYPE_QINQ_NON_STD = 0x9100;
+const bit<16> ETHERTYPE_VLAN = 0x8100;
+const bit<16> ETHERTYPE_MPLS = 0x8847;
+const bit<16> ETHERTYPE_MPLS_MULTICAST = 0x8848;
+const bit<16> ETHERTYPE_IPV4 = 0x800;
+const bit<16> ETHERTYPE_IPV6 = 0x86dd;
+const bit<16> ETHERTYPE_ARP = 0x806;
+const bit<16> ETHERTYPE_PPPOED = 0x8863;
+const bit<16> ETHERTYPE_PPPOES = 0x8864;
+const bit<16> ETHERTYPE_PACKET_OUT = 0xbf01;
+const bit<16> ETHERTYPE_CPU_LOOPBACK_INGRESS = 0xbf02;
+const bit<16> ETHERTYPE_CPU_LOOPBACK_EGRESS = 0xbf03;
+const bit<16> ETHERTYPE_INT_WIP_IPV4 = 0xbf04;
+const bit<16> ETHERTYPE_INT_WIP_MPLS = 0xbf05;
+const bit<16> PPPOE_PROTOCOL_IP4 = 0x21;
+const bit<16> PPPOE_PROTOCOL_IP6 = 0x57;
+const bit<16> PPPOE_PROTOCOL_MPLS = 0x281;
+const bit<8> PROTO_ICMP = 1;
+const bit<8> PROTO_TCP = 6;
+const bit<8> PROTO_UDP = 17;
+const bit<8> PROTO_ICMPV6 = 58;
+const bit<4> IPV4_MIN_IHL = 5;
+const fwd_type_t FWD_BRIDGING = 0;
+const fwd_type_t FWD_MPLS = 1;
+const fwd_type_t FWD_IPV4_UNICAST = 2;
+const fwd_type_t FWD_IPV4_MULTICAST = 3;
+const fwd_type_t FWD_IPV6_UNICAST = 4;
+const fwd_type_t FWD_IPV6_MULTICAST = 5;
+const fwd_type_t FWD_UNKNOWN = 7;
+const vlan_id_t DEFAULT_VLAN_ID = 12w4094;
+const bit<8> DEFAULT_MPLS_TTL = 64;
+const bit<8> DEFAULT_IPV4_TTL = 64;
+const bit<16> VXLAN_UDP_PORT = 4789;
+const bit<7> RECIRC_PORT_NUMBER = 7w68;
+action nop() {
+    NoAction();
+}
+enum bit<8> BridgedMdType_t {
+    INVALID = 0,
+    INGRESS_TO_EGRESS = 1,
+    EGRESS_MIRROR = 2,
+    INGRESS_MIRROR = 3,
+    INT_INGRESS_DROP = 4,
+    DEFLECTED = 5
+}
+
+enum bit<3> FabricMirrorType_t {
+    INVALID = 0,
+    INT_REPORT = 1,
+    PACKET_IN = 2
+}
+
+const MirrorId_t PACKET_IN_MIRROR_SESSION_ID = 0x1ff;
+enum bit<2> CpuLoopbackMode_t {
+    DISABLED = 0,
+    DIRECT = 1,
+    INGRESS = 2
+}
+
+const bit<4> NPROTO_ETHERNET = 0;
+const bit<4> NPROTO_TELEMETRY_DROP_HEADER = 1;
+const bit<4> NPROTO_TELEMETRY_SWITCH_LOCAL_HEADER = 2;
+const bit<16> REPORT_FIXED_HEADER_BYTES = 12;
+const bit<16> DROP_REPORT_HEADER_BYTES = 12;
+const bit<16> LOCAL_REPORT_HEADER_BYTES = 16;
+const bit<8> INT_MIRROR_SESSION_BASE = 0x80;
+const bit<10> V1MODEL_INT_MIRROR_SESSION = 0x1fa;
+typedef bit<16> flow_report_filter_index_t;
+typedef bit<16> drop_report_filter_index_t;
+typedef bit<12> queue_report_filter_index_t;
+typedef bit<16> queue_report_quota_t;
+typedef bit<3> IntReportType_t;
+const IntReportType_t INT_REPORT_TYPE_NO_REPORT = 0;
+const IntReportType_t INT_REPORT_TYPE_DROP = 4;
+const IntReportType_t INT_REPORT_TYPE_QUEUE = 2;
+const IntReportType_t INT_REPORT_TYPE_FLOW = 1;
+typedef bit<8> IntWipType_t;
+const IntWipType_t INT_IS_NOT_WIP = 0;
+const IntWipType_t INT_IS_WIP = 1;
+const IntWipType_t INT_IS_WIP_WITH_MPLS = 2;
+const bit<16> INT_WIP_ADJUST_IP_BYTES = 14 - 1 ^ 0xffff;
+const bit<16> INT_WIP_ADJUST_UDP_BYTES = INT_WIP_ADJUST_IP_BYTES - 20;
+const bit<16> INT_WIP_ADJUST_IP_MPLS_BYTES = INT_WIP_ADJUST_IP_BYTES - 4;
+const bit<16> INT_WIP_ADJUST_UDP_MPLS_BYTES = INT_WIP_ADJUST_UDP_BYTES - 4;
+enum bit<8> IntDropReason_t {
+    DROP_REASON_UNKNOWN = 0,
+    DROP_REASON_IP_TTL_ZERO = 26,
+    DROP_REASON_ROUTING_V4_MISS = 29,
+    DROP_REASON_ROUTING_V6_MISS = 29,
+    DROP_REASON_PORT_VLAN_MAPPING_MISS = 55,
+    DROP_REASON_TRAFFIC_MANAGER = 71,
+    DROP_REASON_ACL_DENY = 80,
+    DROP_REASON_BRIDGING_MISS = 89,
+    DROP_REASON_NEXT_ID_MISS = 128,
+    DROP_REASON_MPLS_MISS = 129,
+    DROP_REASON_EGRESS_NEXT_MISS = 130,
+    DROP_REASON_MPLS_TTL_ZERO = 131,
+    DROP_REASON_UPF_DL_SESSION_MISS = 132,
+    DROP_REASON_UPF_DL_SESSION_DROP = 133,
+    DROP_REASON_UPF_UL_SESSION_MISS = 134,
+    DROP_REASON_UPF_UL_SESSION_DROP = 135,
+    DROP_REASON_UPF_DL_SESSION_DROP_BUFF = 136,
+    DROP_REASON_UPF_DL_TERMINATION_MISS = 137,
+    DROP_REASON_UPF_DL_TERMINATION_DROP = 138,
+    DROP_REASON_UPF_UL_TERMINATION_MISS = 139,
+    DROP_REASON_UPF_UL_TERMINATION_DROP = 140,
+    DROP_REASON_UPF_UPLINK_RECIRC_DENY = 150,
+    DROP_REASON_INGRESS_QOS_METER = 160,
+    DROP_REASON_ROUTING_V4_DROP = 170,
+    DROP_REASON_ROUTING_V6_DROP = 171
+}
+
+@controller_header("packet_in") header packet_in_header_t {
+    FabricPortId_t ingress_port;
+    bit<7>         _pad0;
+}
+
+@controller_header("packet_out") header packet_out_header_t {
+    @padding 
+    bit<7>            pad0;
+    FabricPortId_t    egress_port;
+    @padding 
+    bit<3>            pad1;
+    QueueId_t         queue_id;
+    @padding 
+    bit<5>            pad2;
+    CpuLoopbackMode_t cpu_loopback_mode;
+    bit<1>            do_forwarding;
+    @padding 
+    bit<16>           pad3;
+    @padding 
+    bit<48>           pad4;
+    bit<16>           ether_type;
+}
+
+header ethernet_t {
+    mac_addr_t dst_addr;
+    mac_addr_t src_addr;
+}
+
+header eth_type_t {
+    bit<16> value;
+}
+
+header vlan_tag_t {
+    bit<16>   eth_type;
+    bit<3>    pri;
+    bit<1>    cfi;
+    vlan_id_t vlan_id;
+}
+
+header mpls_t {
+    mpls_label_t label;
+    bit<3>       tc;
+    bit<1>       bos;
+    bit<8>       ttl;
+}
+
+header pppoe_t {
+    bit<4>  version;
+    bit<4>  type_id;
+    bit<8>  code;
+    bit<16> session_id;
+    bit<16> length;
+    bit<16> protocol;
+}
+
+header ipv4_t {
+    bit<4>  version;
+    bit<4>  ihl;
+    bit<6>  dscp;
+    bit<2>  ecn;
+    bit<16> total_len;
+    bit<16> identification;
+    bit<3>  flags;
+    bit<13> frag_offset;
+    bit<8>  ttl;
+    bit<8>  protocol;
+    bit<16> hdr_checksum;
+    bit<32> src_addr;
+    bit<32> dst_addr;
+}
+
+header ipv6_t {
+    bit<4>   version;
+    bit<8>   traffic_class;
+    bit<20>  flow_label;
+    bit<16>  payload_len;
+    bit<8>   next_hdr;
+    bit<8>   hop_limit;
+    bit<128> src_addr;
+    bit<128> dst_addr;
+}
+
+header tcp_t {
+    bit<16> sport;
+    bit<16> dport;
+}
+
+header udp_t {
+    bit<16> sport;
+    bit<16> dport;
+    bit<16> len;
+    bit<16> checksum;
+}
+
+header icmp_t {
+    bit<8> icmp_type;
+    bit<8> icmp_code;
+}
+
+header vxlan_t {
+    bit<8>  flags;
+    bit<24> reserved;
+    bit<24> vni;
+    bit<8>  reserved_2;
+}
+
+header gtpu_t {
+    bit<3>  version;
+    bit<1>  pt;
+    bit<1>  spare;
+    bit<1>  ex_flag;
+    bit<1>  seq_flag;
+    bit<1>  npdu_flag;
+    bit<8>  msgtype;
+    bit<16> msglen;
+    teid_t  teid;
+}
+
+header gtpu_options_t {
+    bit<16> seq_num;
+    bit<8>  n_pdu_num;
+    bit<8>  next_ext;
+}
+
+header gtpu_ext_psc_t {
+    bit<8> len;
+    bit<4> type;
+    bit<4> spare0;
+    bit<1> ppp;
+    bit<1> rqi;
+    bit<6> qfi;
+    bit<8> next_ext;
+}
+
+@flexible struct upf_bridged_metadata_t {
+    tun_peer_id_t tun_peer_id;
+    upf_ctr_idx_t upf_ctr_id;
+    bit<6>        qfi;
+    bool          needs_gtpu_encap;
+    bool          skip_upf;
+    bool          skip_egress_upf_ctr;
+    teid_t        teid;
+    bit<4>        _pad;
+}
+
+@pa_no_overlay("egress" , "hdr.report_fixed_header.rsvd") header report_fixed_header_t {
+    bit<4>  ver;
+    bit<4>  nproto;
+    bit<3>  dqf;
+    bit<15> rsvd;
+    bit<6>  hw_id;
+    bit<32> seq_no;
+    bit<32> ig_tstamp;
+}
+
+@pa_container_size("egress" , "hdr.common_report_header.queue_id" , 8) @pa_container_size("egress" , "hdr.common_report_header.ig_port" , 16) @pa_container_size("egress" , "hdr.common_report_header.eg_port" , 16) @pa_no_overlay("egress" , "hdr.common_report_header.queue_id") @pa_no_overlay("egress" , "hdr.common_report_header.eg_port") header common_report_header_t {
+    bit<32> switch_id;
+    bit<7>  pad1;
+    bit<9>  ig_port;
+    bit<7>  pad2;
+    bit<9>  eg_port;
+    bit<3>  pad3;
+    bit<5>  queue_id;
+}
+
+header drop_report_header_t {
+    bit<8>  drop_reason;
+    @padding 
+    bit<16> pad;
+}
+
+header local_report_header_t {
+    bit<5>  pad1;
+    bit<19> queue_occupancy;
+    bit<32> eg_tstamp;
+}
+
+@pa_no_overlay("egress" , "fabric_md.int_report_md.bmd_type") @pa_no_overlay("egress" , "fabric_md.int_report_md.mirror_type") @pa_no_overlay("egress" , "fabric_md.int_report_md.ig_port") @pa_no_overlay("egress" , "fabric_md.int_report_md.eg_port") @pa_no_overlay("egress" , "fabric_md.int_report_md.queue_id") @pa_no_overlay("egress" , "fabric_md.int_report_md.queue_occupancy") @pa_no_overlay("egress" , "fabric_md.int_report_md.ig_tstamp") @pa_no_overlay("egress" , "fabric_md.int_report_md.eg_tstamp") @pa_no_overlay("egress" , "fabric_md.int_report_md.drop_reason") @pa_no_overlay("egress" , "fabric_md.int_report_md.ip_eth_type") @pa_no_overlay("egress" , "fabric_md.int_report_md.report_type") @pa_no_overlay("egress" , "fabric_md.int_report_md.flow_hash") @pa_no_overlay("egress" , "fabric_md.int_report_md.encap_presence") header int_report_metadata_t {
+    BridgedMdType_t    bmd_type;
+    @padding 
+    bit<5>             _pad0;
+    FabricMirrorType_t mirror_type;
+    @padding 
+    bit<7>             _pad1;
+    bit<9>             ig_port;
+    @padding 
+    bit<7>             _pad2;
+    bit<9>             eg_port;
+    @padding 
+    bit<3>             _pad3;
+    bit<5>             queue_id;
+    @padding 
+    bit<5>             _pad4;
+    bit<19>            queue_occupancy;
+    bit<32>            ig_tstamp;
+    bit<32>            eg_tstamp;
+    bit<8>             drop_reason;
+    bit<16>            ip_eth_type;
+    @padding 
+    bit<6>             _pad5;
+    EncapPresence      encap_presence;
+    bit<3>             report_type;
+    @padding 
+    bit<5>             _pad6;
+    flow_hash_t        flow_hash;
+}
+
+@flexible struct int_bridged_metadata_t {
+    bit<3>          report_type;
+    MirrorId_t      mirror_session_id;
+    IntDropReason_t drop_reason;
+    QueueId_t       queue_id;
+    PortId_t        egress_port;
+    IntWipType_t    wip_type;
+}
+
+struct int_metadata_t {
+    bit<32> hop_latency;
+    bit<48> timestamp;
+    bool    vlan_stripped;
+    bool    queue_report;
+}
+
+@flexible struct bridged_metadata_base_t {
+    flow_hash_t   inner_hash;
+    mpls_label_t  mpls_label;
+    PortId_t      ig_port;
+    bool          is_multicast;
+    fwd_type_t    fwd_type;
+    vlan_id_t     vlan_id;
+    EncapPresence encap_presence;
+    bit<8>        mpls_ttl;
+    bit<48>       ig_tstamp;
+    bit<16>       ip_eth_type;
+    bit<10>       stats_flow_id;
+    slice_tc_t    slice_tc;
+}
+
+header bridged_metadata_t {
+    BridgedMdType_t         bmd_type;
+    bridged_metadata_base_t base;
+    int_bridged_metadata_t  int_bmd;
+    bit<1>                  _pad0;
+    bit<5>                  _pad2;
+}
+
+struct lookup_metadata_t {
+    mac_addr_t eth_dst;
+    mac_addr_t eth_src;
+    bit<16>    eth_type;
+    vlan_id_t  vlan_id;
+    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;
+}
+
+struct common_mirror_metadata_t {
+    MirrorId_t      mirror_session_id;
+    BridgedMdType_t bmd_type;
+}
+
+@pa_auto_init_metadata struct fabric_ingress_metadata_t {
+    bridged_metadata_t       bridged;
+    flow_hash_t              ecmp_hash;
+    lookup_metadata_t        lkp;
+    bit<32>                  routing_ipv4_dst;
+    bool                     skip_forwarding;
+    bool                     skip_next;
+    next_id_t                next_id;
+    bool                     egress_port_set;
+    bool                     punt_to_cpu;
+    bool                     ipv4_checksum_err;
+    bool                     inner_ipv4_checksum_err;
+    slice_id_t               slice_id;
+    tc_t                     tc;
+    bool                     tc_unknown;
+    bool                     is_upf_hit;
+    slice_id_t               upf_slice_id;
+    tc_t                     upf_tc;
+    MeterColor_t             upf_meter_color;
+    PortType_t               ig_port_type;
+    common_mirror_metadata_t mirror;
+}
+
+header common_egress_metadata_t {
+    BridgedMdType_t    bmd_type;
+    @padding 
+    bit<5>             _pad;
+    FabricMirrorType_t mirror_type;
+}
+
+header packet_in_mirror_metadata_t {
+    BridgedMdType_t    bmd_type;
+    @padding 
+    bit<5>             _pad0;
+    FabricMirrorType_t mirror_type;
+    @padding 
+    bit<7>             _pad1;
+    PortId_t           ingress_port;
+}
+
+@pa_auto_init_metadata struct fabric_egress_metadata_t {
+    bridged_metadata_t    bridged;
+    PortId_t              cpu_port;
+    int_report_metadata_t int_report_md;
+    int_metadata_t        int_md;
+    bit<16>               int_ipv4_len;
+    bool                  is_int_recirc;
+    bit<16>               pkt_length;
+}
+
+header fake_ethernet_t {
+    @padding 
+    bit<48> _pad0;
+    @padding 
+    bit<48> _pad1;
+    bit<16> ether_type;
+}
+
+struct ingress_headers_t {
+    packet_out_header_t packet_out;
+    packet_in_header_t  packet_in;
+    fake_ethernet_t     fake_ethernet;
+    ethernet_t          ethernet;
+    vlan_tag_t          vlan_tag;
+    eth_type_t          eth_type;
+    mpls_t              mpls;
+    ipv4_t              ipv4;
+    ipv6_t              ipv6;
+    tcp_t               tcp;
+    udp_t               udp;
+    icmp_t              icmp;
+    gtpu_t              gtpu;
+    gtpu_options_t      gtpu_options;
+    gtpu_ext_psc_t      gtpu_ext_psc;
+    vxlan_t             vxlan;
+    ethernet_t          inner_ethernet;
+    eth_type_t          inner_eth_type;
+    ipv4_t              inner_ipv4;
+    tcp_t               inner_tcp;
+    udp_t               inner_udp;
+    icmp_t              inner_icmp;
+}
+
+struct egress_headers_t {
+    packet_in_header_t     packet_in;
+    fake_ethernet_t        fake_ethernet;
+    ethernet_t             report_ethernet;
+    eth_type_t             report_eth_type;
+    mpls_t                 report_mpls;
+    ipv4_t                 report_ipv4;
+    udp_t                  report_udp;
+    report_fixed_header_t  report_fixed_header;
+    common_report_header_t common_report_header;
+    local_report_header_t  local_report_header;
+    drop_report_header_t   drop_report_header;
+    ethernet_t             ethernet;
+    vlan_tag_t             vlan_tag;
+    eth_type_t             eth_type;
+    mpls_t                 mpls;
+    ipv4_t                 ipv4;
+    ipv6_t                 ipv6;
+    udp_t                  udp;
+}
+
+struct fabric_v1model_metadata_t {
+    bool                      skip_egress;
+    bool                      do_upf_uplink_recirc;
+    bit<1>                    drop_ctl;
+    IntReportType_t           int_mirror_type;
+    fabric_ingress_metadata_t ingress;
+    fabric_egress_metadata_t  egress;
+    @field_list(PRESERVE_INT_MD) 
+    IntReportType_t           recirc_preserved_report_type;
+    @field_list(PRESERVE_INT_MD) 
+    FabricPortId_t            recirc_preserved_egress_port;
+    @field_list(PRESERVE_INT_MD) 
+    IntDropReason_t           recirc_preserved_drop_reason;
+    @field_list(PRESERVE_INGRESS_PORT) 
+    FabricPortId_t            recirc_preserved_ingress_port;
+}
+
+struct v1model_header_t {
+    ingress_headers_t ingress;
+    egress_headers_t  egress;
+}
+
+parser FabricParser(packet_in packet, out v1model_header_t hdr, inout fabric_v1model_metadata_t fabric_md, inout standard_metadata_t standard_md) {
+    state start {
+        fabric_md.egress.pkt_length = (bit<16>)standard_md.packet_length;
+        fabric_md.ingress.bridged.setValid();
+        fabric_md.ingress.bridged.bmd_type = BridgedMdType_t.INGRESS_TO_EGRESS;
+        fabric_md.ingress.bridged.base.ig_port = standard_md.ingress_port;
+        fabric_md.recirc_preserved_ingress_port = (FabricPortId_t)standard_md.ingress_port;
+        fabric_md.ingress.bridged.base.ig_tstamp = standard_md.ingress_global_timestamp;
+        fabric_md.ingress.egress_port_set = false;
+        fabric_md.ingress.punt_to_cpu = false;
+        fabric_md.ingress.bridged.base.ip_eth_type = 0;
+        fabric_md.ingress.bridged.int_bmd.drop_reason = IntDropReason_t.DROP_REASON_UNKNOWN;
+        fabric_md.ingress.bridged.int_bmd.wip_type = INT_IS_NOT_WIP;
+        fabric_md.ingress.bridged.base.encap_presence = EncapPresence.NONE;
+        fabric_md.ingress.upf_meter_color = MeterColor_t.GREEN;
+        transition check_ethernet;
+    }
+    state check_ethernet {
+        fake_ethernet_t tmp = packet.lookahead<fake_ethernet_t>();
+        transition select(tmp.ether_type) {
+            ETHERTYPE_CPU_LOOPBACK_INGRESS: parse_fake_ethernet;
+            ETHERTYPE_CPU_LOOPBACK_EGRESS: parse_fake_ethernet_and_accept;
+            ETHERTYPE_PACKET_OUT: check_packet_out;
+            ETHERTYPE_INT_WIP_IPV4: parse_int_wip_ipv4;
+            ETHERTYPE_INT_WIP_MPLS: parse_int_wip_mpls;
+            default: parse_ethernet;
+        }
+    }
+    state check_packet_out {
+        packet_out_header_t tmp = packet.lookahead<packet_out_header_t>();
+        transition select(tmp.do_forwarding) {
+            0: parse_packet_out_and_accept;
+            default: strip_packet_out;
+        }
+    }
+    state parse_int_wip_ipv4 {
+        hdr.ingress.ethernet.setValid();
+        hdr.ingress.eth_type.setValid();
+        hdr.ingress.eth_type.value = ETHERTYPE_IPV4;
+        fabric_md.ingress.bridged.int_bmd.wip_type = INT_IS_WIP;
+        fabric_md.ingress.bridged.base.mpls_label = 0;
+        fabric_md.ingress.bridged.base.mpls_ttl = DEFAULT_MPLS_TTL + 1;
+        packet.advance(14 * 8);
+        transition parse_ipv4;
+    }
+    state parse_int_wip_mpls {
+        hdr.ingress.ethernet.setValid();
+        hdr.ingress.eth_type.setValid();
+        hdr.ingress.eth_type.value = ETHERTYPE_MPLS;
+        fabric_md.ingress.bridged.int_bmd.wip_type = INT_IS_WIP_WITH_MPLS;
+        packet.advance(14 * 8);
+        transition parse_mpls;
+    }
+    state parse_packet_out_and_accept {
+        packet.extract(hdr.ingress.packet_out);
+        transition accept;
+    }
+    state strip_packet_out {
+        packet.advance(14 * 8);
+        transition parse_ethernet;
+    }
+    state parse_fake_ethernet {
+        packet.extract(hdr.ingress.fake_ethernet);
+        fake_ethernet_t tmp = packet.lookahead<fake_ethernet_t>();
+        transition select(tmp.ether_type) {
+            ETHERTYPE_INT_WIP_IPV4: parse_int_wip_ipv4;
+            ETHERTYPE_INT_WIP_MPLS: parse_int_wip_mpls;
+            default: parse_ethernet;
+        }
+    }
+    state parse_fake_ethernet_and_accept {
+        packet.extract(hdr.ingress.fake_ethernet);
+        transition accept;
+    }
+    state parse_ethernet {
+        packet.extract(hdr.ingress.ethernet);
+        transition select(packet.lookahead<bit<16>>()) {
+            ETHERTYPE_QINQ: parse_vlan_tag;
+            ETHERTYPE_VLAN &&& 0xefff: parse_vlan_tag;
+            default: parse_untagged;
+        }
+    }
+    state parse_vlan_tag {
+        packet.extract(hdr.ingress.vlan_tag);
+        fabric_md.ingress.bridged.base.vlan_id = hdr.ingress.vlan_tag.vlan_id;
+        transition select(packet.lookahead<bit<16>>()) {
+            default: parse_eth_type;
+        }
+    }
+    state parse_untagged {
+        fabric_md.ingress.bridged.base.vlan_id = DEFAULT_VLAN_ID;
+        transition parse_eth_type;
+    }
+    state parse_eth_type {
+        packet.extract(hdr.ingress.eth_type);
+        transition select(hdr.ingress.eth_type.value) {
+            ETHERTYPE_MPLS: parse_mpls;
+            ETHERTYPE_IPV4: parse_non_mpls;
+            ETHERTYPE_IPV6: parse_non_mpls;
+            default: accept;
+        }
+    }
+    state parse_mpls {
+        packet.extract(hdr.ingress.mpls);
+        fabric_md.ingress.bridged.base.mpls_label = hdr.ingress.mpls.label;
+        fabric_md.ingress.bridged.base.mpls_ttl = hdr.ingress.mpls.ttl;
+        transition select(packet.lookahead<bit<4>>()) {
+            4: parse_ipv4;
+            6: parse_ipv6;
+            default: reject_packet;
+        }
+    }
+    state reject_packet {
+        verify(false, error.PacketRejectedByParser);
+        transition accept;
+    }
+    state parse_non_mpls {
+        fabric_md.ingress.bridged.base.mpls_label = 0;
+        fabric_md.ingress.bridged.base.mpls_ttl = DEFAULT_MPLS_TTL + 1;
+        transition select(hdr.ingress.eth_type.value) {
+            ETHERTYPE_IPV4: parse_ipv4;
+            ETHERTYPE_IPV6: parse_ipv6;
+            default: accept;
+        }
+    }
+    state parse_ipv4 {
+        packet.extract(hdr.ingress.ipv4);
+        fabric_md.ingress.routing_ipv4_dst = hdr.ingress.ipv4.dst_addr;
+        fabric_md.ingress.bridged.base.ip_eth_type = ETHERTYPE_IPV4;
+        transition select(hdr.ingress.ipv4.protocol) {
+            PROTO_TCP: parse_tcp;
+            PROTO_UDP: parse_udp;
+            PROTO_ICMP: parse_icmp;
+            default: accept;
+        }
+    }
+    state parse_ipv6 {
+        packet.extract(hdr.ingress.ipv6);
+        fabric_md.ingress.bridged.base.ip_eth_type = ETHERTYPE_IPV6;
+        transition select(hdr.ingress.ipv6.next_hdr) {
+            PROTO_TCP: parse_tcp;
+            PROTO_UDP: parse_udp;
+            PROTO_ICMPV6: parse_icmp;
+            default: accept;
+        }
+    }
+    state parse_icmp {
+        packet.extract(hdr.ingress.icmp);
+        transition accept;
+    }
+    state parse_tcp {
+        packet.extract(hdr.ingress.tcp);
+        transition accept;
+    }
+    state parse_udp {
+        packet.extract(hdr.ingress.udp);
+        gtpu_t gtpu = packet.lookahead<gtpu_t>();
+        transition select(hdr.ingress.udp.dport, gtpu.version, gtpu.msgtype) {
+            (GTPU_UDP_PORT, GTP_V1, GTPU_GPDU): parse_gtpu;
+            (VXLAN_UDP_PORT, default, default): parse_vxlan;
+            default: accept;
+        }
+    }
+    state parse_gtpu {
+        packet.extract(hdr.ingress.gtpu);
+        transition select(hdr.ingress.gtpu.ex_flag, hdr.ingress.gtpu.seq_flag, hdr.ingress.gtpu.npdu_flag) {
+            (0, 0, 0): set_gtpu_only;
+            default: parse_gtpu_options;
+        }
+    }
+    state set_gtpu_only {
+        fabric_md.ingress.bridged.base.encap_presence = EncapPresence.GTPU_ONLY;
+        transition parse_inner_ipv4;
+    }
+    state parse_gtpu_options {
+        packet.extract(hdr.ingress.gtpu_options);
+        bit<8> gtpu_ext_len = packet.lookahead<bit<8>>();
+        transition select(hdr.ingress.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.ingress.gtpu_ext_psc);
+        fabric_md.ingress.bridged.base.encap_presence = EncapPresence.GTPU_WITH_PSC;
+        transition select(hdr.ingress.gtpu_ext_psc.next_ext) {
+            GTPU_NEXT_EXT_NONE: parse_inner_ipv4;
+            default: accept;
+        }
+    }
+    state parse_vxlan {
+        packet.extract(hdr.ingress.vxlan);
+        fabric_md.ingress.bridged.base.encap_presence = EncapPresence.VXLAN;
+        transition parse_inner_ethernet;
+    }
+    state parse_inner_ethernet {
+        packet.extract(hdr.ingress.inner_ethernet);
+        packet.extract(hdr.ingress.inner_eth_type);
+        transition select(hdr.ingress.inner_eth_type.value) {
+            ETHERTYPE_IPV4: parse_inner_ipv4;
+            default: accept;
+        }
+    }
+    state parse_inner_ipv4 {
+        packet.extract(hdr.ingress.inner_ipv4);
+        transition select(hdr.ingress.inner_ipv4.protocol) {
+            PROTO_TCP: parse_inner_tcp;
+            PROTO_UDP: parse_inner_udp;
+            PROTO_ICMP: parse_inner_icmp;
+            default: accept;
+        }
+    }
+    state parse_inner_tcp {
+        packet.extract(hdr.ingress.inner_tcp);
+        transition accept;
+    }
+    state parse_inner_udp {
+        packet.extract(hdr.ingress.inner_udp);
+        transition accept;
+    }
+    state parse_inner_icmp {
+        packet.extract(hdr.ingress.inner_icmp);
+        transition accept;
+    }
+}
+
+control FabricDeparser(packet_out packet, in v1model_header_t hdr) {
+    apply {
+        packet.emit(hdr.ingress.fake_ethernet);
+        packet.emit(hdr.ingress.packet_in);
+        packet.emit(hdr.egress.report_ethernet);
+        packet.emit(hdr.egress.report_eth_type);
+        packet.emit(hdr.egress.report_mpls);
+        packet.emit(hdr.egress.report_ipv4);
+        packet.emit(hdr.egress.report_udp);
+        packet.emit(hdr.egress.report_fixed_header);
+        packet.emit(hdr.egress.common_report_header);
+        packet.emit(hdr.egress.local_report_header);
+        packet.emit(hdr.egress.drop_report_header);
+        packet.emit(hdr.ingress.ethernet);
+        packet.emit(hdr.ingress.vlan_tag);
+        packet.emit(hdr.ingress.eth_type);
+        packet.emit(hdr.ingress.mpls);
+        packet.emit(hdr.ingress.ipv4);
+        packet.emit(hdr.ingress.ipv6);
+        packet.emit(hdr.ingress.tcp);
+        packet.emit(hdr.ingress.udp);
+        packet.emit(hdr.ingress.icmp);
+        packet.emit(hdr.ingress.gtpu);
+        packet.emit(hdr.ingress.gtpu_options);
+        packet.emit(hdr.ingress.gtpu_ext_psc);
+        packet.emit(hdr.ingress.vxlan);
+        packet.emit(hdr.ingress.inner_ethernet);
+        packet.emit(hdr.ingress.inner_eth_type);
+        packet.emit(hdr.ingress.inner_ipv4);
+        packet.emit(hdr.ingress.inner_tcp);
+        packet.emit(hdr.ingress.inner_udp);
+        packet.emit(hdr.ingress.inner_icmp);
+    }
+}
+
+control Acl(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout FabricPortId_t recirc_preserved_egress_port, inout bit<1> drop_ctl) {
+    direct_counter(CounterType.packets_and_bytes) acl_counter;
+    action set_next_id_acl(next_id_t next_id) {
+        fabric_md.next_id = next_id;
+        acl_counter.count();
+        fabric_md.skip_next = false;
+        drop_ctl = 0;
+    }
+    action copy_to_cpu() {
+        clone_preserving_field_list(CloneType.I2E, (bit<32>)PACKET_IN_MIRROR_SESSION_ID, PRESERVE_INGRESS_PORT);
+        acl_counter.count();
+    }
+    action punt_to_cpu() {
+        copy_to_cpu();
+        fabric_md.skip_next = true;
+        fabric_md.punt_to_cpu = true;
+        drop_ctl = 1;
+    }
+    action drop() {
+        drop_ctl = 1;
+        fabric_md.skip_next = true;
+        fabric_md.bridged.int_bmd.drop_reason = IntDropReason_t.DROP_REASON_ACL_DENY;
+        acl_counter.count();
+    }
+    action set_output_port(FabricPortId_t port_num) {
+        standard_md.egress_spec = (PortId_t)port_num;
+        recirc_preserved_egress_port = port_num;
+        fabric_md.egress_port_set = true;
+        fabric_md.skip_next = true;
+        drop_ctl = 0;
+        acl_counter.count();
+    }
+    action nop_acl() {
+        acl_counter.count();
+    }
+    table acl {
+        key = {
+            fabric_md.bridged.base.ig_port: ternary @name("ig_port") ;
+            fabric_md.lkp.eth_dst         : ternary @name("eth_dst") ;
+            fabric_md.lkp.eth_src         : ternary @name("eth_src") ;
+            fabric_md.lkp.vlan_id         : ternary @name("vlan_id") ;
+            fabric_md.lkp.eth_type        : ternary @name("eth_type") ;
+            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.icmp_type       : ternary @name("icmp_type") ;
+            fabric_md.lkp.icmp_code       : ternary @name("icmp_code") ;
+            fabric_md.lkp.l4_sport        : ternary @name("l4_sport") ;
+            fabric_md.lkp.l4_dport        : ternary @name("l4_dport") ;
+            fabric_md.ig_port_type        : ternary @name("ig_port_type") ;
+        }
+        actions = {
+            set_next_id_acl;
+            punt_to_cpu;
+            copy_to_cpu;
+            drop;
+            set_output_port;
+            nop_acl;
+        }
+        const default_action = nop_acl();
+        size = 1024;
+        counters = acl_counter;
+    }
+    apply {
+        acl.apply();
+    }
+}
+
+control Next(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout FabricPortId_t recirc_preserved_egress_port) {
+    @hidden action output(FabricPortId_t port_num) {
+        standard_md.egress_spec = (PortId_t)port_num;
+        recirc_preserved_egress_port = port_num;
+        fabric_md.egress_port_set = true;
+    }
+    @hidden action rewrite_smac(mac_addr_t smac) {
+        hdr.ethernet.src_addr = smac;
+    }
+    @hidden action rewrite_dmac(mac_addr_t dmac) {
+        hdr.ethernet.dst_addr = dmac;
+    }
+    @hidden action routing(FabricPortId_t port_num, mac_addr_t smac, mac_addr_t dmac) {
+        rewrite_smac(smac);
+        rewrite_dmac(dmac);
+        output(port_num);
+    }
+    direct_counter(CounterType.packets_and_bytes) simple_counter;
+    action output_simple(FabricPortId_t port_num) {
+        output(port_num);
+        simple_counter.count();
+    }
+    action routing_simple(FabricPortId_t port_num, mac_addr_t smac, mac_addr_t dmac) {
+        routing(port_num, smac, dmac);
+        simple_counter.count();
+    }
+    table simple {
+        key = {
+            fabric_md.next_id: exact @name("next_id") ;
+        }
+        actions = {
+            output_simple;
+            routing_simple;
+            @defaultonly nop;
+        }
+        const default_action = nop();
+        counters = simple_counter;
+        size = 1024;
+    }
+    @max_group_size(32w16) action_selector(HashAlgorithm.crc16, 32w16, 32w16) hashed_profile;
+    direct_counter(CounterType.packets_and_bytes) hashed_counter;
+    action output_hashed(FabricPortId_t port_num) {
+        output(port_num);
+        hashed_counter.count();
+    }
+    action routing_hashed(FabricPortId_t port_num, mac_addr_t smac, mac_addr_t dmac) {
+        routing(port_num, smac, dmac);
+        hashed_counter.count();
+    }
+    table hashed {
+        key = {
+            fabric_md.next_id  : exact @name("next_id") ;
+            fabric_md.ecmp_hash: selector;
+        }
+        actions = {
+            output_hashed;
+            routing_hashed;
+            @defaultonly nop;
+        }
+        implementation = hashed_profile;
+        counters = hashed_counter;
+        const default_action = nop();
+        size = 1024;
+    }
+    direct_counter(CounterType.packets_and_bytes) multicast_counter;
+    action set_mcast_group_id(MulticastGroupId_t group_id) {
+        standard_md.mcast_grp = group_id;
+        fabric_md.bridged.base.is_multicast = true;
+        multicast_counter.count();
+    }
+    action reset_mcast_group_id() {
+        standard_md.mcast_grp = 0;
+        fabric_md.bridged.base.is_multicast = false;
+    }
+    table multicast {
+        key = {
+            fabric_md.next_id: exact @name("next_id") ;
+        }
+        actions = {
+            set_mcast_group_id;
+            @defaultonly reset_mcast_group_id;
+        }
+        counters = multicast_counter;
+        const default_action = reset_mcast_group_id();
+        size = 1024;
+    }
+    apply {
+        simple.apply();
+        hashed.apply();
+        multicast.apply();
+    }
+}
+
+control EgressNextControl(inout ingress_headers_t hdr, inout fabric_egress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout IntDropReason_t recirc_preserved_drop_reason, inout bit<1> drop_ctl) {
+    @hidden action pop_mpls_if_present() {
+        hdr.mpls.setInvalid();
+        hdr.eth_type.value = fabric_md.bridged.base.ip_eth_type;
+    }
+    @hidden action set_mpls() {
+        hdr.mpls.setValid();
+        hdr.mpls.label = fabric_md.bridged.base.mpls_label;
+        hdr.mpls.tc = 3w0;
+        hdr.mpls.bos = 1w1;
+        hdr.mpls.ttl = fabric_md.bridged.base.mpls_ttl;
+        hdr.eth_type.value = ETHERTYPE_MPLS;
+    }
+    @hidden action push_outer_vlan() {
+        hdr.vlan_tag.setValid();
+        hdr.vlan_tag.eth_type = ETHERTYPE_VLAN;
+        hdr.vlan_tag.vlan_id = fabric_md.bridged.base.vlan_id;
+    }
+    direct_counter(CounterType.packets_and_bytes) egress_vlan_counter;
+    action push_vlan() {
+        push_outer_vlan();
+        egress_vlan_counter.count();
+    }
+    action pop_vlan() {
+        hdr.vlan_tag.setInvalid();
+        egress_vlan_counter.count();
+    }
+    action drop() {
+        drop_ctl = 1;
+        egress_vlan_counter.count();
+        recirc_preserved_drop_reason = IntDropReason_t.DROP_REASON_EGRESS_NEXT_MISS;
+    }
+    table egress_vlan {
+        key = {
+            fabric_md.bridged.base.vlan_id: exact @name("vlan_id") ;
+            standard_md.egress_port       : exact @name("eg_port") ;
+        }
+        actions = {
+            push_vlan;
+            pop_vlan;
+            @defaultonly drop;
+        }
+        const default_action = drop();
+        counters = egress_vlan_counter;
+        size = 1024;
+    }
+    apply {
+        if (fabric_md.bridged.base.is_multicast && fabric_md.bridged.base.ig_port == standard_md.egress_port) {
+            fabric_md.bridged.int_bmd.report_type = INT_REPORT_TYPE_NO_REPORT;
+            drop_ctl = 1;
+        }
+        if (fabric_md.bridged.base.mpls_label == 0) {
+            if (hdr.mpls.isValid()) {
+                pop_mpls_if_present();
+            }
+        } else {
+            set_mpls();
+        }
+        if (!fabric_md.is_int_recirc) {
+            egress_vlan.apply();
+        }
+        bool regular_packet = true;
+        regular_packet = !(fabric_md.bridged.bmd_type == BridgedMdType_t.INT_INGRESS_DROP || fabric_md.bridged.bmd_type == BridgedMdType_t.EGRESS_MIRROR);
+        if (hdr.mpls.isValid()) {
+            hdr.mpls.ttl = hdr.mpls.ttl - 1;
+            if (hdr.mpls.ttl == 0) {
+                drop_ctl = 1;
+                recirc_preserved_drop_reason = IntDropReason_t.DROP_REASON_MPLS_TTL_ZERO;
+            }
+        } else {
+            if (hdr.ipv4.isValid() && fabric_md.bridged.base.fwd_type != FWD_BRIDGING) {
+                if (regular_packet) {
+                    hdr.ipv4.ttl = hdr.ipv4.ttl - 1;
+                }
+                if (hdr.ipv4.ttl == 0) {
+                    drop_ctl = 1;
+                    recirc_preserved_drop_reason = IntDropReason_t.DROP_REASON_IP_TTL_ZERO;
+                }
+            } else if (hdr.ipv6.isValid() && fabric_md.bridged.base.fwd_type != FWD_BRIDGING) {
+                if (regular_packet) {
+                    hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1;
+                }
+                if (hdr.ipv6.hop_limit == 0) {
+                    drop_ctl = 1;
+                    recirc_preserved_drop_reason = IntDropReason_t.DROP_REASON_IP_TTL_ZERO;
+                }
+            }
+        }
+    }
+}
+
+const bit<10> UNSET_FLOW_ID = 0;
+control StatsIngress(in lookup_metadata_t lkp, in PortId_t ig_port, out bit<10> stats_flow_id) {
+    direct_counter(CounterType.packets_and_bytes) flow_counter;
+    action count(bit<10> flow_id) {
+        stats_flow_id = flow_id;
+        flow_counter.count();
+    }
+    table flows {
+        key = {
+            lkp.ipv4_src: ternary @name("ipv4_src") ;
+            lkp.ipv4_dst: ternary @name("ipv4_dst") ;
+            lkp.ip_proto: ternary @name("ip_proto") ;
+            lkp.l4_sport: ternary @name("l4_sport") ;
+            lkp.l4_dport: ternary @name("l4_dport") ;
+            ig_port     : exact @name("ig_port") ;
+        }
+        actions = {
+            count;
+        }
+        const default_action = count(UNSET_FLOW_ID);
+        const size = 1 << 10;
+        counters = flow_counter;
+    }
+    apply {
+        flows.apply();
+    }
+}
+
+control StatsEgress(in bit<10> stats_flow_id, in PortId_t eg_port, in BridgedMdType_t bmd_type) {
+    direct_counter(CounterType.packets_and_bytes) flow_counter;
+    action count() {
+        flow_counter.count();
+    }
+    table flows {
+        key = {
+            stats_flow_id: exact @name("stats_flow_id") ;
+            eg_port      : exact @name("eg_port") ;
+        }
+        actions = {
+            count;
+        }
+        const default_action = count;
+        const size = 1 << 10;
+        counters = flow_counter;
+    }
+    apply {
+        if (bmd_type == BridgedMdType_t.INGRESS_TO_EGRESS) {
+            flows.apply();
+        }
+    }
+}
+
+control Hasher(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md) {
+    flow_hash_t max = 0xffffffff;
+    flow_hash_t base = 0;
+    apply {
+        hash(fabric_md.bridged.base.inner_hash, HashAlgorithm.crc32, base, { fabric_md.lkp.ipv4_src, fabric_md.lkp.ipv4_dst, fabric_md.lkp.ip_proto, fabric_md.lkp.l4_sport, fabric_md.lkp.l4_dport }, max);
+        if (hdr.gtpu.isValid()) {
+            hash(fabric_md.ecmp_hash, HashAlgorithm.crc32, base, { hdr.ipv4.src_addr, hdr.ipv4.dst_addr, hdr.gtpu.teid }, max);
+        } else if (fabric_md.lkp.is_ipv4) {
+            fabric_md.ecmp_hash = fabric_md.bridged.base.inner_hash;
+        } else {
+            fabric_md.bridged.base.inner_hash = 0;
+            hash(fabric_md.ecmp_hash, HashAlgorithm.crc32, base, { hdr.ethernet.dst_addr, hdr.ethernet.src_addr, hdr.eth_type.value }, max);
+        }
+    }
+}
+
+control IngressSliceTcClassifier(inout ingress_headers_t hdr, inout standard_metadata_t standard_md, inout fabric_ingress_metadata_t fabric_md) {
+    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;
+        fabric_md.tc_unknown = false;
+        classifier_stats.count();
+    }
+    action no_classification() {
+        set_slice_id_tc(DEFAULT_SLICE_ID, DEFAULT_TC);
+        fabric_md.tc_unknown = true;
+    }
+    action trust_dscp() {
+        fabric_md.slice_id = hdr.ipv4.dscp[4 + 2 - 1:2];
+        fabric_md.tc = hdr.ipv4.dscp[2 - 1:0];
+        fabric_md.tc_unknown = false;
+        classifier_stats.count();
+    }
+    table classifier {
+        key = {
+            fabric_md.bridged.base.ig_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;
+            @defaultonly no_classification;
+        }
+        const default_action = no_classification();
+        counters = classifier_stats;
+        size = 512;
+    }
+    apply {
+        classifier.apply();
+    }
+}
+
+control IngressQos(inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout bit<1> drop_ctl) {
+    bit<2> packet_color = 2w0;
+    @hidden action use_upf() {
+        fabric_md.bridged.base.slice_tc = fabric_md.upf_slice_id ++ fabric_md.upf_tc;
+    }
+    @hidden action use_default() {
+        fabric_md.bridged.base.slice_tc = fabric_md.slice_id ++ fabric_md.tc;
+    }
+    @hidden table set_slice_tc {
+        key = {
+            fabric_md.is_upf_hit: exact;
+        }
+        actions = {
+            use_upf;
+            use_default;
+        }
+        const size = 2;
+        const entries = {
+                        true : use_upf;
+                        false : use_default;
+        }
+    }
+    meter(1 << 4 + 2, MeterType.bytes) slice_tc_meter;
+    direct_counter(CounterType.packets) queues_stats;
+    action set_queue(QueueId_t qid) {
+        queues_stats.count();
+    }
+    action meter_drop() {
+        drop_ctl = 1;
+        fabric_md.bridged.int_bmd.drop_reason = IntDropReason_t.DROP_REASON_INGRESS_QOS_METER;
+        queues_stats.count();
+    }
+    table queues {
+        key = {
+            fabric_md.bridged.base.slice_tc: exact @name("slice_tc") ;
+            packet_color                   : ternary @name("color") ;
+        }
+        actions = {
+            set_queue;
+            meter_drop;
+        }
+        const default_action = set_queue(QUEUE_ID_BEST_EFFORT);
+        counters = queues_stats;
+        size = 1 << 4 + 2 + 1;
+    }
+    action set_default_tc(tc_t tc) {
+        fabric_md.bridged.base.slice_tc = fabric_md.bridged.base.slice_tc[4 + 2 - 1:2] ++ tc;
+    }
+    table default_tc {
+        key = {
+            fabric_md.bridged.base.slice_tc: ternary @name("slice_tc") ;
+            fabric_md.tc_unknown           : exact @name("tc_unknown") ;
+        }
+        actions = {
+            set_default_tc;
+            @defaultonly nop;
+        }
+        const default_action = nop;
+        size = 1 << 4;
+    }
+    apply {
+        set_slice_tc.apply();
+        default_tc.apply();
+        if (fabric_md.upf_meter_color != MeterColor_t.RED) {
+            slice_tc_meter.execute_meter((bit<32>)fabric_md.bridged.base.slice_tc, packet_color);
+        } else {
+            packet_color = MeterColor_t.RED;
+        }
+        queues.apply();
+    }
+}
+
+control EgressDscpRewriter(inout fabric_egress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout ingress_headers_t hdr) {
+    bit<6> tmp_dscp = fabric_md.bridged.base.slice_tc;
+    action rewrite() {
+    }
+    action clear() {
+        tmp_dscp = 0;
+    }
+    table rewriter {
+        key = {
+            standard_md.egress_port: exact @name("eg_port") ;
+        }
+        actions = {
+            rewrite;
+            clear;
+            @defaultonly nop;
+        }
+        const default_action = nop;
+        size = 512;
+    }
+    apply {
+        if (rewriter.apply().hit) {
+            if (hdr.ipv4.isValid()) {
+                hdr.ipv4.dscp = tmp_dscp;
+            }
+        }
+    }
+}
+
+control FabricVerifyChecksum(inout v1model_header_t hdr, inout fabric_v1model_metadata_t meta) {
+    apply {
+        verify_checksum(hdr.ingress.ipv4.isValid(), { hdr.ingress.ipv4.version, hdr.ingress.ipv4.ihl, hdr.ingress.ipv4.dscp, hdr.ingress.ipv4.ecn, hdr.ingress.ipv4.total_len, hdr.ingress.ipv4.identification, hdr.ingress.ipv4.flags, hdr.ingress.ipv4.frag_offset, hdr.ingress.ipv4.ttl, hdr.ingress.ipv4.protocol, hdr.ingress.ipv4.src_addr, hdr.ingress.ipv4.dst_addr }, hdr.ingress.ipv4.hdr_checksum, HashAlgorithm.csum16);
+        verify_checksum(hdr.ingress.inner_ipv4.isValid(), { hdr.ingress.inner_ipv4.version, hdr.ingress.inner_ipv4.ihl, hdr.ingress.inner_ipv4.dscp, hdr.ingress.inner_ipv4.ecn, hdr.ingress.inner_ipv4.total_len, hdr.ingress.inner_ipv4.identification, hdr.ingress.inner_ipv4.flags, hdr.ingress.inner_ipv4.frag_offset, hdr.ingress.inner_ipv4.ttl, hdr.ingress.inner_ipv4.protocol, hdr.ingress.inner_ipv4.src_addr, hdr.ingress.inner_ipv4.dst_addr }, hdr.ingress.inner_ipv4.hdr_checksum, HashAlgorithm.csum16);
+    }
+}
+
+control FabricComputeChecksum(inout v1model_header_t hdr, inout fabric_v1model_metadata_t fabric_md) {
+    apply {
+        update_checksum(hdr.ingress.ipv4.isValid(), { hdr.ingress.ipv4.version, hdr.ingress.ipv4.ihl, hdr.ingress.ipv4.dscp, hdr.ingress.ipv4.ecn, hdr.ingress.ipv4.total_len, hdr.ingress.ipv4.identification, hdr.ingress.ipv4.flags, hdr.ingress.ipv4.frag_offset, hdr.ingress.ipv4.ttl, hdr.ingress.ipv4.protocol, hdr.ingress.ipv4.src_addr, hdr.ingress.ipv4.dst_addr }, hdr.ingress.ipv4.hdr_checksum, HashAlgorithm.csum16);
+        update_checksum(hdr.ingress.inner_ipv4.isValid(), { hdr.ingress.inner_ipv4.version, hdr.ingress.inner_ipv4.ihl, hdr.ingress.inner_ipv4.dscp, hdr.ingress.inner_ipv4.ecn, hdr.ingress.inner_ipv4.total_len, hdr.ingress.inner_ipv4.identification, hdr.ingress.inner_ipv4.flags, hdr.ingress.inner_ipv4.frag_offset, hdr.ingress.inner_ipv4.ttl, hdr.ingress.inner_ipv4.protocol, hdr.ingress.inner_ipv4.src_addr, hdr.ingress.inner_ipv4.dst_addr }, hdr.ingress.inner_ipv4.hdr_checksum, HashAlgorithm.csum16);
+        update_checksum(hdr.egress.report_ipv4.isValid(), { hdr.egress.report_ipv4.version, hdr.egress.report_ipv4.ihl, hdr.egress.report_ipv4.dscp, hdr.egress.report_ipv4.ecn, hdr.egress.report_ipv4.total_len, hdr.egress.report_ipv4.identification, hdr.egress.report_ipv4.flags, hdr.egress.report_ipv4.frag_offset, hdr.egress.report_ipv4.ttl, hdr.egress.report_ipv4.protocol, hdr.egress.report_ipv4.src_addr, hdr.egress.report_ipv4.dst_addr }, hdr.egress.report_ipv4.hdr_checksum, HashAlgorithm.csum16);
+    }
+}
+
+control PacketIoIngress(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout bool skip_egress, inout standard_metadata_t standard_md, inout FabricPortId_t recirc_preserved_egress_port) {
+    @hidden action do_packet_out() {
+        standard_md.egress_spec = (PortId_t)hdr.packet_out.egress_port;
+        recirc_preserved_egress_port = hdr.packet_out.egress_port;
+        fabric_md.egress_port_set = true;
+        hdr.packet_out.setInvalid();
+        skip_egress = true;
+        fabric_md.bridged.setInvalid();
+        exit;
+    }
+    apply {
+        if (hdr.packet_out.isValid()) {
+            do_packet_out();
+        }
+    }
+}
+
+control PacketIoEgress(inout ingress_headers_t hdr, inout fabric_egress_metadata_t fabric_md, inout standard_metadata_t standard_md, in FabricPortId_t preserved_ig_port) {
+    action set_switch_info(FabricPortId_t cpu_port) {
+        fabric_md.cpu_port = (PortId_t)cpu_port;
+    }
+    table switch_info {
+        actions = {
+            set_switch_info;
+            @defaultonly nop;
+        }
+        default_action = nop;
+        const size = 1;
+    }
+    apply {
+        switch_info.apply();
+        if (standard_md.egress_port == fabric_md.cpu_port) {
+            hdr.packet_in.setValid();
+            hdr.packet_in.ingress_port = preserved_ig_port;
+            hdr.fake_ethernet.setInvalid();
+            exit;
+        }
+        if (hdr.fake_ethernet.isValid() && hdr.fake_ethernet.ether_type == ETHERTYPE_CPU_LOOPBACK_EGRESS) {
+            fabric_md.pkt_length = (bit<16>)standard_md.packet_length - 14;
+        }
+    }
+}
+
+control PreNext(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md) {
+    direct_counter(CounterType.packets_and_bytes) next_mpls_counter;
+    action set_mpls_label(mpls_label_t label) {
+        fabric_md.bridged.base.mpls_label = label;
+        next_mpls_counter.count();
+    }
+    table next_mpls {
+        key = {
+            fabric_md.next_id: exact @name("next_id") ;
+        }
+        actions = {
+            set_mpls_label;
+            @defaultonly nop;
+        }
+        const default_action = nop();
+        counters = next_mpls_counter;
+        size = 1024;
+    }
+    direct_counter(CounterType.packets_and_bytes) next_vlan_counter;
+    action set_vlan(vlan_id_t vlan_id) {
+        fabric_md.bridged.base.vlan_id = vlan_id;
+        next_vlan_counter.count();
+    }
+    table next_vlan {
+        key = {
+            fabric_md.next_id: exact @name("next_id") ;
+        }
+        actions = {
+            set_vlan;
+            @defaultonly nop;
+        }
+        const default_action = nop();
+        counters = next_vlan_counter;
+        size = 1024;
+    }
+    apply {
+        next_mpls.apply();
+        next_vlan.apply();
+    }
+}
+
+control Filtering(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md) {
+    direct_counter(CounterType.packets_and_bytes) ingress_port_vlan_counter;
+    action deny() {
+        fabric_md.skip_forwarding = true;
+        fabric_md.skip_next = true;
+        fabric_md.ig_port_type = PortType_t.UNKNOWN;
+        fabric_md.bridged.int_bmd.drop_reason = IntDropReason_t.DROP_REASON_PORT_VLAN_MAPPING_MISS;
+        ingress_port_vlan_counter.count();
+    }
+    action permit(PortType_t port_type) {
+        fabric_md.ig_port_type = port_type;
+        ingress_port_vlan_counter.count();
+    }
+    action permit_with_internal_vlan(vlan_id_t vlan_id, PortType_t port_type) {
+        fabric_md.bridged.base.vlan_id = vlan_id;
+        permit(port_type);
+    }
+    table ingress_port_vlan {
+        key = {
+            fabric_md.bridged.base.ig_port: exact @name("ig_port") ;
+            hdr.vlan_tag.isValid()        : exact @name("vlan_is_valid") ;
+            hdr.vlan_tag.vlan_id          : ternary @name("vlan_id") ;
+        }
+        actions = {
+            deny();
+            permit();
+            permit_with_internal_vlan();
+        }
+        const default_action = deny();
+        counters = ingress_port_vlan_counter;
+        size = 1024;
+    }
+    direct_counter(CounterType.packets_and_bytes) fwd_classifier_counter;
+    action set_forwarding_type(fwd_type_t fwd_type) {
+        fabric_md.bridged.base.fwd_type = fwd_type;
+        fwd_classifier_counter.count();
+    }
+    counter(8, CounterType.packets_and_bytes) fwd_type_counter;
+    table fwd_classifier {
+        key = {
+            fabric_md.bridged.base.ig_port    : exact @name("ig_port") ;
+            fabric_md.lkp.eth_dst             : ternary @name("eth_dst") ;
+            fabric_md.lkp.eth_type            : ternary @name("eth_type") ;
+            fabric_md.bridged.base.ip_eth_type: exact @name("ip_eth_type") ;
+        }
+        actions = {
+            set_forwarding_type;
+        }
+        const default_action = set_forwarding_type(FWD_BRIDGING);
+        counters = fwd_classifier_counter;
+        size = 1024;
+    }
+    apply {
+        ingress_port_vlan.apply();
+        fwd_classifier.apply();
+        fwd_type_counter.count((bit<32>)fabric_md.bridged.base.fwd_type);
+    }
+}
+
+control Forwarding(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout bit<1> drop_ctl) {
+    action set_int_drop_reason(bit<8> drop_reason) {
+        fabric_md.bridged.int_bmd.drop_reason = (IntDropReason_t)drop_reason;
+    }
+    @hidden action set_next_id(next_id_t next_id) {
+        fabric_md.next_id = next_id;
+    }
+    direct_counter(CounterType.packets_and_bytes) bridging_counter;
+    action set_next_id_bridging(next_id_t next_id) {
+        set_next_id(next_id);
+        bridging_counter.count();
+    }
+    table bridging {
+        key = {
+            fabric_md.bridged.base.vlan_id: exact @name("vlan_id") ;
+            hdr.ethernet.dst_addr         : ternary @name("eth_dst") ;
+        }
+        actions = {
+            set_next_id_bridging;
+            @defaultonly set_int_drop_reason;
+        }
+        const default_action = set_int_drop_reason(IntDropReason_t.DROP_REASON_BRIDGING_MISS);
+        counters = bridging_counter;
+        size = 1024;
+    }
+    direct_counter(CounterType.packets_and_bytes) mpls_counter;
+    action pop_mpls_and_next(next_id_t next_id) {
+        hdr.mpls.setInvalid();
+        hdr.eth_type.value = fabric_md.bridged.base.ip_eth_type;
+        fabric_md.bridged.base.mpls_label = 0;
+        set_next_id(next_id);
+        mpls_counter.count();
+    }
+    table mpls {
+        key = {
+            fabric_md.bridged.base.mpls_label: exact @name("mpls_label") ;
+        }
+        actions = {
+            pop_mpls_and_next;
+            @defaultonly set_int_drop_reason;
+        }
+        const default_action = set_int_drop_reason(IntDropReason_t.DROP_REASON_MPLS_MISS);
+        counters = mpls_counter;
+        size = 1024;
+    }
+    direct_counter(CounterType.packets_and_bytes) routing_v4_counter;
+    action set_next_id_routing_v4(next_id_t next_id) {
+        set_next_id(next_id);
+        routing_v4_counter.count();
+    }
+    action nop_routing_v4() {
+        routing_v4_counter.count();
+    }
+    action drop_routing_v4() {
+        fabric_md.skip_next = true;
+        routing_v4_counter.count();
+        drop_ctl = 1;
+    }
+    table routing_v4 {
+        key = {
+            fabric_md.routing_ipv4_dst: lpm @name("ipv4_dst") ;
+        }
+        actions = {
+            set_next_id_routing_v4;
+            nop_routing_v4;
+            drop_routing_v4;
+            @defaultonly set_int_drop_reason;
+        }
+        default_action = set_int_drop_reason(IntDropReason_t.DROP_REASON_ROUTING_V4_MISS);
+        counters = routing_v4_counter;
+        size = 1024;
+    }
+    direct_counter(CounterType.packets_and_bytes) routing_v6_counter;
+    action set_next_id_routing_v6(next_id_t next_id) {
+        set_next_id(next_id);
+        routing_v6_counter.count();
+    }
+    action drop_routing_v6() {
+        fabric_md.skip_next = true;
+        routing_v6_counter.count();
+        drop_ctl = 1;
+    }
+    table routing_v6 {
+        key = {
+            hdr.ipv6.dst_addr: lpm @name("ipv6_dst") ;
+        }
+        actions = {
+            set_next_id_routing_v6;
+            drop_routing_v6;
+            @defaultonly set_int_drop_reason;
+        }
+        default_action = set_int_drop_reason(IntDropReason_t.DROP_REASON_ROUTING_V6_MISS);
+        counters = routing_v6_counter;
+        size = 1024;
+    }
+    apply {
+        if (hdr.ethernet.isValid() && fabric_md.bridged.base.fwd_type == FWD_BRIDGING) {
+            bridging.apply();
+        } else if (hdr.mpls.isValid() && fabric_md.bridged.base.fwd_type == FWD_MPLS) {
+            mpls.apply();
+        } else if (fabric_md.lkp.is_ipv4 && (fabric_md.bridged.base.fwd_type == FWD_IPV4_UNICAST || fabric_md.bridged.base.fwd_type == FWD_IPV4_MULTICAST)) {
+            routing_v4.apply();
+        } else if (hdr.ipv6.isValid() && fabric_md.bridged.base.fwd_type == FWD_IPV6_UNICAST) {
+            routing_v6.apply();
+        }
+    }
+}
+
+control LookupMdInit(in ingress_headers_t hdr, out lookup_metadata_t lkp_md) {
+    apply {
+        lkp_md.eth_dst = hdr.ethernet.dst_addr;
+        lkp_md.eth_src = hdr.ethernet.src_addr;
+        lkp_md.eth_type = hdr.eth_type.value;
+        lkp_md.vlan_id = 0;
+        if (hdr.vlan_tag.isValid()) {
+            lkp_md.vlan_id = hdr.vlan_tag.vlan_id;
+        }
+        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;
+            }
+        }
+    }
+}
+
+control IntWatchlist(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout IntReportType_t recirc_preserved_report_type) {
+    direct_counter(CounterType.packets_and_bytes) watchlist_counter;
+    action mark_to_report() {
+        fabric_md.bridged.int_bmd.report_type = INT_REPORT_TYPE_FLOW;
+        recirc_preserved_report_type = INT_REPORT_TYPE_FLOW;
+        watchlist_counter.count();
+    }
+    action no_report() {
+        fabric_md.bridged.int_bmd.report_type = INT_REPORT_TYPE_NO_REPORT;
+        recirc_preserved_report_type = INT_REPORT_TYPE_NO_REPORT;
+    }
+    action no_report_collector() {
+        fabric_md.bridged.int_bmd.report_type = INT_REPORT_TYPE_NO_REPORT;
+    }
+    table watchlist {
+        key = {
+            fabric_md.lkp.is_ipv4 : exact @name("ipv4_valid") ;
+            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: range @name("l4_sport") ;
+            fabric_md.lkp.l4_dport: range @name("l4_dport") ;
+        }
+        actions = {
+            mark_to_report;
+            no_report_collector;
+            @defaultonly no_report();
+        }
+        const default_action = no_report();
+        const size = 64;
+        counters = watchlist_counter;
+    }
+    apply {
+        watchlist.apply();
+    }
+}
+
+control IntIngress(inout ingress_headers_t hdr, inout fabric_ingress_metadata_t fabric_md, inout standard_metadata_t standard_md, inout bit<1> drop_ctl) {
+    direct_counter(CounterType.packets_and_bytes) drop_report_counter;
+    @hidden action report_drop() {
+        fabric_md.bridged.bmd_type = BridgedMdType_t.INT_INGRESS_DROP;
+        fabric_md.bridged.int_bmd.report_type = INT_REPORT_TYPE_DROP;
+        fabric_md.bridged.base.vlan_id = DEFAULT_VLAN_ID;
+        fabric_md.bridged.base.mpls_label = 0;
+        drop_ctl = 0;
+        standard_md.egress_spec = FAKE_V1MODEL_RECIRC_PORT;
+        drop_report_counter.count();
+    }
+    @hidden table drop_report {
+        key = {
+            fabric_md.bridged.int_bmd.report_type: exact @name("int_report_type") ;
+            drop_ctl                             : exact @name("drop_ctl") ;
+            fabric_md.punt_to_cpu                : exact @name("punt_to_cpu") ;
+            fabric_md.egress_port_set            : exact @name("egress_port_set") ;
+            standard_md.mcast_grp                : ternary @name("mcast_group_id") ;
+        }
+        actions = {
+            report_drop;
+            @defaultonly nop;
+        }
+        const entries = {
+                        (INT_REPORT_TYPE_FLOW, 1, false, false, default) : report_drop();
+                        (INT_REPORT_TYPE_FLOW, 1, false, true, default) : report_drop();
+                        (INT_REPORT_TYPE_FLOW, 0, false, false, 0) : report_drop();
+        }
+        const default_action = nop();
+        counters = drop_report_counter;
+    }
+    apply {
+        fabric_md.bridged.int_bmd.egress_port = standard_md.egress_spec;
+        fabric_md.bridged.int_bmd.queue_id = 0;
+        drop_report.apply();
+    }
+}
+
+control IntEgress(inout v1model_header_t hdr_v1model, inout fabric_v1model_metadata_t fabric_v1model, inout standard_metadata_t standard_md) {
+    const bit<48> DEFAULT_TIMESTAMP_MASK = 0xffffc0000000;
+    const bit<32> DEFAULT_HOP_LATENCY_MASK = 0xffffff00;
+    egress_headers_t hdr = hdr_v1model.egress;
+    fabric_egress_metadata_t fabric_md = fabric_v1model.egress;
+    direct_counter(CounterType.packets_and_bytes) report_counter;
+    direct_counter(CounterType.packets_and_bytes) int_metadata_counter;
+    QueueId_t egress_qid = 0;
+    @hidden register<bit<32>>(1024) seq_number;
+    @hidden action get_seq_number(in bit<32> seq_number_idx, out bit<32> result) {
+        bit<32> reg = 0;
+        seq_number.read(reg, seq_number_idx);
+        reg = reg + 1;
+        result = reg;
+        seq_number.write(seq_number_idx, reg);
+    }
+    action check_quota() {
+    }
+    action reset_quota() {
+    }
+    table queue_latency_thresholds {
+        key = {
+            egress_qid                         : exact @name("egress_qid") ;
+            fabric_md.int_md.hop_latency[31:16]: range @name("hop_latency_upper") ;
+            fabric_md.int_md.hop_latency[15:0] : range @name("hop_latency_lower") ;
+        }
+        actions = {
+            check_quota;
+            reset_quota;
+            @defaultonly nop;
+        }
+        default_action = nop();
+        const size = 32 * 4;
+    }
+    action set_config(bit<32> hop_latency_mask, bit<48> timestamp_mask) {
+        fabric_md.int_md.hop_latency = fabric_md.int_md.hop_latency & hop_latency_mask;
+        fabric_md.int_md.timestamp = fabric_md.int_md.timestamp & timestamp_mask;
+    }
+    table config {
+        actions = {
+            @defaultonly set_config;
+        }
+        default_action = set_config(DEFAULT_HOP_LATENCY_MASK, DEFAULT_TIMESTAMP_MASK);
+        const size = 1;
+    }
+    @hidden action _report_encap_common(ipv4_addr_t src_ip, ipv4_addr_t mon_ip, l4_port_t mon_port, bit<32> switch_id) {
+        random(hdr.report_ipv4.identification, 0, 0xffff);
+        hdr.report_ipv4.src_addr = src_ip;
+        hdr.report_ipv4.dst_addr = mon_ip;
+        hdr.report_udp.dport = mon_port;
+        get_seq_number((bit<32>)hdr.report_fixed_header.hw_id, hdr.report_fixed_header.seq_no);
+        hdr.report_fixed_header.dqf = fabric_md.int_report_md.report_type;
+        hdr.common_report_header.switch_id = switch_id;
+        hdr.common_report_header.pad1 = 0;
+        hdr.common_report_header.pad2 = 0;
+        hdr.common_report_header.pad3 = 0;
+        hdr.eth_type.value = fabric_md.int_report_md.ip_eth_type;
+        fabric_v1model.int_mirror_type = (bit<3>)FabricMirrorType_t.INVALID;
+        report_counter.count();
+    }
+    action do_local_report_encap(ipv4_addr_t src_ip, ipv4_addr_t mon_ip, l4_port_t mon_port, bit<32> switch_id) {
+        _report_encap_common(src_ip, mon_ip, mon_port, switch_id);
+        hdr.report_eth_type.value = ETHERTYPE_INT_WIP_IPV4;
+        hdr.report_fixed_header.nproto = NPROTO_TELEMETRY_SWITCH_LOCAL_HEADER;
+        hdr.local_report_header.setValid();
+    }
+    action do_local_report_encap_mpls(ipv4_addr_t src_ip, ipv4_addr_t mon_ip, l4_port_t mon_port, mpls_label_t mon_label, bit<32> switch_id) {
+        do_local_report_encap(src_ip, mon_ip, mon_port, switch_id);
+        hdr.report_eth_type.value = ETHERTYPE_INT_WIP_MPLS;
+        hdr.report_mpls.setValid();
+        hdr.report_mpls.tc = 0;
+        hdr.report_mpls.bos = 0;
+        hdr.report_mpls.ttl = DEFAULT_MPLS_TTL;
+        hdr.report_mpls.label = mon_label;
+    }
+    action do_drop_report_encap(ipv4_addr_t src_ip, ipv4_addr_t mon_ip, l4_port_t mon_port, bit<32> switch_id) {
+        _report_encap_common(src_ip, mon_ip, mon_port, switch_id);
+        hdr.report_eth_type.value = ETHERTYPE_INT_WIP_IPV4;
+        hdr.report_fixed_header.nproto = NPROTO_TELEMETRY_DROP_HEADER;
+        hdr.drop_report_header.setValid();
+        hdr.local_report_header.setInvalid();
+        hdr.drop_report_header.drop_reason = fabric_md.bridged.int_bmd.drop_reason;
+    }
+    action do_drop_report_encap_mpls(ipv4_addr_t src_ip, ipv4_addr_t mon_ip, l4_port_t mon_port, mpls_label_t mon_label, bit<32> switch_id) {
+        do_drop_report_encap(src_ip, mon_ip, mon_port, switch_id);
+        hdr.report_eth_type.value = ETHERTYPE_INT_WIP_MPLS;
+        hdr.report_mpls.setValid();
+        hdr.report_mpls.tc = 0;
+        hdr.report_mpls.bos = 0;
+        hdr.report_mpls.ttl = DEFAULT_MPLS_TTL;
+        hdr.report_mpls.label = mon_label;
+        hdr.report_mpls.label = mon_label;
+    }
+    table report {
+        key = {
+            fabric_md.int_report_md.bmd_type   : exact @name("bmd_type") ;
+            fabric_md.int_report_md.mirror_type: exact @name("mirror_type") ;
+            fabric_md.int_report_md.report_type: exact @name("int_report_type") ;
+        }
+        actions = {
+            do_local_report_encap;
+            do_local_report_encap_mpls;
+            do_drop_report_encap;
+            do_drop_report_encap_mpls;
+            @defaultonly nop();
+        }
+        default_action = nop;
+        const size = 6;
+        counters = report_counter;
+    }
+    @hidden action init_int_metadata(bit<3> report_type) {
+        fabric_md.bridged.int_bmd.mirror_session_id = V1MODEL_INT_MIRROR_SESSION;
+        fabric_md.int_report_md.setValid();
+        fabric_v1model.int_mirror_type = (bit<3>)FabricMirrorType_t.INT_REPORT;
+        fabric_md.int_report_md.bmd_type = BridgedMdType_t.EGRESS_MIRROR;
+        fabric_md.int_report_md.mirror_type = FabricMirrorType_t.INT_REPORT;
+        fabric_md.int_report_md.report_type = fabric_md.bridged.int_bmd.report_type;
+        fabric_md.int_report_md.ig_port = fabric_md.bridged.base.ig_port;
+        fabric_md.int_report_md.eg_port = (PortId_t)standard_md.egress_port;
+        fabric_md.int_report_md.queue_id = egress_qid;
+        fabric_md.int_report_md.queue_occupancy = standard_md.deq_qdepth;
+        fabric_md.int_report_md.ig_tstamp = fabric_md.bridged.base.ig_tstamp[31:0];
+        fabric_md.int_report_md.eg_tstamp = standard_md.egress_global_timestamp[31:0];
+        fabric_md.int_report_md.ip_eth_type = fabric_md.bridged.base.ip_eth_type;
+        fabric_md.int_report_md.flow_hash = fabric_md.bridged.base.inner_hash;
+        fabric_md.int_report_md.report_type = report_type;
+        int_metadata_counter.count();
+    }
+    @hidden table int_metadata {
+        key = {
+            fabric_md.bridged.int_bmd.report_type: exact @name("int_report_type") ;
+            fabric_v1model.drop_ctl              : exact @name("drop_ctl") ;
+            fabric_md.int_md.queue_report        : exact @name("queue_report") ;
+        }
+        actions = {
+            init_int_metadata;
+            @defaultonly nop();
+        }
+        const default_action = nop();
+        const entries = {
+                        (INT_REPORT_TYPE_FLOW, 0, false) : init_int_metadata(INT_REPORT_TYPE_FLOW);
+                        (INT_REPORT_TYPE_FLOW, 1, false) : init_int_metadata(INT_REPORT_TYPE_DROP);
+        }
+        counters = int_metadata_counter;
+    }
+    @hidden action adjust_ip_udp_len(bit<16> adjust_ip, bit<16> adjust_udp) {
+        hdr_v1model.ingress.ipv4.total_len = fabric_md.pkt_length + adjust_ip;
+        hdr_v1model.ingress.udp.len = fabric_md.pkt_length + adjust_udp;
+    }
+    @hidden table adjust_int_report_hdr_length {
+        key = {
+            fabric_md.bridged.int_bmd.wip_type: exact @name("is_int_wip") ;
+        }
+        actions = {
+            @defaultonly nop();
+            adjust_ip_udp_len;
+        }
+        const default_action = nop();
+        const entries = {
+                        INT_IS_WIP : adjust_ip_udp_len(INT_WIP_ADJUST_IP_BYTES, INT_WIP_ADJUST_UDP_BYTES);
+                        INT_IS_WIP_WITH_MPLS : adjust_ip_udp_len(INT_WIP_ADJUST_IP_MPLS_BYTES, INT_WIP_ADJUST_UDP_MPLS_BYTES);
+        }
+    }
+    apply {
+        fabric_md.int_md.hop_latency = standard_md.egress_global_timestamp[31:0] - fabric_md.bridged.base.ig_tstamp[31:0];
+        fabric_md.int_md.timestamp = standard_md.egress_global_timestamp;
+        queue_latency_thresholds.apply();
+        config.apply();
+        hdr.report_fixed_header.hw_id = 4w0 ++ standard_md.egress_spec[8:7];
+        if (fabric_md.int_report_md.isValid()) {
+            report.apply();
+        } else {
+            if (int_metadata.apply().hit) {
+                clone_preserving_field_list(CloneType.E2E, (bit<32>)fabric_md.bridged.int_bmd.mirror_session_id, PRESERVE_INT_MD);
+            }
+        }
+        adjust_int_report_hdr_length.apply();
+        fabric_v1model.egress = fabric_md;
+        hdr_v1model.egress = hdr;
+    }
+}
+
+control IntTnaEgressParserEmulator(inout v1model_header_t hdr_v1model, inout fabric_egress_metadata_t fabric_md, inout standard_metadata_t standard_md) {
+    egress_headers_t hdr = hdr_v1model.egress;
+    @hidden action set_common_int_headers() {
+        hdr.report_ethernet.setValid();
+        hdr.report_eth_type.setValid();
+        hdr.report_ipv4.setValid();
+        hdr.report_ipv4.version = 4w4;
+        hdr.report_ipv4.ihl = 4w5;
+        hdr.report_ipv4.dscp = 0;
+        hdr.report_ipv4.ecn = 2w0;
+        hdr.report_ipv4.flags = 0;
+        hdr.report_ipv4.frag_offset = 0;
+        hdr.report_ipv4.ttl = DEFAULT_IPV4_TTL;
+        hdr.report_ipv4.protocol = PROTO_UDP;
+        hdr.report_udp.setValid();
+        hdr.report_udp.sport = 0;
+        hdr.report_fixed_header.setValid();
+        hdr.report_fixed_header.ver = 0;
+        hdr.report_fixed_header.nproto = NPROTO_TELEMETRY_SWITCH_LOCAL_HEADER;
+        hdr.report_fixed_header.rsvd = 0;
+        hdr.common_report_header.setValid();
+    }
+    @hidden action set_common_int_drop_headers() {
+        set_common_int_headers();
+        fabric_md.int_report_md.setValid();
+        fabric_md.int_report_md.ip_eth_type = ETHERTYPE_IPV4;
+        fabric_md.int_report_md.report_type = INT_REPORT_TYPE_DROP;
+        fabric_md.int_report_md.mirror_type = FabricMirrorType_t.INVALID;
+        hdr.drop_report_header.setValid();
+    }
+    @hidden action parse_int_ingress_drop() {
+        set_common_int_drop_headers();
+        fabric_md.int_report_md.bmd_type = BridgedMdType_t.INT_INGRESS_DROP;
+        fabric_md.int_report_md.encap_presence = fabric_md.bridged.base.encap_presence;
+        fabric_md.int_report_md.flow_hash = fabric_md.bridged.base.inner_hash;
+        hdr.drop_report_header.drop_reason = fabric_md.bridged.int_bmd.drop_reason;
+        hdr.report_fixed_header.ig_tstamp = fabric_md.bridged.base.ig_tstamp[31:0];
+        hdr.common_report_header.ig_port = fabric_md.bridged.base.ig_port;
+        hdr.common_report_header.eg_port = 0;
+        hdr.common_report_header.queue_id = 0;
+    }
+    @hidden action parse_int_report_mirror() {
+        set_common_int_headers();
+        fabric_md.bridged.bmd_type = fabric_md.int_report_md.bmd_type;
+        fabric_md.bridged.base.vlan_id = DEFAULT_VLAN_ID;
+        fabric_md.bridged.base.mpls_label = 0;
+        hdr.report_fixed_header.ig_tstamp = fabric_md.int_report_md.ig_tstamp;
+        hdr.common_report_header.ig_port = fabric_md.int_report_md.ig_port;
+        hdr.common_report_header.eg_port = fabric_md.int_report_md.eg_port;
+        hdr.common_report_header.queue_id = fabric_md.int_report_md.queue_id;
+        hdr.local_report_header.setValid();
+        hdr.local_report_header.queue_occupancy = fabric_md.int_report_md.queue_occupancy;
+        hdr.local_report_header.eg_tstamp = fabric_md.int_report_md.eg_tstamp;
+    }
+    apply {
+        fabric_md.is_int_recirc = true;
+        hdr_v1model.ingress.vlan_tag.setInvalid();
+        if (hdr_v1model.ingress.gtpu.isValid() || hdr_v1model.ingress.vxlan.isValid()) {
+            hdr_v1model.ingress.ipv4.setInvalid();
+            hdr_v1model.ingress.tcp.setInvalid();
+            hdr_v1model.ingress.udp.setInvalid();
+            hdr_v1model.ingress.icmp.setInvalid();
+            hdr_v1model.ingress.vxlan.setInvalid();
+            hdr_v1model.ingress.inner_ethernet.setInvalid();
+            hdr_v1model.ingress.inner_eth_type.setInvalid();
+            hdr_v1model.ingress.gtpu.setInvalid();
+            hdr_v1model.ingress.gtpu_options.setInvalid();
+            hdr_v1model.ingress.gtpu_ext_psc.setInvalid();
+        }
+        if ((bit<8>)fabric_md.bridged.int_bmd.report_type == BridgedMdType_t.INT_INGRESS_DROP) {
+            parse_int_ingress_drop();
+            recirculate_preserving_field_list(NO_PRESERVATION);
+        } else {
+            parse_int_report_mirror();
+            recirculate_preserving_field_list(PRESERVE_INT_MD);
+        }
+        hdr_v1model.egress = hdr;
+    }
+}
+
+control FabricIngress(inout v1model_header_t hdr, inout fabric_v1model_metadata_t fabric_md, inout standard_metadata_t standard_md) {
+    LookupMdInit() lkp_md_init;
+    StatsIngress() stats;
+    PacketIoIngress() pkt_io;
+    Filtering() filtering;
+    Forwarding() forwarding;
+    PreNext() pre_next;
+    Acl() acl;
+    Next() next;
+    Hasher() hasher;
+    IngressSliceTcClassifier() slice_tc_classifier;
+    IngressQos() qos;
+    IntWatchlist() int_watchlist;
+    IntIngress() int_ingress;
+    apply {
+        mark_to_drop(standard_md);
+        if (standard_md.parser_error == error.PacketRejectedByParser) {
+            exit;
+        }
+        if (standard_md.instance_type == 4) {
+            fabric_md.ingress.bridged.base.ig_port = FAKE_V1MODEL_RECIRC_PORT;
+        }
+        lkp_md_init.apply(hdr.ingress, fabric_md.ingress.lkp);
+        pkt_io.apply(hdr.ingress, fabric_md.ingress, fabric_md.skip_egress, standard_md, fabric_md.recirc_preserved_egress_port);
+        int_watchlist.apply(hdr.ingress, fabric_md.ingress, standard_md, fabric_md.recirc_preserved_report_type);
+        stats.apply(fabric_md.ingress.lkp, fabric_md.ingress.bridged.base.ig_port, fabric_md.ingress.bridged.base.stats_flow_id);
+        slice_tc_classifier.apply(hdr.ingress, standard_md, fabric_md.ingress);
+        filtering.apply(hdr.ingress, fabric_md.ingress, standard_md);
+        if (!fabric_md.ingress.skip_forwarding) {
+            forwarding.apply(hdr.ingress, fabric_md.ingress, standard_md, fabric_md.drop_ctl);
+        }
+        hasher.apply(hdr.ingress, fabric_md.ingress);
+        if (!fabric_md.ingress.skip_next) {
+            pre_next.apply(hdr.ingress, fabric_md.ingress);
+        }
+        acl.apply(hdr.ingress, fabric_md.ingress, standard_md, fabric_md.recirc_preserved_egress_port, fabric_md.drop_ctl);
+        if (!fabric_md.ingress.skip_next) {
+            next.apply(hdr.ingress, fabric_md.ingress, standard_md, fabric_md.recirc_preserved_egress_port);
+        }
+        qos.apply(fabric_md.ingress, standard_md, fabric_md.drop_ctl);
+        int_ingress.apply(hdr.ingress, fabric_md.ingress, standard_md, fabric_md.drop_ctl);
+        fabric_md.egress.bridged = fabric_md.ingress.bridged;
+        if (fabric_md.drop_ctl == 1) {
+            mark_to_drop(standard_md);
+        }
+    }
+}
+
+control FabricEgress(inout v1model_header_t hdr, inout fabric_v1model_metadata_t fabric_md, inout standard_metadata_t standard_md) {
+    StatsEgress() stats;
+    PacketIoEgress() pkt_io_egress;
+    EgressNextControl() egress_next;
+    EgressDscpRewriter() dscp_rewriter;
+    IntTnaEgressParserEmulator() parser_emulator;
+    IntEgress() int_egress;
+    apply {
+        fabric_md.egress.cpu_port = 0;
+        if (fabric_md.skip_egress) {
+            exit;
+        }
+        if (standard_md.instance_type == 2) {
+            fabric_md.egress.bridged.int_bmd.drop_reason = fabric_md.recirc_preserved_drop_reason;
+            fabric_md.egress.bridged.int_bmd.report_type = fabric_md.recirc_preserved_report_type;
+            parser_emulator.apply(hdr, fabric_md.egress, standard_md);
+        }
+        if ((bit<8>)fabric_md.egress.bridged.int_bmd.report_type == BridgedMdType_t.INT_INGRESS_DROP) {
+            parser_emulator.apply(hdr, fabric_md.egress, standard_md);
+        }
+        pkt_io_egress.apply(hdr.ingress, fabric_md.egress, standard_md, fabric_md.recirc_preserved_ingress_port);
+        stats.apply(fabric_md.egress.bridged.base.stats_flow_id, standard_md.egress_port, fabric_md.egress.bridged.bmd_type);
+        egress_next.apply(hdr.ingress, fabric_md.egress, standard_md, fabric_md.recirc_preserved_drop_reason, fabric_md.drop_ctl);
+        int_egress.apply(hdr, fabric_md, standard_md);
+        dscp_rewriter.apply(fabric_md.egress, standard_md, hdr.ingress);
+        if (fabric_md.do_upf_uplink_recirc) {
+            recirculate_preserving_field_list(NO_PRESERVATION);
+        }
+        if (fabric_md.drop_ctl == 1) {
+            mark_to_drop(standard_md);
+        }
+    }
+}
+
+V1Switch(FabricParser(), FabricVerifyChecksum(), FabricIngress(), FabricEgress(), FabricComputeChecksum(), FabricDeparser()) main;
+
diff --git a/src/tests/p4-int-routing-acl/p4src/bmv2.json b/src/tests/p4-int-routing-acl/p4src/bmv2.json
new file mode 100644
index 0000000000000000000000000000000000000000..80136b953ec822618243c8d325fbfbca201ab7cc
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/p4src/bmv2.json
@@ -0,0 +1,21728 @@
+{
+  "header_types" : [
+    {
+      "name" : "scalars_0",
+      "id" : 0,
+      "fields" : [
+        ["tmp_2", 16, false],
+        ["tmp_4", 1, false],
+        ["tmp_6", 16, false],
+        ["tmp_12", 3, false],
+        ["tmp_13", 8, false],
+        ["gtpu_ext_len_0", 8, false],
+        ["tmp_3", 16, false],
+        ["tmp_5", 16, false],
+        ["tmp_7", 4, false],
+        ["tmp_8", 112, false],
+        ["tmp_9", 112, false],
+        ["tmp_10", 112, false],
+        ["tmp_11", 64, false],
+        ["tmp_14", 32, false],
+        ["tmp_15", 32, false],
+        ["tmp_16", 32, false],
+        ["tmp_17", 32, false],
+        ["tmp_18", 48, false],
+        ["tmp_19", 48, false],
+        ["tmp_20", 16, false],
+        ["tmp_21", 32, false],
+        ["tmp_22", 32, false],
+        ["tmp_23", 8, false],
+        ["tmp_24", 16, false],
+        ["tmp_25", 16, false],
+        ["tmp_26", 32, false],
+        ["qos_packet_color", 2, false],
+        ["tmp_27", 32, false],
+        ["tmp_28", 32, false],
+        ["tmp_29", 32, false],
+        ["tmp_30", 32, false],
+        ["tmp_31", 32, false],
+        ["tmp_32", 32, false],
+        ["tmp_33", 32, false],
+        ["tmp_34", 32, false],
+        ["tmp_35", 32, false],
+        ["dscp_rewriter_tmp_dscp", 6, false],
+        ["int_egress_fabric_md_pkt_length", 16, false],
+        ["int_egress_egress_qid", 5, false],
+        ["int_egress_reg", 32, false],
+        ["key_0", 16, false],
+        ["key_1", 16, false],
+        ["userMetadata._skip_egress0", 1, false],
+        ["userMetadata._do_upf_uplink_recirc1", 1, false],
+        ["userMetadata._drop_ctl2", 1, false],
+        ["userMetadata._int_mirror_type3", 3, false],
+        ["userMetadata._ingress_ecmp_hash5", 32, false],
+        ["userMetadata._ingress_lkp_eth_dst6", 48, false],
+        ["userMetadata._ingress_lkp_eth_src7", 48, false],
+        ["userMetadata._ingress_lkp_eth_type8", 16, false],
+        ["userMetadata._ingress_lkp_vlan_id9", 12, false],
+        ["userMetadata._ingress_lkp_is_ipv410", 1, false],
+        ["userMetadata._ingress_lkp_ipv4_src11", 32, false],
+        ["userMetadata._ingress_lkp_ipv4_dst12", 32, false],
+        ["userMetadata._ingress_lkp_ip_proto13", 8, false],
+        ["userMetadata._ingress_lkp_l4_sport14", 16, false],
+        ["userMetadata._ingress_lkp_l4_dport15", 16, false],
+        ["userMetadata._ingress_lkp_icmp_type16", 8, false],
+        ["userMetadata._ingress_lkp_icmp_code17", 8, false],
+        ["userMetadata._ingress_routing_ipv4_dst18", 32, false],
+        ["userMetadata._ingress_skip_forwarding19", 1, false],
+        ["userMetadata._ingress_skip_next20", 1, false],
+        ["userMetadata._ingress_next_id21", 32, false],
+        ["userMetadata._ingress_egress_port_set22", 1, false],
+        ["userMetadata._ingress_punt_to_cpu23", 1, false],
+        ["userMetadata._ingress_ipv4_checksum_err24", 1, false],
+        ["userMetadata._ingress_inner_ipv4_checksum_err25", 1, false],
+        ["userMetadata._ingress_slice_id26", 4, false],
+        ["userMetadata._ingress_tc27", 2, false],
+        ["userMetadata._ingress_tc_unknown28", 1, false],
+        ["userMetadata._ingress_is_upf_hit29", 1, false],
+        ["userMetadata._ingress_upf_slice_id30", 4, false],
+        ["userMetadata._ingress_upf_tc31", 2, false],
+        ["userMetadata._ingress_upf_meter_color32", 2, false],
+        ["userMetadata._ingress_ig_port_type33", 2, false],
+        ["userMetadata._ingress_mirror_mirror_session_id34", 10, false],
+        ["userMetadata._ingress_mirror_bmd_type35", 8, false],
+        ["userMetadata._egress_cpu_port37", 9, false],
+        ["userMetadata._egress_int_md_hop_latency39", 32, false],
+        ["userMetadata._egress_int_md_timestamp40", 48, false],
+        ["userMetadata._egress_int_md_vlan_stripped41", 1, false],
+        ["userMetadata._egress_int_md_queue_report42", 1, false],
+        ["userMetadata._egress_int_ipv4_len43", 16, false],
+        ["userMetadata._egress_is_int_recirc44", 1, false],
+        ["userMetadata._egress_pkt_length45", 16, false],
+        ["userMetadata._recirc_preserved_report_type46", 3, false],
+        ["userMetadata._recirc_preserved_egress_port47", 9, false],
+        ["userMetadata._recirc_preserved_drop_reason48", 8, false],
+        ["userMetadata._recirc_preserved_ingress_port49", 9, false],
+        ["_padding_1", 5, false]
+      ]
+    },
+    {
+      "name" : "fake_ethernet_t",
+      "id" : 1,
+      "fields" : [
+        ["_pad0", 48, false],
+        ["_pad1", 48, false],
+        ["ether_type", 16, false]
+      ]
+    },
+    {
+      "name" : "packet_out_header_t",
+      "id" : 2,
+      "fields" : [
+        ["pad0", 7, false],
+        ["egress_port", 9, false],
+        ["pad1", 3, false],
+        ["queue_id", 5, false],
+        ["pad2", 5, false],
+        ["cpu_loopback_mode", 2, false],
+        ["do_forwarding", 1, false],
+        ["pad3", 16, false],
+        ["pad4", 48, false],
+        ["ether_type", 16, false]
+      ]
+    },
+    {
+      "name" : "gtpu_t",
+      "id" : 3,
+      "fields" : [
+        ["version", 3, false],
+        ["pt", 1, false],
+        ["spare", 1, false],
+        ["ex_flag", 1, false],
+        ["seq_flag", 1, false],
+        ["npdu_flag", 1, false],
+        ["msgtype", 8, false],
+        ["msglen", 16, false],
+        ["teid", 32, false]
+      ]
+    },
+    {
+      "name" : "ethernet_t",
+      "id" : 4,
+      "fields" : [
+        ["dst_addr", 48, false],
+        ["src_addr", 48, false]
+      ]
+    },
+    {
+      "name" : "eth_type_t",
+      "id" : 5,
+      "fields" : [
+        ["value", 16, false]
+      ]
+    },
+    {
+      "name" : "ipv4_t",
+      "id" : 6,
+      "fields" : [
+        ["version", 4, false],
+        ["ihl", 4, false],
+        ["dscp", 6, false],
+        ["ecn", 2, false],
+        ["total_len", 16, false],
+        ["identification", 16, false],
+        ["flags", 3, false],
+        ["frag_offset", 13, false],
+        ["ttl", 8, false],
+        ["protocol", 8, false],
+        ["hdr_checksum", 16, false],
+        ["src_addr", 32, false],
+        ["dst_addr", 32, false]
+      ]
+    },
+    {
+      "name" : "udp_t",
+      "id" : 7,
+      "fields" : [
+        ["sport", 16, false],
+        ["dport", 16, false],
+        ["len", 16, false],
+        ["checksum", 16, false]
+      ]
+    },
+    {
+      "name" : "report_fixed_header_t",
+      "id" : 8,
+      "fields" : [
+        ["ver", 4, false],
+        ["nproto", 4, false],
+        ["dqf", 3, false],
+        ["rsvd", 15, false],
+        ["hw_id", 6, false],
+        ["seq_no", 32, false],
+        ["ig_tstamp", 32, false]
+      ]
+    },
+    {
+      "name" : "common_report_header_t",
+      "id" : 9,
+      "fields" : [
+        ["switch_id", 32, false],
+        ["pad1", 7, false],
+        ["ig_port", 9, false],
+        ["pad2", 7, false],
+        ["eg_port", 9, false],
+        ["pad3", 3, false],
+        ["queue_id", 5, false]
+      ]
+    },
+    {
+      "name" : "local_report_header_t",
+      "id" : 10,
+      "fields" : [
+        ["pad1", 5, false],
+        ["queue_occupancy", 19, false],
+        ["eg_tstamp", 32, false]
+      ]
+    },
+    {
+      "name" : "drop_report_header_t",
+      "id" : 11,
+      "fields" : [
+        ["drop_reason", 8, false],
+        ["pad", 16, false]
+      ]
+    },
+    {
+      "name" : "mpls_t",
+      "id" : 12,
+      "fields" : [
+        ["label", 20, false],
+        ["tc", 3, false],
+        ["bos", 1, false],
+        ["ttl", 8, false]
+      ]
+    },
+    {
+      "name" : "bridged_metadata_t",
+      "id" : 13,
+      "fields" : [
+        ["_bmd_type0", 8, false],
+        ["_base_inner_hash1", 32, false],
+        ["_base_mpls_label2", 20, false],
+        ["_base_ig_port3", 9, false],
+        ["_base_is_multicast4", 1, 0],
+        ["_base_fwd_type5", 3, false],
+        ["_base_vlan_id6", 12, false],
+        ["_base_encap_presence7", 2, false],
+        ["_base_mpls_ttl8", 8, false],
+        ["_base_ig_tstamp9", 48, false],
+        ["_base_ip_eth_type10", 16, false],
+        ["_base_stats_flow_id11", 10, false],
+        ["_base_slice_tc12", 6, false],
+        ["_int_bmd_report_type13", 3, false],
+        ["_int_bmd_mirror_session_id14", 10, false],
+        ["_int_bmd_drop_reason15", 8, false],
+        ["_int_bmd_queue_id16", 5, false],
+        ["_int_bmd_egress_port17", 9, false],
+        ["_int_bmd_wip_type18", 8, false],
+        ["__pad019", 1, false],
+        ["__pad220", 5, false]
+      ]
+    },
+    {
+      "name" : "int_report_metadata_t",
+      "id" : 14,
+      "fields" : [
+        ["bmd_type", 8, false],
+        ["_pad0", 5, false],
+        ["mirror_type", 3, false],
+        ["_pad1", 7, false],
+        ["ig_port", 9, false],
+        ["_pad2", 7, false],
+        ["eg_port", 9, false],
+        ["_pad3", 3, false],
+        ["queue_id", 5, false],
+        ["_pad4", 5, false],
+        ["queue_occupancy", 19, false],
+        ["ig_tstamp", 32, false],
+        ["eg_tstamp", 32, false],
+        ["drop_reason", 8, false],
+        ["ip_eth_type", 16, false],
+        ["_pad5", 6, false],
+        ["encap_presence", 2, false],
+        ["report_type", 3, false],
+        ["_pad6", 5, false],
+        ["flow_hash", 32, false]
+      ]
+    },
+    {
+      "name" : "int_metadata_t",
+      "id" : 15,
+      "fields" : [
+        ["hop_latency", 32, false],
+        ["timestamp", 48, false],
+        ["vlan_stripped", 1, 0],
+        ["queue_report", 1, 0],
+        ["_padding", 6, false]
+      ]
+    },
+    {
+      "name" : "standard_metadata",
+      "id" : 16,
+      "fields" : [
+        ["ingress_port", 9, false],
+        ["egress_spec", 9, false],
+        ["egress_port", 9, false],
+        ["instance_type", 32, false],
+        ["packet_length", 32, false],
+        ["enq_timestamp", 32, false],
+        ["enq_qdepth", 19, false],
+        ["deq_timedelta", 32, false],
+        ["deq_qdepth", 19, false],
+        ["ingress_global_timestamp", 48, false],
+        ["egress_global_timestamp", 48, false],
+        ["mcast_grp", 16, false],
+        ["egress_rid", 16, false],
+        ["checksum_error", 1, false],
+        ["parser_error", 32, false],
+        ["priority", 3, false],
+        ["_padding_0", 3, false]
+      ]
+    },
+    {
+      "name" : "packet_in_header_t",
+      "id" : 17,
+      "fields" : [
+        ["ingress_port", 9, false],
+        ["_pad0", 7, false]
+      ]
+    },
+    {
+      "name" : "vlan_tag_t",
+      "id" : 18,
+      "fields" : [
+        ["eth_type", 16, false],
+        ["pri", 3, false],
+        ["cfi", 1, false],
+        ["vlan_id", 12, false]
+      ]
+    },
+    {
+      "name" : "ipv6_t",
+      "id" : 19,
+      "fields" : [
+        ["version", 4, false],
+        ["traffic_class", 8, false],
+        ["flow_label", 20, false],
+        ["payload_len", 16, false],
+        ["next_hdr", 8, false],
+        ["hop_limit", 8, false],
+        ["src_addr", 128, false],
+        ["dst_addr", 128, false]
+      ]
+    },
+    {
+      "name" : "tcp_t",
+      "id" : 20,
+      "fields" : [
+        ["sport", 16, false],
+        ["dport", 16, false]
+      ]
+    },
+    {
+      "name" : "icmp_t",
+      "id" : 21,
+      "fields" : [
+        ["icmp_type", 8, false],
+        ["icmp_code", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_options_t",
+      "id" : 22,
+      "fields" : [
+        ["seq_num", 16, false],
+        ["n_pdu_num", 8, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "gtpu_ext_psc_t",
+      "id" : 23,
+      "fields" : [
+        ["len", 8, false],
+        ["type", 4, false],
+        ["spare0", 4, false],
+        ["ppp", 1, false],
+        ["rqi", 1, false],
+        ["qfi", 6, false],
+        ["next_ext", 8, false]
+      ]
+    },
+    {
+      "name" : "vxlan_t",
+      "id" : 24,
+      "fields" : [
+        ["flags", 8, false],
+        ["reserved", 24, false],
+        ["vni", 24, false],
+        ["reserved_2", 8, false]
+      ]
+    }
+  ],
+  "headers" : [
+    {
+      "name" : "tmp",
+      "id" : 0,
+      "header_type" : "fake_ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "tmp_0",
+      "id" : 1,
+      "header_type" : "packet_out_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "tmp_1",
+      "id" : 2,
+      "header_type" : "fake_ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "gtpu_0",
+      "id" : 3,
+      "header_type" : "gtpu_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_report_ethernet",
+      "id" : 4,
+      "header_type" : "ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_report_eth_type",
+      "id" : 5,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_report_ipv4",
+      "id" : 6,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_report_udp",
+      "id" : 7,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_report_fixed_header",
+      "id" : 8,
+      "header_type" : "report_fixed_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_common_report_header",
+      "id" : 9,
+      "header_type" : "common_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_local_report_header",
+      "id" : 10,
+      "header_type" : "local_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "parser_emulator_hdr_drop_report_header",
+      "id" : 11,
+      "header_type" : "drop_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_report_eth_type",
+      "id" : 12,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_report_mpls",
+      "id" : 13,
+      "header_type" : "mpls_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_report_ipv4",
+      "id" : 14,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_report_udp",
+      "id" : 15,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_report_fixed_header",
+      "id" : 16,
+      "header_type" : "report_fixed_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_common_report_header",
+      "id" : 17,
+      "header_type" : "common_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_local_report_header",
+      "id" : 18,
+      "header_type" : "local_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_drop_report_header",
+      "id" : 19,
+      "header_type" : "drop_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_hdr_eth_type",
+      "id" : 20,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_fabric_md_bridged",
+      "id" : 21,
+      "header_type" : "bridged_metadata_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_fabric_md_int_report_md",
+      "id" : 22,
+      "header_type" : "int_report_metadata_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "int_egress_fabric_md_int_md",
+      "id" : 23,
+      "header_type" : "int_metadata_t",
+      "metadata" : true,
+      "pi_omit" : true
+    },
+    {
+      "name" : "scalars",
+      "id" : 24,
+      "header_type" : "scalars_0",
+      "metadata" : true,
+      "pi_omit" : true
+    },
+    {
+      "name" : "standard_metadata",
+      "id" : 25,
+      "header_type" : "standard_metadata",
+      "metadata" : true,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_packet_out0",
+      "id" : 26,
+      "header_type" : "packet_out_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_packet_in1",
+      "id" : 27,
+      "header_type" : "packet_in_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_fake_ethernet2",
+      "id" : 28,
+      "header_type" : "fake_ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_ethernet3",
+      "id" : 29,
+      "header_type" : "ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_vlan_tag4",
+      "id" : 30,
+      "header_type" : "vlan_tag_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_eth_type5",
+      "id" : 31,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_mpls6",
+      "id" : 32,
+      "header_type" : "mpls_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_ipv47",
+      "id" : 33,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_ipv68",
+      "id" : 34,
+      "header_type" : "ipv6_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_tcp9",
+      "id" : 35,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_udp10",
+      "id" : 36,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_icmp11",
+      "id" : 37,
+      "header_type" : "icmp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_gtpu12",
+      "id" : 38,
+      "header_type" : "gtpu_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_gtpu_options13",
+      "id" : 39,
+      "header_type" : "gtpu_options_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_gtpu_ext_psc14",
+      "id" : 40,
+      "header_type" : "gtpu_ext_psc_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_vxlan15",
+      "id" : 41,
+      "header_type" : "vxlan_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_inner_ethernet16",
+      "id" : 42,
+      "header_type" : "ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_inner_eth_type17",
+      "id" : 43,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_inner_ipv418",
+      "id" : 44,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_inner_tcp19",
+      "id" : 45,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_inner_udp20",
+      "id" : 46,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_inner_icmp21",
+      "id" : 47,
+      "header_type" : "icmp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_packet_in22",
+      "id" : 48,
+      "header_type" : "packet_in_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_fake_ethernet23",
+      "id" : 49,
+      "header_type" : "fake_ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_report_ethernet24",
+      "id" : 50,
+      "header_type" : "ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_report_eth_type25",
+      "id" : 51,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_report_mpls26",
+      "id" : 52,
+      "header_type" : "mpls_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_report_ipv427",
+      "id" : 53,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_report_udp28",
+      "id" : 54,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_report_fixed_header29",
+      "id" : 55,
+      "header_type" : "report_fixed_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_common_report_header30",
+      "id" : 56,
+      "header_type" : "common_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_local_report_header31",
+      "id" : 57,
+      "header_type" : "local_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_drop_report_header32",
+      "id" : 58,
+      "header_type" : "drop_report_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_ethernet33",
+      "id" : 59,
+      "header_type" : "ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_vlan_tag34",
+      "id" : 60,
+      "header_type" : "vlan_tag_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_eth_type35",
+      "id" : 61,
+      "header_type" : "eth_type_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_mpls36",
+      "id" : 62,
+      "header_type" : "mpls_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_ipv437",
+      "id" : 63,
+      "header_type" : "ipv4_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_ipv638",
+      "id" : 64,
+      "header_type" : "ipv6_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_udp39",
+      "id" : 65,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_ingress_bridged4",
+      "id" : 66,
+      "header_type" : "bridged_metadata_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_bridged36",
+      "id" : 67,
+      "header_type" : "bridged_metadata_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "_egress_int_report_md38",
+      "id" : 68,
+      "header_type" : "int_report_metadata_t",
+      "metadata" : false,
+      "pi_omit" : true
+    }
+  ],
+  "header_stacks" : [],
+  "header_union_types" : [],
+  "header_unions" : [],
+  "header_union_stacks" : [],
+  "field_lists" : [
+    {
+      "id" : 1,
+      "name" : "field_list241",
+      "elements" : [
+        {
+          "type" : "field",
+          "value" : ["scalars", "userMetadata._recirc_preserved_report_type46"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "userMetadata._recirc_preserved_drop_reason48"]
+        }
+      ]
+    },
+    {
+      "id" : 2,
+      "name" : "field_list231",
+      "elements" : [
+        {
+          "type" : "field",
+          "value" : ["scalars", "userMetadata._recirc_preserved_ingress_port49"]
+        }
+      ]
+    },
+    {
+      "id" : 3,
+      "name" : "empty",
+      "elements" : []
+    },
+    {
+      "id" : 4,
+      "name" : "empty_0",
+      "elements" : []
+    },
+    {
+      "id" : 5,
+      "name" : "empty_1",
+      "elements" : []
+    }
+  ],
+  "errors" : [
+    ["NoError", 1],
+    ["PacketTooShort", 2],
+    ["NoMatch", 3],
+    ["StackOutOfBounds", 4],
+    ["HeaderTooShort", 5],
+    ["ParserTimeout", 6],
+    ["ParserInvalidArgument", 7],
+    ["PacketRejectedByParser", 8]
+  ],
+  "enums" : [],
+  "parsers" : [
+    {
+      "name" : "parser",
+      "id" : 0,
+      "init_state" : "start",
+      "parse_states" : [
+        {
+          "name" : "start",
+          "id" : 0,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._egress_pkt_length45"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["standard_metadata", "packet_length"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x0000ffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "_ingress_bridged4"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_bmd_type0"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x01"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_ig_port3"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["standard_metadata", "ingress_port"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._recirc_preserved_ingress_port49"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["standard_metadata", "ingress_port"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_ig_tstamp9"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["standard_metadata", "ingress_global_timestamp"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "b2d",
+                      "left" : null,
+                      "right" : {
+                        "type" : "bool",
+                        "value" : false
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._ingress_punt_to_cpu23"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "b2d",
+                      "left" : null,
+                      "right" : {
+                        "type" : "bool",
+                        "value" : false
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_ip_eth_type10"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x0000"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_int_bmd_wip_type18"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_encap_presence7"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._ingress_upf_meter_color32"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_8"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 112]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "tmp"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp", "_pad0"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_8"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x40"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffffffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp", "_pad1"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_8"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x10"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffffffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp", "ether_type"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "tmp_8"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_2"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "tmp_8"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0xbf02",
+              "mask" : null,
+              "next_state" : "parse_fake_ethernet"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf03",
+              "mask" : null,
+              "next_state" : "parse_fake_ethernet_and_accept"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf01",
+              "mask" : null,
+              "next_state" : "check_packet_out"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf04",
+              "mask" : null,
+              "next_state" : "parse_int_wip_ipv4"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf05",
+              "mask" : null,
+              "next_state" : "parse_int_wip_mpls"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_ethernet"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_2"]
+            }
+          ]
+        },
+        {
+          "name" : "check_packet_out",
+          "id" : 1,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_9"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 112]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "tmp_0"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "pad0"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x69"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x7f"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "egress_port"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x60"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01ff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "pad1"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x5d"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "queue_id"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x58"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x1f"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "pad2"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x53"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x1f"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "cpu_loopback_mode"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x51"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "do_forwarding"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x50"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "pad3"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x40"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "pad4"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x10"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffffffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_0", "ether_type"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "tmp_9"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_4"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x50"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x00",
+              "mask" : null,
+              "next_state" : "parse_packet_out_and_accept"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "strip_packet_out"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_4"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_int_wip_ipv4",
+          "id" : 2,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "_ingress_ethernet3"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "_ingress_eth_type5"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_eth_type5", "value"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x0800"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_int_bmd_wip_type18"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x01"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_mpls_label2"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x000000"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_mpls_ttl8"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x41"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00000070"
+                }
+              ],
+              "op" : "advance"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_ipv4"
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_int_wip_mpls",
+          "id" : 3,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "_ingress_ethernet3"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "_ingress_eth_type5"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_eth_type5", "value"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x8847"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_int_bmd_wip_type18"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x02"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00000070"
+                }
+              ],
+              "op" : "advance"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_mpls"
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_packet_out_and_accept",
+          "id" : 4,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_packet_out0"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "strip_packet_out",
+          "id" : 5,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "hexstr",
+                  "value" : "0x00000070"
+                }
+              ],
+              "op" : "advance"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_ethernet"
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_fake_ethernet",
+          "id" : 6,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_fake_ethernet2"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_10"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 112]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "tmp_1"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_1", "_pad0"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_10"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x40"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffffffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_1", "_pad1"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_10"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x10"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffffffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["tmp_1", "ether_type"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "tmp_10"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_6"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "tmp_10"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0xbf04",
+              "mask" : null,
+              "next_state" : "parse_int_wip_ipv4"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf05",
+              "mask" : null,
+              "next_state" : "parse_int_wip_mpls"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_ethernet"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_6"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_fake_ethernet_and_accept",
+          "id" : 7,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_fake_ethernet2"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_ethernet",
+          "id" : 8,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_ethernet3"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_3"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 16]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x88a8",
+              "mask" : null,
+              "next_state" : "parse_vlan_tag"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x8100",
+              "mask" : "0xefff",
+              "next_state" : "parse_vlan_tag"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_untagged"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_3"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_vlan_tag",
+          "id" : 9,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_vlan_tag4"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_vlan_id6"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_vlan_tag4", "vlan_id"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_5"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 16]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_eth_type"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_5"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_untagged",
+          "id" : 10,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_vlan_id6"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x0ffe"
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_eth_type"
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_eth_type",
+          "id" : 11,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_eth_type5"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x8847",
+              "mask" : null,
+              "next_state" : "parse_mpls"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800",
+              "mask" : null,
+              "next_state" : "parse_non_mpls"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x86dd",
+              "mask" : null,
+              "next_state" : "parse_non_mpls"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_mpls",
+          "id" : 12,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_mpls6"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_mpls_label2"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_mpls6", "label"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_mpls_ttl8"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_mpls6", "ttl"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_7"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 4]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x04",
+              "mask" : null,
+              "next_state" : "parse_ipv4"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x06",
+              "mask" : null,
+              "next_state" : "parse_ipv6"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "reject_packet"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_7"]
+            }
+          ]
+        },
+        {
+          "name" : "reject_packet",
+          "id" : 13,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "bool",
+                  "value" : false
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x8"
+                }
+              ],
+              "op" : "verify"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_non_mpls",
+          "id" : 14,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_mpls_label2"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x000000"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_mpls_ttl8"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x41"
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x0800",
+              "mask" : null,
+              "next_state" : "parse_ipv4"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x86dd",
+              "mask" : null,
+              "next_state" : "parse_ipv6"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_ipv4",
+          "id" : 15,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_ipv47"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "userMetadata._ingress_routing_ipv4_dst18"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_ipv47", "dst_addr"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_ip_eth_type10"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x0800"
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x06",
+              "mask" : null,
+              "next_state" : "parse_tcp"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11",
+              "mask" : null,
+              "next_state" : "parse_udp"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01",
+              "mask" : null,
+              "next_state" : "parse_icmp"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "protocol"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_ipv6",
+          "id" : 16,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_ipv68"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_ip_eth_type10"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x86dd"
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x06",
+              "mask" : null,
+              "next_state" : "parse_tcp"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11",
+              "mask" : null,
+              "next_state" : "parse_udp"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x3a",
+              "mask" : null,
+              "next_state" : "parse_icmp"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv68", "next_hdr"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_icmp",
+          "id" : 17,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_icmp11"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_tcp",
+          "id" : 18,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_tcp9"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_udp",
+          "id" : 19,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_udp10"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_11"]
+                },
+                {
+                  "type" : "lookahead",
+                  "value" : [0, 64]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "parameters" : [
+                    {
+                      "type" : "header",
+                      "value" : "gtpu_0"
+                    }
+                  ],
+                  "op" : "add_header"
+                }
+              ],
+              "op" : "primitive"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "version"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3d"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "pt"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3c"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "spare"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3b"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "ex_flag"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3a"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "seq_flag"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x39"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "npdu_flag"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x38"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x01"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "msgtype"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x30"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "msglen"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x20"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["gtpu_0", "teid"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "tmp_11"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_12"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x3d"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_13"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : ">>",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["scalars", "tmp_11"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x30"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffffffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x086801ff",
+              "mask" : null,
+              "next_state" : "parse_gtpu"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x12b50000",
+              "mask" : "0xffff0000",
+              "next_state" : "parse_vxlan"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_udp10", "dport"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_12"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_13"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu",
+          "id" : 20,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_gtpu12"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000000",
+              "mask" : null,
+              "next_state" : "set_gtpu_only"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_gtpu_options"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_gtpu12", "ex_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_gtpu12", "seq_flag"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_gtpu12", "npdu_flag"]
+            }
+          ]
+        },
+        {
+          "name" : "set_gtpu_only",
+          "id" : 21,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_encap_presence7"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x01"
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_gtpu_options",
+          "id" : 22,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_gtpu_options13"
+                }
+              ],
+              "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" : ["_ingress_gtpu_options13", "next_ext"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "gtpu_ext_len_0"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_gtpu_ext_psc",
+          "id" : 23,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_gtpu_ext_psc14"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_encap_presence7"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x02"
+                }
+              ],
+              "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" : ["_ingress_gtpu_ext_psc14", "next_ext"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_vxlan",
+          "id" : 24,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_vxlan15"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["_ingress_bridged4", "_base_encap_presence7"]
+                },
+                {
+                  "type" : "hexstr",
+                  "value" : "0x03"
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_inner_ethernet16"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_inner_eth_type17"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x0800",
+              "mask" : null,
+              "next_state" : "parse_inner_ipv4"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_eth_type17", "value"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_ipv4",
+          "id" : 25,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_inner_ipv418"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x06",
+              "mask" : null,
+              "next_state" : "parse_inner_tcp"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11",
+              "mask" : null,
+              "next_state" : "parse_inner_udp"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01",
+              "mask" : null,
+              "next_state" : "parse_inner_icmp"
+            },
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_ipv418", "protocol"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_inner_tcp",
+          "id" : 26,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_inner_tcp19"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_inner_udp",
+          "id" : 27,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_inner_udp20"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_inner_icmp",
+          "id" : 28,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "_ingress_inner_icmp21"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "type" : "default",
+              "value" : null,
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        }
+      ]
+    }
+  ],
+  "parse_vsets" : [],
+  "deparsers" : [
+    {
+      "name" : "deparser",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/parser.p4",
+        "line" : 321,
+        "column" : 8,
+        "source_fragment" : "FabricDeparser"
+      },
+      "order" : ["_ingress_fake_ethernet2", "_ingress_packet_in1", "_egress_report_ethernet24", "_egress_report_eth_type25", "_egress_report_mpls26", "_egress_report_ipv427", "_egress_report_udp28", "_egress_report_fixed_header29", "_egress_common_report_header30", "_egress_local_report_header31", "_egress_drop_report_header32", "_ingress_ethernet3", "_ingress_vlan_tag4", "_ingress_eth_type5", "_ingress_mpls6", "_ingress_ipv47", "_ingress_ipv68", "_ingress_tcp9", "_ingress_udp10", "_ingress_icmp11", "_ingress_gtpu12", "_ingress_gtpu_options13", "_ingress_gtpu_ext_psc14", "_ingress_vxlan15", "_ingress_inner_ethernet16", "_ingress_inner_eth_type17", "_ingress_inner_ipv418", "_ingress_inner_tcp19", "_ingress_inner_udp20", "_ingress_inner_icmp21"],
+      "primitives" : []
+    }
+  ],
+  "meter_arrays" : [
+    {
+      "name" : "FabricIngress.qos.slice_tc_meter",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+        "line" : 104,
+        "column" : 41,
+        "source_fragment" : "slice_tc_meter"
+      },
+      "is_direct" : false,
+      "size" : 64,
+      "rate_count" : 2,
+      "type" : "bytes"
+    }
+  ],
+  "counter_arrays" : [
+    {
+      "name" : "FabricIngress.stats.flow_counter",
+      "id" : 0,
+      "is_direct" : true,
+      "binding" : "FabricIngress.stats.flows",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/stats.p4",
+        "line" : 14,
+        "column" : 50,
+        "source_fragment" : "flow_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
+      "id" : 1,
+      "is_direct" : true,
+      "binding" : "FabricIngress.filtering.ingress_port_vlan",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+        "line" : 17,
+        "column" : 50,
+        "source_fragment" : "ingress_port_vlan_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.filtering.fwd_classifier_counter",
+      "id" : 2,
+      "is_direct" : true,
+      "binding" : "FabricIngress.filtering.fwd_classifier",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+        "line" : 71,
+        "column" : 50,
+        "source_fragment" : "fwd_classifier_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.filtering.fwd_type_counter",
+      "id" : 3,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+        "line" : 78,
+        "column" : 46,
+        "source_fragment" : "fwd_type_counter"
+      },
+      "size" : 8,
+      "is_direct" : false
+    },
+    {
+      "name" : "FabricIngress.forwarding.bridging_counter",
+      "id" : 4,
+      "is_direct" : true,
+      "binding" : "FabricIngress.forwarding.bridging",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+        "line" : 29,
+        "column" : 50,
+        "source_fragment" : "bridging_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.forwarding.mpls_counter",
+      "id" : 5,
+      "is_direct" : true,
+      "binding" : "FabricIngress.forwarding.mpls",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+        "line" : 64,
+        "column" : 50,
+        "source_fragment" : "mpls_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.forwarding.routing_v4_counter",
+      "id" : 6,
+      "is_direct" : true,
+      "binding" : "FabricIngress.forwarding.routing_v4",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+        "line" : 98,
+        "column" : 50,
+        "source_fragment" : "routing_v4_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.forwarding.routing_v6_counter",
+      "id" : 7,
+      "is_direct" : true,
+      "binding" : "FabricIngress.forwarding.routing_v6",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+        "line" : 142,
+        "column" : 50,
+        "source_fragment" : "routing_v6_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.pre_next.next_mpls_counter",
+      "id" : 8,
+      "is_direct" : true,
+      "binding" : "FabricIngress.pre_next.next_mpls",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/pre_next.p4",
+        "line" : 15,
+        "column" : 50,
+        "source_fragment" : "next_mpls_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.pre_next.next_vlan_counter",
+      "id" : 9,
+      "is_direct" : true,
+      "binding" : "FabricIngress.pre_next.next_vlan",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/pre_next.p4",
+        "line" : 39,
+        "column" : 50,
+        "source_fragment" : "next_vlan_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.acl.acl_counter",
+      "id" : 10,
+      "is_direct" : true,
+      "binding" : "FabricIngress.acl.acl",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+        "line" : 19,
+        "column" : 50,
+        "source_fragment" : "acl_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.next.simple_counter",
+      "id" : 11,
+      "is_direct" : true,
+      "binding" : "FabricIngress.next.simple",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+        "line" : 76,
+        "column" : 50,
+        "source_fragment" : "simple_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.next.hashed_counter",
+      "id" : 12,
+      "is_direct" : true,
+      "binding" : "FabricIngress.next.hashed",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+        "line" : 115,
+        "column" : 50,
+        "source_fragment" : "hashed_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.next.multicast_counter",
+      "id" : 13,
+      "is_direct" : true,
+      "binding" : "FabricIngress.next.multicast",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+        "line" : 148,
+        "column" : 50,
+        "source_fragment" : "multicast_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.classifier_stats",
+      "id" : 14,
+      "is_direct" : true,
+      "binding" : "FabricIngress.slice_tc_classifier.classifier",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+        "line" : 20,
+        "column" : 40,
+        "source_fragment" : "classifier_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.qos.queues_stats",
+      "id" : 15,
+      "is_direct" : true,
+      "binding" : "FabricIngress.qos.queues",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+        "line" : 106,
+        "column" : 40,
+        "source_fragment" : "queues_stats"
+      }
+    },
+    {
+      "name" : "FabricIngress.int_watchlist.watchlist_counter",
+      "id" : 16,
+      "is_direct" : true,
+      "binding" : "FabricIngress.int_watchlist.watchlist",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+        "line" : 15,
+        "column" : 50,
+        "source_fragment" : "watchlist_counter"
+      }
+    },
+    {
+      "name" : "FabricIngress.int_ingress.drop_report_counter",
+      "id" : 17,
+      "is_direct" : true,
+      "binding" : "FabricIngress.int_ingress.drop_report",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+        "line" : 64,
+        "column" : 50,
+        "source_fragment" : "drop_report_counter"
+      }
+    },
+    {
+      "name" : "FabricEgress.stats.flow_counter",
+      "id" : 18,
+      "is_direct" : true,
+      "binding" : "FabricEgress.stats.flows",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/stats.p4",
+        "line" : 47,
+        "column" : 50,
+        "source_fragment" : "flow_counter"
+      }
+    },
+    {
+      "name" : "FabricEgress.egress_next.egress_vlan_counter",
+      "id" : 19,
+      "is_direct" : true,
+      "binding" : "FabricEgress.egress_next.egress_vlan",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+        "line" : 241,
+        "column" : 50,
+        "source_fragment" : "egress_vlan_counter"
+      }
+    },
+    {
+      "name" : "FabricEgress.int_egress.report_counter",
+      "id" : 20,
+      "is_direct" : true,
+      "binding" : "FabricEgress.int_egress.report",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+        "line" : 131,
+        "column" : 50,
+        "source_fragment" : "report_counter"
+      }
+    },
+    {
+      "name" : "FabricEgress.int_egress.int_metadata_counter",
+      "id" : 21,
+      "is_direct" : true,
+      "binding" : "FabricEgress.int_egress.int_metadata",
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+        "line" : 132,
+        "column" : 50,
+        "source_fragment" : "int_metadata_counter"
+      }
+    }
+  ],
+  "register_arrays" : [
+    {
+      "name" : "FabricEgress.int_egress.seq_number",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+        "line" : 138,
+        "column" : 28,
+        "source_fragment" : "seq_number"
+      },
+      "size" : 1024,
+      "bitwidth" : 32
+    }
+  ],
+  "calculations" : [
+    {
+      "name" : "calc",
+      "id" : 0,
+      "algo" : "crc32",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_15"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_16"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_17"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_0",
+      "id" : 1,
+      "algo" : "crc32",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_18"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_19"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_20"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_1",
+      "id" : 2,
+      "algo" : "crc32",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_21"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_22"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_23"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_24"]
+        },
+        {
+          "type" : "field",
+          "value" : ["scalars", "tmp_25"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_2",
+      "id" : 3,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 55,
+        "column" : 8,
+        "source_fragment" : "update_checksum(hdr.ingress.ipv4.isValid(), ..."
+      },
+      "algo" : "csum16",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "version"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "ihl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "dscp"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "ecn"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "total_len"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "identification"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "flags"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "frag_offset"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "ttl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "protocol"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "src_addr"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "dst_addr"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_3",
+      "id" : 4,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 73,
+        "column" : 8,
+        "source_fragment" : "update_checksum(hdr.ingress.inner_ipv4.isValid(), ..."
+      },
+      "algo" : "csum16",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "version"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "ihl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "dscp"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "ecn"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "total_len"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "identification"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "flags"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "frag_offset"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "ttl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "protocol"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "src_addr"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "dst_addr"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_4",
+      "id" : 5,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 92,
+        "column" : 8,
+        "source_fragment" : "update_checksum(hdr.egress.report_ipv4.isValid(), ..."
+      },
+      "algo" : "csum16",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "version"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "ihl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "dscp"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "ecn"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "total_len"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "identification"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "flags"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "frag_offset"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "ttl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "protocol"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "src_addr"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_egress_report_ipv427", "dst_addr"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_5",
+      "id" : 6,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 13,
+        "column" : 8,
+        "source_fragment" : "verify_checksum(hdr.ingress.ipv4.isValid(), ..."
+      },
+      "algo" : "csum16",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "version"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "ihl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "dscp"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "ecn"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "total_len"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "identification"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "flags"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "frag_offset"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "ttl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "protocol"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "src_addr"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_ipv47", "dst_addr"]
+        }
+      ]
+    },
+    {
+      "name" : "calc_6",
+      "id" : 7,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 31,
+        "column" : 8,
+        "source_fragment" : "verify_checksum(hdr.ingress.inner_ipv4.isValid(), ..."
+      },
+      "algo" : "csum16",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "version"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "ihl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "dscp"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "ecn"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "total_len"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "identification"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "flags"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "frag_offset"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "ttl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "protocol"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "src_addr"]
+        },
+        {
+          "type" : "field",
+          "value" : ["_ingress_inner_ipv418", "dst_addr"]
+        }
+      ]
+    }
+  ],
+  "learn_lists" : [],
+  "actions" : [
+    {
+      "name" : "nop",
+      "id" : 0,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 1,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 2,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 3,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 4,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 5,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "NoAction",
+      "id" : 6,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.stats.count",
+      "id" : 7,
+      "runtime_data" : [
+        {
+          "name" : "flow_id",
+          "bitwidth" : 10
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_stats_flow_id11"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/stats.p4",
+            "line" : 17,
+            "column" : 22,
+            "source_fragment" : "= flow_id; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.pkt_io.do_packet_out",
+      "id" : 8,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_packet_out0", "egress_port"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 13,
+            "column" : 8,
+            "source_fragment" : "standard_md.egress_spec = (PortId_t)hdr.packet_out.egress_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_packet_out0", "egress_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 14,
+            "column" : 37,
+            "source_fragment" : "= hdr.packet_out.egress_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 15,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_packet_out0"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 16,
+            "column" : 8,
+            "source_fragment" : "hdr.packet_out.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._skip_egress0"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 17,
+            "column" : 20,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_bridged4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 19,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.setInvalid()"
+          }
+        },
+        {
+          "op" : "exit",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 20,
+            "column" : 8,
+            "source_fragment" : "exit"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.filtering.deny",
+      "id" : 9,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_forwarding19"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 22,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 23,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_ig_port_type33"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 100,
+            "column" : 14,
+            "source_fragment" : "0x0, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x37"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 250,
+            "column" : 41,
+            "source_fragment" : "55, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.filtering.permit",
+      "id" : 10,
+      "runtime_data" : [
+        {
+          "name" : "port_type",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_ig_port_type33"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 33,
+            "column" : 31,
+            "source_fragment" : "= port_type; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.filtering.permit_with_internal_vlan",
+      "id" : 11,
+      "runtime_data" : [
+        {
+          "name" : "vlan_id",
+          "bitwidth" : 12
+        },
+        {
+          "name" : "port_type",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_vlan_id6"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 38,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.vlan_id = vlan_id"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_ig_port_type33"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 33,
+            "column" : 31,
+            "source_fragment" : "= port_type; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.filtering.set_forwarding_type",
+      "id" : 12,
+      "runtime_data" : [
+        {
+          "name" : "fwd_type",
+          "bitwidth" : 3
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 74,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.fwd_type = fwd_type"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_int_drop_reason",
+      "id" : 13,
+      "runtime_data" : [
+        {
+          "name" : "drop_reason",
+          "bitwidth" : 8
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 17,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.int_bmd.drop_reason = (IntDropReason_t)drop_reason"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_int_drop_reason",
+      "id" : 14,
+      "runtime_data" : [
+        {
+          "name" : "drop_reason",
+          "bitwidth" : 8
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 17,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.int_bmd.drop_reason = (IntDropReason_t)drop_reason"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_int_drop_reason",
+      "id" : 15,
+      "runtime_data" : [
+        {
+          "name" : "drop_reason",
+          "bitwidth" : 8
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 17,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.int_bmd.drop_reason = (IntDropReason_t)drop_reason"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_int_drop_reason",
+      "id" : 16,
+      "runtime_data" : [
+        {
+          "name" : "drop_reason",
+          "bitwidth" : 8
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 17,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.int_bmd.drop_reason = (IntDropReason_t)drop_reason"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_next_id_bridging",
+      "id" : 17,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_next_id21"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 23,
+            "column" : 26,
+            "source_fragment" : "= next_id; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.pop_mpls_and_next",
+      "id" : 18,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_mpls6"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 67,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_ip_eth_type10"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 68,
+            "column" : 8,
+            "source_fragment" : "hdr.eth_type.value = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_mpls_label2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 69,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.mpls_label = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_next_id21"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 23,
+            "column" : 26,
+            "source_fragment" : "= next_id; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
+      "id" : 19,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_next_id21"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 23,
+            "column" : 26,
+            "source_fragment" : "= next_id; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.nop_routing_v4",
+      "id" : 20,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.forwarding.drop_routing_v4",
+      "id" : 21,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 111,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 113,
+            "column" : 17,
+            "source_fragment" : "= 1; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.set_next_id_routing_v6",
+      "id" : 22,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_next_id21"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 23,
+            "column" : 26,
+            "source_fragment" : "= next_id; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.forwarding.drop_routing_v6",
+      "id" : 23,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 150,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 152,
+            "column" : 17,
+            "source_fragment" : "= 1; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.pre_next.set_mpls_label",
+      "id" : 24,
+      "runtime_data" : [
+        {
+          "name" : "label",
+          "bitwidth" : 20
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_mpls_label2"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/pre_next.p4",
+            "line" : 18,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.mpls_label = label"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.pre_next.set_vlan",
+      "id" : 25,
+      "runtime_data" : [
+        {
+          "name" : "vlan_id",
+          "bitwidth" : 12
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_vlan_id6"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/pre_next.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.vlan_id = vlan_id"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.acl.set_next_id_acl",
+      "id" : 26,
+      "runtime_data" : [
+        {
+          "name" : "next_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_next_id21"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 22,
+            "column" : 26,
+            "source_fragment" : "= next_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 26,
+            "column" : 28,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 27,
+            "column" : 17,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.acl.copy_to_cpu",
+      "id" : 27,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "clone_ingress_pkt_to_egress",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000001ff"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x2"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 31,
+            "column" : 8,
+            "source_fragment" : "clone_preserving_field_list(CloneType.I2E, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.acl.punt_to_cpu",
+      "id" : 28,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "clone_ingress_pkt_to_egress",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000001ff"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x2"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 31,
+            "column" : 8,
+            "source_fragment" : "clone_preserving_field_list(CloneType.I2E, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 40,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_punt_to_cpu23"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 41,
+            "column" : 30,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 42,
+            "column" : 17,
+            "source_fragment" : "= 1; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.acl.drop",
+      "id" : 29,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 46,
+            "column" : 17,
+            "source_fragment" : "= 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 47,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x50"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 252,
+            "column" : 27,
+            "source_fragment" : "80, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.acl.set_output_port",
+      "id" : 30,
+      "runtime_data" : [
+        {
+          "name" : "port_num",
+          "bitwidth" : 9
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 62,
+            "column" : 8,
+            "source_fragment" : "standard_md.egress_spec = (PortId_t) port_num"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 63,
+            "column" : 37,
+            "source_fragment" : "= port_num; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 64,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 65,
+            "column" : 28,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 66,
+            "column" : 17,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.acl.nop_acl",
+      "id" : 31,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.next.output_simple",
+      "id" : 32,
+      "runtime_data" : [
+        {
+          "name" : "port_num",
+          "bitwidth" : 9
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 16,
+            "column" : 8,
+            "source_fragment" : "standard_md.egress_spec = (PortId_t)port_num"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 17,
+            "column" : 37,
+            "source_fragment" : "= port_num; // Needed by INT. ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 18,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.next.routing_simple",
+      "id" : 33,
+      "runtime_data" : [
+        {
+          "name" : "port_num",
+          "bitwidth" : 9
+        },
+        {
+          "name" : "smac",
+          "bitwidth" : 48
+        },
+        {
+          "name" : "dmac",
+          "bitwidth" : 48
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 23,
+            "column" : 8,
+            "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 28,
+            "column" : 8,
+            "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 16,
+            "column" : 8,
+            "source_fragment" : "standard_md.egress_spec = (PortId_t)port_num"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 17,
+            "column" : 37,
+            "source_fragment" : "= port_num; // Needed by INT. ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 18,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.next.output_hashed",
+      "id" : 34,
+      "runtime_data" : [
+        {
+          "name" : "port_num",
+          "bitwidth" : 9
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 16,
+            "column" : 8,
+            "source_fragment" : "standard_md.egress_spec = (PortId_t)port_num"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 17,
+            "column" : 37,
+            "source_fragment" : "= port_num; // Needed by INT. ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 18,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.next.routing_hashed",
+      "id" : 35,
+      "runtime_data" : [
+        {
+          "name" : "port_num",
+          "bitwidth" : 9
+        },
+        {
+          "name" : "smac",
+          "bitwidth" : 48
+        },
+        {
+          "name" : "dmac",
+          "bitwidth" : 48
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 23,
+            "column" : 8,
+            "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 28,
+            "column" : 8,
+            "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 16,
+            "column" : 8,
+            "source_fragment" : "standard_md.egress_spec = (PortId_t)port_num"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_egress_port47"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 17,
+            "column" : 37,
+            "source_fragment" : "= port_num; // Needed by INT. ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_egress_port_set22"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 18,
+            "column" : 34,
+            "source_fragment" : "= true; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.next.set_mcast_group_id",
+      "id" : 36,
+      "runtime_data" : [
+        {
+          "name" : "group_id",
+          "bitwidth" : 16
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "mcast_grp"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 151,
+            "column" : 8,
+            "source_fragment" : "standard_md.mcast_grp = group_id"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_is_multicast4"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 152,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.is_multicast = true"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.next.reset_mcast_group_id",
+      "id" : 37,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "mcast_grp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 157,
+            "column" : 8,
+            "source_fragment" : "standard_md.mcast_grp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_is_multicast4"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 158,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.is_multicast = false"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.set_slice_id_tc",
+      "id" : 38,
+      "runtime_data" : [
+        {
+          "name" : "slice_id",
+          "bitwidth" : 4
+        },
+        {
+          "name" : "tc",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_slice_id26"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 23,
+            "column" : 27,
+            "source_fragment" : "= slice_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc27"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 24,
+            "column" : 21,
+            "source_fragment" : "= tc; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc_unknown28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 25,
+            "column" : 29,
+            "source_fragment" : "= false; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.no_classification",
+      "id" : 39,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_slice_id26"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 57,
+            "column" : 36,
+            "source_fragment" : "0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc27"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 58,
+            "column" : 24,
+            "source_fragment" : "0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc_unknown28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 25,
+            "column" : 29,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc_unknown28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 31,
+            "column" : 29,
+            "source_fragment" : "= true; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.slice_tc_classifier.trust_dscp",
+      "id" : 40,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_slice_id26"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : ">>",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["_ingress_ipv47", "dscp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x2"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x3f"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x0f"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 38,
+            "column" : 27,
+            "source_fragment" : "= hdr.ipv4.dscp[4 +2 -1:2]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc27"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_ipv47", "dscp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x03"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 39,
+            "column" : 21,
+            "source_fragment" : "= hdr.ipv4.dscp[2 -1:0]; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_tc_unknown28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 40,
+            "column" : 29,
+            "source_fragment" : "= false; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.use_upf",
+      "id" : 41,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_slice_tc12"]
+            },
+            {
+              "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._ingress_upf_slice_id30"]
+                              },
+                              "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._ingress_upf_tc31"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 81,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.slice_tc = fabric_md.upf_slice_id++fabric_md.upf_tc"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.use_default",
+      "id" : 42,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_slice_tc12"]
+            },
+            {
+              "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._ingress_slice_id26"]
+                              },
+                              "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._ingress_tc27"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 86,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.slice_tc = fabric_md.slice_id++fabric_md.tc"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_queue",
+      "id" : 43,
+      "runtime_data" : [
+        {
+          "name" : "qid",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricIngress.qos.meter_drop",
+      "id" : 44,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 115,
+            "column" : 17,
+            "source_fragment" : "= 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xa0"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 269,
+            "column" : 36,
+            "source_fragment" : "160, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.qos.set_default_tc",
+      "id" : 45,
+      "runtime_data" : [
+        {
+          "name" : "tc",
+          "bitwidth" : 2
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_slice_tc12"]
+            },
+            {
+              "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" : "expression",
+                                    "value" : {
+                                      "op" : "&",
+                                      "left" : {
+                                        "type" : "expression",
+                                        "value" : {
+                                          "op" : ">>",
+                                          "left" : {
+                                            "type" : "field",
+                                            "value" : ["_ingress_bridged4", "_base_slice_tc12"]
+                                          },
+                                          "right" : {
+                                            "type" : "hexstr",
+                                            "value" : "0x2"
+                                          }
+                                        }
+                                      },
+                                      "right" : {
+                                        "type" : "hexstr",
+                                        "value" : "0x3f"
+                                      }
+                                    }
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x0f"
+                                  }
+                                }
+                              },
+                              "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" : "local",
+                            "value" : 0
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 146,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.slice_tc = fabric_md.bridged.base.slice_tc[4 +2 -1:2]++tc"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.int_watchlist.mark_to_report",
+      "id" : 46,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_report_type13"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 223,
+            "column" : 45,
+            "source_fragment" : "1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_report_type46"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 223,
+            "column" : 45,
+            "source_fragment" : "1; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.int_watchlist.no_report",
+      "id" : 47,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_report_type13"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 219,
+            "column" : 50,
+            "source_fragment" : "0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_report_type46"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 219,
+            "column" : 50,
+            "source_fragment" : "0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.int_watchlist.no_report_collector",
+      "id" : 48,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_report_type13"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 219,
+            "column" : 50,
+            "source_fragment" : "0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricIngress.int_ingress.report_drop",
+      "id" : 49,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_bmd_type0"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 169,
+            "column" : 23,
+            "source_fragment" : "4, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_report_type13"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 221,
+            "column" : 45,
+            "source_fragment" : "4; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_vlan_id6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0ffe"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 147,
+            "column" : 34,
+            "source_fragment" : "12w4094; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_mpls_label2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 71,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.mpls_label = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 79,
+            "column" : 17,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01fe"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/define_v1model.p4",
+            "line" : 36,
+            "column" : 42,
+            "source_fragment" : "510; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model64",
+      "id" : 50,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "exit",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 64,
+            "column" : 12,
+            "source_fragment" : "exit"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model61",
+      "id" : 51,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_md)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model70",
+      "id" : 52,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_ig_port3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01fe"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/define_v1model.p4",
+            "line" : 36,
+            "column" : 42,
+            "source_fragment" : "510; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init21",
+      "id" : 53,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_vlan_id9"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_vlan_tag4", "vlan_id"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 21,
+            "column" : 27,
+            "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init15",
+      "id" : 54,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_eth_dst6"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 15,
+            "column" : 23,
+            "source_fragment" : "= hdr.ethernet.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_eth_src7"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 16,
+            "column" : 23,
+            "source_fragment" : "= hdr.ethernet.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_eth_type8"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 17,
+            "column" : 24,
+            "source_fragment" : "= hdr.eth_type.value; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_vlan_id9"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 19,
+            "column" : 23,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init38",
+      "id" : 55,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_tcp19", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 38,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_tcp19", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 39,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init41",
+      "id" : 56,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_udp20", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 41,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_udp20", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 42,
+            "column" : 32,
+            "source_fragment" : "= hdr.inner_udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init44",
+      "id" : 57,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_icmp_type16"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_icmp21", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 44,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_icmp_code17"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_icmp21", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 45,
+            "column" : 33,
+            "source_fragment" : "= hdr.inner_icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init33",
+      "id" : 58,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_is_ipv410"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 33,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_ipv418", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 34,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_ipv418", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 35,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_inner_ipv418", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 36,
+            "column" : 28,
+            "source_fragment" : "= hdr.inner_ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init53",
+      "id" : 59,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_tcp9", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 53,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_tcp9", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 54,
+            "column" : 32,
+            "source_fragment" : "= hdr.tcp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init56",
+      "id" : 60,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_udp10", "sport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 56,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.sport; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_udp10", "dport"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 57,
+            "column" : 32,
+            "source_fragment" : "= hdr.udp.dport; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init59",
+      "id" : 61,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_icmp_type16"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_icmp11", "icmp_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 59,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_type; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_icmp_code17"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_icmp11", "icmp_code"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 60,
+            "column" : 33,
+            "source_fragment" : "= hdr.icmp.icmp_code; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init48",
+      "id" : 62,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_is_ipv410"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 48,
+            "column" : 27,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 49,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.src_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 50,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.dst_addr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "protocol"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 51,
+            "column" : 28,
+            "source_fragment" : "= hdr.ipv4.protocol; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "lookup_md_init24",
+      "id" : 63,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_is_ipv410"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 24,
+            "column" : 23,
+            "source_fragment" : "= false; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 25,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 26,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 27,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 28,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 29,
+            "column" : 24,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_icmp_type16"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 30,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_icmp_code17"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 31,
+            "column" : 25,
+            "source_fragment" : "= 0; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "filtering100",
+      "id" : 64,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_14"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 100,
+            "column" : 31,
+            "source_fragment" : "(bit<32>)fabric_md.bridged.base.fwd_type"
+          }
+        },
+        {
+          "op" : "count",
+          "parameters" : [
+            {
+              "type" : "counter_array",
+              "value" : "FabricIngress.filtering.fwd_type_counter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_14"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 100,
+            "column" : 8,
+            "source_fragment" : "fwd_type_counter.count((bit<32>)fabric_md.bridged.base.fwd_type)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "hasher39",
+      "id" : 65,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_15"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 43,
+            "column" : 17,
+            "source_fragment" : "hdr.ipv4.src_addr"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_16"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 43,
+            "column" : 36,
+            "source_fragment" : "hdr.ipv4.dst_addr"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_17"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_gtpu12", "teid"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 43,
+            "column" : 55,
+            "source_fragment" : "hdr.gtpu.teid"
+          }
+        },
+        {
+          "op" : "modify_field_with_hash_based_offset",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_ecmp_hash5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            },
+            {
+              "type" : "calculation",
+              "value" : "calc"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffffffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 39,
+            "column" : 12,
+            "source_fragment" : "hash( ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "hasher50",
+      "id" : 66,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_ecmp_hash5"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_inner_hash1"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 50,
+            "column" : 32,
+            "source_fragment" : "= fabric_md.bridged.base.inner_hash; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "hasher66",
+      "id" : 67,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_inner_hash1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 66,
+            "column" : 12,
+            "source_fragment" : "fabric_md.bridged.base.inner_hash = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_18"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "dst_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 71,
+            "column" : 17,
+            "source_fragment" : "hdr.ethernet.dst_addr"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_19"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_ethernet3", "src_addr"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 71,
+            "column" : 40,
+            "source_fragment" : "hdr.ethernet.src_addr"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_20"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 71,
+            "column" : 63,
+            "source_fragment" : "hdr.eth_type.value"
+          }
+        },
+        {
+          "op" : "modify_field_with_hash_based_offset",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_ecmp_hash5"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            },
+            {
+              "type" : "calculation",
+              "value" : "calc_0"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffffffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 67,
+            "column" : 12,
+            "source_fragment" : "hash( ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "hasher17",
+      "id" : 68,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_21"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 91,
+            "column" : 34,
+            "source_fragment" : "fabric_md"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_22"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 91,
+            "column" : 34,
+            "source_fragment" : "fabric_md"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_23"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 91,
+            "column" : 34,
+            "source_fragment" : "fabric_md"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_24"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 91,
+            "column" : 34,
+            "source_fragment" : "fabric_md"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_25"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 91,
+            "column" : 34,
+            "source_fragment" : "fabric_md"
+          }
+        },
+        {
+          "op" : "modify_field_with_hash_based_offset",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_base_inner_hash1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00000000"
+            },
+            {
+              "type" : "calculation",
+              "value" : "calc_1"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffffffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 17,
+            "column" : 8,
+            "source_fragment" : "hash( ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing174",
+      "id" : 69,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_26"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_bridged4", "_base_slice_tc12"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 174,
+            "column" : 41,
+            "source_fragment" : "(bit<32>) fabric_md.bridged.base.slice_tc"
+          }
+        },
+        {
+          "op" : "execute_meter",
+          "parameters" : [
+            {
+              "type" : "meter_array",
+              "value" : "FabricIngress.qos.slice_tc_meter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_26"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "qos_packet_color"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 174,
+            "column" : 12,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) fabric_md.bridged.base.slice_tc, packet_color)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing177",
+      "id" : 70,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "qos_packet_color"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/define_v1model.p4",
+            "line" : 25,
+            "column" : 10,
+            "source_fragment" : "2 ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int112",
+      "id" : 71,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_egress_port17"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 112,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.int_bmd.egress_port = standard_md.egress_spec"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_bridged4", "_int_bmd_queue_id16"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 113,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.int_bmd.queue_id = 0"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model110",
+      "id" : 72,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 110,
+            "column" : 12,
+            "source_fragment" : "mark_to_drop(standard_md)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model106",
+      "id" : 73,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_bridged36"
+            },
+            {
+              "type" : "header",
+              "value" : "_ingress_bridged4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 106,
+            "column" : 8,
+            "source_fragment" : "fabric_md.egress.bridged = fabric_md"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "nop",
+      "id" : 74,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 75,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 76,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 77,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 78,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "nop",
+      "id" : 79,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.stats.count",
+      "id" : 80,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.pkt_io_egress.set_switch_info",
+      "id" : 81,
+      "runtime_data" : [
+        {
+          "name" : "cpu_port",
+          "bitwidth" : 9
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_cpu_port37"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "local",
+                    "value" : 0
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01ff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 36,
+            "column" : 27,
+            "source_fragment" : "= (PortId_t)cpu_port; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.egress_next.pop_mpls_if_present",
+      "id" : 82,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_mpls6"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 198,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_ip_eth_type10"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 200,
+            "column" : 8,
+            "source_fragment" : "hdr.eth_type.value = fabric_md.bridged"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.egress_next.set_mpls",
+      "id" : 83,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_mpls6"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 205,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_mpls6", "label"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_mpls_label2"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 206,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.label = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_mpls6", "tc"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 207,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.tc = 3w0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_mpls6", "bos"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 208,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.bos = 1w1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_mpls6", "ttl"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_mpls_ttl8"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 209,
+            "column" : 8,
+            "source_fragment" : "hdr.mpls.ttl = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_eth_type5", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x8847"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 112,
+            "column" : 31,
+            "source_fragment" : "0x8847; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.egress_next.push_vlan",
+      "id" : 84,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_vlan_tag4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 217,
+            "column" : 8,
+            "source_fragment" : "hdr.vlan_tag.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_vlan_tag4", "eth_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x8100"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 111,
+            "column" : 31,
+            "source_fragment" : "0x8100; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_vlan_tag4", "vlan_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_vlan_id6"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 221,
+            "column" : 8,
+            "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_md.bridged"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.egress_next.pop_vlan",
+      "id" : 85,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_vlan_tag4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 249,
+            "column" : 8,
+            "source_fragment" : "hdr.vlan_tag.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.egress_next.drop",
+      "id" : 86,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 254,
+            "column" : 17,
+            "source_fragment" : "= 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_drop_reason48"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x82"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 257,
+            "column" : 35,
+            "source_fragment" : "130, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.rewrite",
+      "id" : 87,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.dscp_rewriter.clear",
+      "id" : 88,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 198,
+            "column" : 8,
+            "source_fragment" : "tmp_dscp = 0"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.parser_emulator.parse_int_ingress_drop",
+      "id" : 89,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 20,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ethernet.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 25,
+            "column" : 8,
+            "source_fragment" : "hdr.report_eth_type.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 37,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 38,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.version = 4w4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 39,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 40,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 44,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 150,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 134,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 53,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_udp", "sport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.sport = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 60,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ver"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ver = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 203,
+            "column" : 52,
+            "source_fragment" : "2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "rsvd"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 66,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 71,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_int_report_md38"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 79,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "ip_eth_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 114,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "report_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 221,
+            "column" : 45,
+            "source_fragment" : "4; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "mirror_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 178,
+            "column" : 14,
+            "source_fragment" : "0, ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 85,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "bmd_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 169,
+            "column" : 23,
+            "source_fragment" : "4, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "encap_presence"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_encap_presence7"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 93,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.encap_presence = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "flow_hash"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_inner_hash1"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 94,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.flow_hash = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_drop_report_header", "drop_reason"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_int_bmd_drop_reason15"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 97,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.drop_reason = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ig_tstamp"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_base_ig_tstamp9"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 99,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ig_tstamp = fabric_md.bridged.base.ig_tstamp[31:0]"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "ig_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_ig_port3"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 101,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.ig_port = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "eg_port"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 102,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.eg_port = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "queue_id"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 103,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.queue_id = 0"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.parser_emulator.parse_int_ingress_drop",
+      "id" : 90,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 20,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ethernet.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 25,
+            "column" : 8,
+            "source_fragment" : "hdr.report_eth_type.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 37,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 38,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.version = 4w4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 39,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 40,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 44,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 150,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 134,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 53,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_udp", "sport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.sport = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 60,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ver"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ver = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 203,
+            "column" : 52,
+            "source_fragment" : "2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "rsvd"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 66,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 71,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_int_report_md38"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 79,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "ip_eth_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0800"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 114,
+            "column" : 31,
+            "source_fragment" : "0x0800; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "report_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 221,
+            "column" : 45,
+            "source_fragment" : "4; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "mirror_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 178,
+            "column" : 14,
+            "source_fragment" : "0, ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 85,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "bmd_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 169,
+            "column" : 23,
+            "source_fragment" : "4, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "encap_presence"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_encap_presence7"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 93,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.encap_presence = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "flow_hash"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_inner_hash1"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 94,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.flow_hash = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_drop_report_header", "drop_reason"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_int_bmd_drop_reason15"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 97,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.drop_reason = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ig_tstamp"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_base_ig_tstamp9"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 99,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ig_tstamp = fabric_md.bridged.base.ig_tstamp[31:0]"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "ig_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_ig_port3"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 101,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.ig_port = fabric_md.bridged"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "eg_port"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 102,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.eg_port = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "queue_id"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 103,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.queue_id = 0"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.parser_emulator.parse_int_report_mirror",
+      "id" : 91,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 20,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ethernet.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 25,
+            "column" : 8,
+            "source_fragment" : "hdr.report_eth_type.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 37,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 38,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.version = 4w4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 39,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 40,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 44,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 150,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 134,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 53,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_udp", "sport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.sport = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 60,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ver"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ver = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 203,
+            "column" : 52,
+            "source_fragment" : "2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "rsvd"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 66,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 71,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_bmd_type0"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "bmd_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 110,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.bmd_type = fabric_md.int_report_md.bmd_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_vlan_id6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0ffe"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 147,
+            "column" : 34,
+            "source_fragment" : "12w4094; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_mpls_label2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 112,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.mpls_label = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ig_tstamp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "ig_tstamp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 118,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ig_tstamp = fabric_md.int_report_md.ig_tstamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "ig_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "ig_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 121,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.ig_port = fabric_md.int_report_md.ig_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "eg_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "eg_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 122,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.eg_port = fabric_md.int_report_md.eg_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "queue_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "queue_id"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 123,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.queue_id = fabric_md.int_report_md.queue_id"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 126,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_local_report_header", "queue_occupancy"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "queue_occupancy"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 127,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.queue_occupancy = fabric_md.int_report_md.queue_occupancy"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_local_report_header", "eg_tstamp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "eg_tstamp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 128,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.eg_tstamp = fabric_md.int_report_md.eg_tstamp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.parser_emulator.parse_int_report_mirror",
+      "id" : 92,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 20,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ethernet.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 25,
+            "column" : 8,
+            "source_fragment" : "hdr.report_eth_type.setValid()"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 37,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "version"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 38,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.version = 4w4"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ihl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 39,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "dscp"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 40,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dscp = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ecn"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 41,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "flags"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 44,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.flags = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "frag_offset"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 45,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 150,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_ipv4", "protocol"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 134,
+            "column" : 25,
+            "source_fragment" : "17; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 53,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_udp", "sport"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 54,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.sport = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 60,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ver"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ver = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 203,
+            "column" : 52,
+            "source_fragment" : "2; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "rsvd"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 66,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 71,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_bmd_type0"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "bmd_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 110,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.bmd_type = fabric_md.int_report_md.bmd_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_vlan_id6"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0ffe"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 147,
+            "column" : 34,
+            "source_fragment" : "12w4094; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_mpls_label2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x000000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 112,
+            "column" : 8,
+            "source_fragment" : "fabric_md.bridged.base.mpls_label = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_report_fixed_header", "ig_tstamp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "ig_tstamp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 118,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.ig_tstamp = fabric_md.int_report_md.ig_tstamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "ig_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "ig_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 121,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.ig_port = fabric_md.int_report_md.ig_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "eg_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "eg_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 122,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.eg_port = fabric_md.int_report_md.eg_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_common_report_header", "queue_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "queue_id"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 123,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.queue_id = fabric_md.int_report_md.queue_id"
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 126,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_local_report_header", "queue_occupancy"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "queue_occupancy"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 127,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.queue_occupancy = fabric_md.int_report_md.queue_occupancy"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["parser_emulator_hdr_local_report_header", "eg_tstamp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_int_report_md38", "eg_tstamp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 128,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.eg_tstamp = fabric_md.int_report_md.eg_tstamp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.check_quota",
+      "id" : 93,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.int_egress.reset_quota",
+      "id" : 94,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "FabricEgress.int_egress.set_config",
+      "id" : 95,
+      "runtime_data" : [
+        {
+          "name" : "hop_latency_mask",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "timestamp_mask",
+          "bitwidth" : 48
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "hop_latency"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_fabric_md_int_md", "hop_latency"]
+                  },
+                  "right" : {
+                    "type" : "local",
+                    "value" : 0
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 179,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_md.hop_latency = fabric_md.int_md.hop_latency & hop_latency_mask"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "timestamp"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_fabric_md_int_md", "timestamp"]
+                  },
+                  "right" : {
+                    "type" : "local",
+                    "value" : 1
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 180,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_md.timestamp = fabric_md.int_md.timestamp & timestamp_mask"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.do_local_report_encap",
+      "id" : 96,
+      "runtime_data" : [
+        {
+          "name" : "src_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_port",
+          "bitwidth" : 16
+        },
+        {
+          "name" : "switch_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "modify_field_rng_uniform",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 195,
+            "column" : 8,
+            "source_fragment" : "random(hdr.report_ipv4.identification, 0, 0xffff)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 197,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.src_addr = src_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 198,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_udp", "dport"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 199,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.dport = mon_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_27"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_read",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_27"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 143,
+            "column" : 8,
+            "source_fragment" : "seq_number.read(reg, seq_number_idx)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "int_egress_reg"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00000001"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 144,
+            "column" : 8,
+            "source_fragment" : "reg = reg + 1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_28"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_write",
+          "parameters" : [
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_28"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 146,
+            "column" : 8,
+            "source_fragment" : "seq_number.write(seq_number_idx, reg)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "seq_no"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ]
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "dqf"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "report_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 201,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.dqf = fabric_md.int_report_md.report_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "switch_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 202,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.switch_id = switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 203,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad1 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 204,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad2 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 205,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad3 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_eth_type", "value"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ip_eth_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 207,
+            "column" : 8,
+            "source_fragment" : "hdr.eth_type.value = fabric_md.int_report_md.ip_eth_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_mirror_type3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 178,
+            "column" : 14,
+            "source_fragment" : "0, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_eth_type", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 125,
+            "column" : 39,
+            "source_fragment" : "0xBF04; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 203,
+            "column" : 52,
+            "source_fragment" : "2; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 218,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.setValid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.do_local_report_encap_mpls",
+      "id" : 97,
+      "runtime_data" : [
+        {
+          "name" : "src_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_port",
+          "bitwidth" : 16
+        },
+        {
+          "name" : "mon_label",
+          "bitwidth" : 20
+        },
+        {
+          "name" : "switch_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "modify_field_rng_uniform",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 195,
+            "column" : 8,
+            "source_fragment" : "random(hdr.report_ipv4.identification, 0, 0xffff)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 197,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.src_addr = src_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 198,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_udp", "dport"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 199,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.dport = mon_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_29"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_read",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_29"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 143,
+            "column" : 8,
+            "source_fragment" : "seq_number.read(reg, seq_number_idx)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "int_egress_reg"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00000001"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 144,
+            "column" : 8,
+            "source_fragment" : "reg = reg + 1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_30"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_write",
+          "parameters" : [
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_30"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 146,
+            "column" : 8,
+            "source_fragment" : "seq_number.write(seq_number_idx, reg)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "seq_no"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ]
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "dqf"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "report_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 201,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.dqf = fabric_md.int_report_md.report_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "switch_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 202,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.switch_id = switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 203,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad1 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 204,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad2 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 205,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad3 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_eth_type", "value"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ip_eth_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 207,
+            "column" : 8,
+            "source_fragment" : "hdr.eth_type.value = fabric_md.int_report_md.ip_eth_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_mirror_type3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 178,
+            "column" : 14,
+            "source_fragment" : "0, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_eth_type", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 125,
+            "column" : 39,
+            "source_fragment" : "0xBF04; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 203,
+            "column" : 52,
+            "source_fragment" : "2; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 218,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_eth_type", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 126,
+            "column" : 39,
+            "source_fragment" : "0xBF05; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_mpls"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 226,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "tc"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 227,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.tc = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "bos"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 228,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.bos = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 149,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "label"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 230,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.label = mon_label"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.do_drop_report_encap",
+      "id" : 98,
+      "runtime_data" : [
+        {
+          "name" : "src_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_port",
+          "bitwidth" : 16
+        },
+        {
+          "name" : "switch_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "modify_field_rng_uniform",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 195,
+            "column" : 8,
+            "source_fragment" : "random(hdr.report_ipv4.identification, 0, 0xffff)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 197,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.src_addr = src_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 198,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_udp", "dport"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 199,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.dport = mon_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_31"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_read",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_31"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 143,
+            "column" : 8,
+            "source_fragment" : "seq_number.read(reg, seq_number_idx)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "int_egress_reg"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00000001"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 144,
+            "column" : 8,
+            "source_fragment" : "reg = reg + 1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_32"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_write",
+          "parameters" : [
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_32"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 146,
+            "column" : 8,
+            "source_fragment" : "seq_number.write(seq_number_idx, reg)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "seq_no"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ]
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "dqf"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "report_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 201,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.dqf = fabric_md.int_report_md.report_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "switch_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 202,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.switch_id = switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 203,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad1 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 204,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad2 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 205,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad3 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_eth_type", "value"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ip_eth_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 207,
+            "column" : 8,
+            "source_fragment" : "hdr.eth_type.value = fabric_md.int_report_md.ip_eth_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_mirror_type3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 178,
+            "column" : 14,
+            "source_fragment" : "0, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_eth_type", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 125,
+            "column" : 39,
+            "source_fragment" : "0xBF04; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 202,
+            "column" : 44,
+            "source_fragment" : "1; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 238,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 241,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_drop_report_header", "drop_reason"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_bridged", "_int_bmd_drop_reason15"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 243,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.drop_reason ="
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.do_drop_report_encap_mpls",
+      "id" : 99,
+      "runtime_data" : [
+        {
+          "name" : "src_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_ip",
+          "bitwidth" : 32
+        },
+        {
+          "name" : "mon_port",
+          "bitwidth" : 16
+        },
+        {
+          "name" : "mon_label",
+          "bitwidth" : 20
+        },
+        {
+          "name" : "switch_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "modify_field_rng_uniform",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "identification"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xffff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 195,
+            "column" : 8,
+            "source_fragment" : "random(hdr.report_ipv4.identification, 0, 0xffff)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 197,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.src_addr = src_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_ipv4", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 198,
+            "column" : 8,
+            "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_udp", "dport"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 199,
+            "column" : 8,
+            "source_fragment" : "hdr.report_udp.dport = mon_port; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_33"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_read",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_33"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 143,
+            "column" : 8,
+            "source_fragment" : "seq_number.read(reg, seq_number_idx)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "int_egress_reg"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x00000001"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 144,
+            "column" : 8,
+            "source_fragment" : "reg = reg + 1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_34"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 200,
+            "column" : 23,
+            "source_fragment" : "(bit<32>)hdr.report_fixed_header.hw_id"
+          }
+        },
+        {
+          "op" : "register_write",
+          "parameters" : [
+            {
+              "type" : "register_array",
+              "value" : "FabricEgress.int_egress.seq_number"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_34"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 146,
+            "column" : 8,
+            "source_fragment" : "seq_number.write(seq_number_idx, reg)"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "seq_no"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_reg"]
+            }
+          ]
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "dqf"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "report_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 201,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.dqf = fabric_md.int_report_md.report_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "switch_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 4
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 202,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.switch_id = switch_id; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad1"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 203,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad1 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 204,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad2 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_common_report_header", "pad3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 205,
+            "column" : 8,
+            "source_fragment" : "hdr.common_report_header.pad3 = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_eth_type", "value"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ip_eth_type"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 207,
+            "column" : 8,
+            "source_fragment" : "hdr.eth_type.value = fabric_md.int_report_md.ip_eth_type"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_mirror_type3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 178,
+            "column" : 14,
+            "source_fragment" : "0, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_eth_type", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf04"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 125,
+            "column" : 39,
+            "source_fragment" : "0xBF04; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "nproto"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 202,
+            "column" : 44,
+            "source_fragment" : "1; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 238,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.setValid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 241,
+            "column" : 8,
+            "source_fragment" : "hdr.local_report_header.setInvalid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_drop_report_header", "drop_reason"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_bridged", "_int_bmd_drop_reason15"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 243,
+            "column" : 8,
+            "source_fragment" : "hdr.drop_report_header.drop_reason ="
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_eth_type", "value"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0xbf05"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 126,
+            "column" : 39,
+            "source_fragment" : "0xBF05; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_mpls"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 251,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "tc"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 252,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.tc = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "bos"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 253,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.bos = 0"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "ttl"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x40"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 149,
+            "column" : 32,
+            "source_fragment" : "64; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_mpls", "label"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 3
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 256,
+            "column" : 8,
+            "source_fragment" : "hdr.report_mpls.label = mon_label"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.init_int_metadata",
+      "id" : 100,
+      "runtime_data" : [
+        {
+          "name" : "report_type",
+          "bitwidth" : 3
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_bridged", "_int_bmd_mirror_session_id14"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01fa"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 208,
+            "column" : 43,
+            "source_fragment" : "0x1FA; ..."
+          }
+        },
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_fabric_md_int_report_md"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 293,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._int_mirror_type3"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 179,
+            "column" : 17,
+            "source_fragment" : "1, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "bmd_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x02"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 167,
+            "column" : 20,
+            "source_fragment" : "2, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "mirror_type"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 179,
+            "column" : 17,
+            "source_fragment" : "1, ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ig_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_bridged", "_base_ig_port3"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 299,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.ig_port ="
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "eg_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 300,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.eg_port = (PortId_t)standard_md.egress_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "queue_id"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_egress_qid"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 301,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.queue_id = egress_qid"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "queue_occupancy"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "deq_qdepth"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 302,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.queue_occupancy = standard_md.deq_qdepth"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ig_tstamp"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_fabric_md_bridged", "_base_ig_tstamp9"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 303,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.ig_tstamp = fabric_md.bridged.base.ig_tstamp[31:0]"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "eg_tstamp"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["standard_metadata", "egress_global_timestamp"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 304,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.eg_tstamp = standard_md.egress_global_timestamp[31:0]"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "ip_eth_type"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_bridged", "_base_ip_eth_type10"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 305,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.ip_eth_type ="
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "flow_hash"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_bridged", "_base_inner_hash1"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 306,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.flow_hash ="
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_report_md", "report_type"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 309,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_report_md.report_type = report_type"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "FabricEgress.int_egress.adjust_ip_udp_len",
+      "id" : 101,
+      "runtime_data" : [
+        {
+          "name" : "adjust_ip",
+          "bitwidth" : 16
+        },
+        {
+          "name" : "adjust_udp",
+          "bitwidth" : 16
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "total_len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "int_egress_fabric_md_pkt_length"]
+                      },
+                      "right" : {
+                        "type" : "local",
+                        "value" : 0
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 342,
+            "column" : 8,
+            "source_fragment" : "hdr_v1model.ingress.ipv4.total_len = fabric_md.pkt_length + adjust_ip"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_udp10", "len"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["scalars", "int_egress_fabric_md_pkt_length"]
+                      },
+                      "right" : {
+                        "type" : "local",
+                        "value" : 1
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 343,
+            "column" : 8,
+            "source_fragment" : "hdr_v1model.ingress.udp.len = fabric_md.pkt_length + adjust_udp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model136",
+      "id" : 102,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "exit",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 136,
+            "column" : 12,
+            "source_fragment" : "exit"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model133",
+      "id" : 103,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_cpu_port37"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0000"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 133,
+            "column" : 8,
+            "source_fragment" : "fabric_md.egress.cpu_port = 0"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator148",
+      "id" : 104,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_ipv47"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 148,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_tcp9"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 149,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.tcp.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_udp10"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 150,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_icmp11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 151,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.icmp.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_vxlan15"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 153,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.vxlan.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_inner_ethernet16"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 154,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.inner_ethernet.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_inner_eth_type17"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 155,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.inner_eth_type.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_gtpu12"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 157,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_gtpu_options13"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 158,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_gtpu_ext_psc14"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 159,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.gtpu_ext_psc.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator14",
+      "id" : 105,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_int_bmd_drop_reason15"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_drop_reason48"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 144,
+            "column" : 12,
+            "source_fragment" : "fabric_md.egress.bridged.int_bmd.drop_reason = fabric_md"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_int_bmd_report_type13"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_report_type46"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 145,
+            "column" : 12,
+            "source_fragment" : "fabric_md.egress.bridged.int_bmd.report_type = fabric_md"
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_ethernet24"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_eth_type25"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_ipv427"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_udp28"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_fixed_header29"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_common_report_header30"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_local_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_local_report_header31"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_drop_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_drop_report_header32"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_is_int_recirc44"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 134,
+            "column" : 32,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_vlan_tag4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 140,
+            "column" : 8,
+            "source_fragment" : "hdr_v1model.ingress.vlan_tag.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator166",
+      "id" : 106,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "recirculate",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x3"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 166,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(NO_PRESERVATION)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator169",
+      "id" : 107,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "recirculate",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x1"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 169,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(PRESERVE_INT_MD)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator173",
+      "id" : 108,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_ethernet24"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_eth_type25"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_ipv427"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_udp28"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_fixed_header29"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_common_report_header30"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_local_report_header31"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_drop_report_header32"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator148_0",
+      "id" : 109,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_ipv47"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 148,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.ipv4.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_tcp9"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 149,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.tcp.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_udp10"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 150,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.udp.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_icmp11"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 151,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.icmp.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_vxlan15"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 153,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.vxlan.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_inner_ethernet16"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 154,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.inner_ethernet.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_inner_eth_type17"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 155,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.inner_eth_type.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_gtpu12"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 157,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.gtpu.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_gtpu_options13"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 158,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.gtpu_options.setInvalid()"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_gtpu_ext_psc14"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 159,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.gtpu_ext_psc.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator14_0",
+      "id" : 110,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_ethernet24"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_eth_type25"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_ipv427"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_udp28"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_fixed_header29"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_common_report_header30"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_local_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_local_report_header31"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_drop_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_drop_report_header32"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_is_int_recirc44"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 134,
+            "column" : 32,
+            "source_fragment" : "= true; ..."
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_vlan_tag4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 140,
+            "column" : 8,
+            "source_fragment" : "hdr_v1model.ingress.vlan_tag.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator166_0",
+      "id" : 111,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "recirculate",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 166,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(NO_PRESERVATION)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator169_0",
+      "id" : 112,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "recirculate",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x1"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 169,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(PRESERVE_INT_MD)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int_tna_parser_emulator173_0",
+      "id" : 113,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_ethernet24"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ethernet"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_eth_type25"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_ipv427"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_udp28"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_fixed_header29"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_common_report_header30"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_local_report_header31"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_drop_report_header32"
+            },
+            {
+              "type" : "header",
+              "value" : "parser_emulator_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "packetio51",
+      "id" : 114,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_packet_in1"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 51,
+            "column" : 12,
+            "source_fragment" : "hdr.packet_in.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_packet_in1", "ingress_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_ingress_port49"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 52,
+            "column" : 12,
+            "source_fragment" : "hdr.packet_in.ingress_port = preserved_ig_port; ..."
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_ingress_fake_ethernet2"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 53,
+            "column" : 12,
+            "source_fragment" : "hdr.fake_ethernet.setInvalid()"
+          }
+        },
+        {
+          "op" : "exit",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 54,
+            "column" : 12,
+            "source_fragment" : "exit"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "packetio60",
+      "id" : 115,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_pkt_length45"]
+            },
+            {
+              "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" : ["standard_metadata", "packet_length"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x0000ffff"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xfff2"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 60,
+            "column" : 37,
+            "source_fragment" : "= (bit<16>)standard_md.packet_length - 14; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next283",
+      "id" : 116,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_int_bmd_report_type13"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 219,
+            "column" : 50,
+            "source_fragment" : "0; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 285,
+            "column" : 21,
+            "source_fragment" : "= 1; ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next325",
+      "id" : 117,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 325,
+            "column" : 25,
+            "source_fragment" : "= 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_drop_reason48"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x83"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 258,
+            "column" : 32,
+            "source_fragment" : "131, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next323",
+      "id" : 118,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_mpls6", "ttl"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["_ingress_mpls6", "ttl"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 323,
+            "column" : 12,
+            "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next333",
+      "id" : 119,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "ttl"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["_ingress_ipv47", "ttl"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 333,
+            "column" : 20,
+            "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next336",
+      "id" : 120,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 336,
+            "column" : 29,
+            "source_fragment" : "= 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_drop_reason48"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x1a"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 247,
+            "column" : 30,
+            "source_fragment" : "26, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next343",
+      "id" : 121,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv68", "hop_limit"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["_ingress_ipv68", "hop_limit"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 343,
+            "column" : 20,
+            "source_fragment" : "hdr.ipv6.hop_limit = hdr.ipv6.hop_limit - 1"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "next346",
+      "id" : 122,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._drop_ctl2"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 346,
+            "column" : 29,
+            "source_fragment" : "= 1; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._recirc_preserved_drop_reason48"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x1a"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../shared/define.p4",
+            "line" : 247,
+            "column" : 30,
+            "source_fragment" : "26, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int128",
+      "id" : 123,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_eth_type"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_eth_type25"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_mpls"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_mpls26"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_ipv4"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_ipv427"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_udp"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_udp28"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_fixed_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_report_fixed_header29"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_common_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_common_report_header30"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_local_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_local_report_header31"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_drop_report_header"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_drop_report_header32"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_eth_type"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_eth_type35"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_fabric_md_bridged"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_bridged36"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "int_egress_fabric_md_int_report_md"
+            },
+            {
+              "type" : "header",
+              "value" : "_egress_int_report_md38"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "hop_latency"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_int_md_hop_latency39"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "timestamp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_int_md_timestamp40"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "vlan_stripped"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "d2b",
+                      "left" : null,
+                      "right" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._egress_int_md_vlan_stripped41"]
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "queue_report"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "d2b",
+                      "left" : null,
+                      "right" : {
+                        "type" : "field",
+                        "value" : ["scalars", "userMetadata._egress_int_md_queue_report42"]
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_fabric_md_pkt_length"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_pkt_length45"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 129,
+            "column" : 4,
+            "source_fragment" : "fabric_egress_metadata_t fabric_md = fabric_v1model.egress; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "int_egress_egress_qid"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 135,
+            "column" : 4,
+            "source_fragment" : "QueueId_t egress_qid = 0;"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "hop_latency"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "-",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["standard_metadata", "egress_global_timestamp"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "field",
+                            "value" : ["int_egress_fabric_md_bridged", "_base_ig_tstamp9"]
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0xffffffff"
+                          }
+                        }
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 365,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_md.hop_latency = standard_md.egress_global_timestamp[31:0] - fabric_md.bridged.base.ig_tstamp[31:0]"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "timestamp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_global_timestamp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 366,
+            "column" : 8,
+            "source_fragment" : "fabric_md.int_md.timestamp = standard_md.egress_global_timestamp"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "key_0"]
+            },
+            {
+              "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" : "expression",
+                                    "value" : {
+                                      "op" : "&",
+                                      "left" : {
+                                        "type" : "field",
+                                        "value" : ["standard_metadata", "egress_global_timestamp"]
+                                      },
+                                      "right" : {
+                                        "type" : "hexstr",
+                                        "value" : "0xffffffff"
+                                      }
+                                    }
+                                  },
+                                  "right" : {
+                                    "type" : "expression",
+                                    "value" : {
+                                      "op" : "&",
+                                      "left" : {
+                                        "type" : "field",
+                                        "value" : ["int_egress_fabric_md_bridged", "_base_ig_tstamp9"]
+                                      },
+                                      "right" : {
+                                        "type" : "hexstr",
+                                        "value" : "0xffffffff"
+                                      }
+                                    }
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0xffffffff"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x10"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 166,
+            "column" : 12,
+            "source_fragment" : "            fabric_md.int_md.hop_latency[31:16]: range @name(\\\"hop_latency_upper\\\");"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "key_1"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "-",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["standard_metadata", "egress_global_timestamp"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0xffffffff"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["int_egress_fabric_md_bridged", "_base_ig_tstamp9"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0xffffffff"
+                              }
+                            }
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xffffffff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 167,
+            "column" : 12,
+            "source_fragment" : "            fabric_md.int_md.hop_latency[15:0]: range @name(\\\"hop_latency_lower\\\");"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int383",
+      "id" : 124,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_35"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["int_egress_fabric_md_bridged", "_int_bmd_mirror_session_id14"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 384,
+            "column" : 20,
+            "source_fragment" : "(bit<32>)fabric_md.bridged.int_bmd.mirror_session_id"
+          }
+        },
+        {
+          "op" : "clone_egress_pkt_to_egress",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_35"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x1"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 383,
+            "column" : 16,
+            "source_fragment" : "clone_preserving_field_list(CloneType.E2E, ..."
+          }
+        }
+      ]
+    },
+    {
+      "name" : "int373",
+      "id" : 125,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["int_egress_hdr_report_fixed_header", "hw_id"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "|",
+                  "left" : {
+                    "type" : "hexstr",
+                    "value" : "0x00"
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "&",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "expression",
+                                "value" : {
+                                  "op" : "&",
+                                  "left" : {
+                                    "type" : "expression",
+                                    "value" : {
+                                      "op" : ">>",
+                                      "left" : {
+                                        "type" : "field",
+                                        "value" : ["standard_metadata", "egress_spec"]
+                                      },
+                                      "right" : {
+                                        "type" : "hexstr",
+                                        "value" : "0x7"
+                                      }
+                                    }
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x01ff"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x03"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x3f"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x07"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 373,
+            "column" : 8,
+            "source_fragment" : "hdr.report_fixed_header.hw_id = 4w0 ++ standard_md.egress_spec[8:7]"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing217",
+      "id" : 126,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["_ingress_ipv47", "dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 217,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.dscp = tmp_dscp"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "slicing189",
+      "id" : 127,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_bridged36"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_fabric_md_bridged"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 391,
+            "column" : 30,
+            "source_fragment" : "= fabric_md; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_int_report_md38"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_fabric_md_int_report_md"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 391,
+            "column" : 30,
+            "source_fragment" : "= fabric_md; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_int_md_hop_latency39"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "hop_latency"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 391,
+            "column" : 30,
+            "source_fragment" : "= fabric_md; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "userMetadata._egress_int_md_timestamp40"]
+            },
+            {
+              "type" : "field",
+              "value" : ["int_egress_fabric_md_int_md", "timestamp"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 391,
+            "column" : 30,
+            "source_fragment" : "= fabric_md; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_eth_type25"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_mpls26"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_mpls"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_ipv427"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_ipv4"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_udp28"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_udp"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_report_fixed_header29"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_report_fixed_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_common_report_header30"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_common_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_local_report_header31"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_local_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_drop_report_header32"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_drop_report_header"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "_egress_eth_type35"
+            },
+            {
+              "type" : "header",
+              "value" : "int_egress_hdr_eth_type"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 392,
+            "column" : 27,
+            "source_fragment" : "= hdr; ..."
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "dscp_rewriter_tmp_dscp"]
+            },
+            {
+              "type" : "field",
+              "value" : ["_egress_bridged36", "_base_slice_tc12"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 189,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.bridged.base.slice_tc;"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model170",
+      "id" : 128,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "recirculate",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x5"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 170,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(NO_PRESERVATION)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "fabric_v1model174",
+      "id" : 129,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "mark_to_drop",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "standard_metadata"
+            }
+          ],
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 174,
+            "column" : 12,
+            "source_fragment" : "mark_to_drop(standard_md)"
+          }
+        }
+      ]
+    }
+  ],
+  "pipelines" : [
+    {
+      "name" : "ingress",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+        "line" : 35,
+        "column" : 8,
+        "source_fragment" : "FabricIngress"
+      },
+      "init_table" : "tbl_fabric_v1model61",
+      "tables" : [
+        {
+          "name" : "tbl_fabric_v1model61",
+          "id" : 0,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 61,
+            "column" : 8,
+            "source_fragment" : "mark_to_drop(standard_md)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [51],
+          "actions" : ["fabric_v1model61"],
+          "base_default_next" : "node_3",
+          "next_tables" : {
+            "fabric_v1model61" : "node_3"
+          },
+          "default_entry" : {
+            "action_id" : 51,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_fabric_v1model64",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 64,
+            "column" : 12,
+            "source_fragment" : "exit"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [50],
+          "actions" : ["fabric_v1model64"],
+          "base_default_next" : "node_5",
+          "next_tables" : {
+            "fabric_v1model64" : "node_5"
+          },
+          "default_entry" : {
+            "action_id" : 50,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_fabric_v1model70",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 70,
+            "column" : 51,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [52],
+          "actions" : ["fabric_v1model70"],
+          "base_default_next" : "tbl_lookup_md_init15",
+          "next_tables" : {
+            "fabric_v1model70" : "tbl_lookup_md_init15"
+          },
+          "default_entry" : {
+            "action_id" : 52,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init15",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 15,
+            "column" : 23,
+            "source_fragment" : "= hdr.ethernet.dst_addr; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [54],
+          "actions" : ["lookup_md_init15"],
+          "base_default_next" : "node_8",
+          "next_tables" : {
+            "lookup_md_init15" : "node_8"
+          },
+          "default_entry" : {
+            "action_id" : 54,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init21",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 21,
+            "column" : 27,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [53],
+          "actions" : ["lookup_md_init21"],
+          "base_default_next" : "tbl_lookup_md_init24",
+          "next_tables" : {
+            "lookup_md_init21" : "tbl_lookup_md_init24"
+          },
+          "default_entry" : {
+            "action_id" : 53,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init24",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 24,
+            "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" : [63],
+          "actions" : ["lookup_md_init24"],
+          "base_default_next" : "node_11",
+          "next_tables" : {
+            "lookup_md_init24" : "node_11"
+          },
+          "default_entry" : {
+            "action_id" : 63,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init33",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 33,
+            "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_init33"],
+          "base_default_next" : "node_13",
+          "next_tables" : {
+            "lookup_md_init33" : "node_13"
+          },
+          "default_entry" : {
+            "action_id" : 58,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init38",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 38,
+            "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" : [55],
+          "actions" : ["lookup_md_init38"],
+          "base_default_next" : "node_27",
+          "next_tables" : {
+            "lookup_md_init38" : "node_27"
+          },
+          "default_entry" : {
+            "action_id" : 55,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init41",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 41,
+            "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" : [56],
+          "actions" : ["lookup_md_init41"],
+          "base_default_next" : "node_27",
+          "next_tables" : {
+            "lookup_md_init41" : "node_27"
+          },
+          "default_entry" : {
+            "action_id" : 56,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init44",
+          "id" : 9,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 44,
+            "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" : [57],
+          "actions" : ["lookup_md_init44"],
+          "base_default_next" : "node_27",
+          "next_tables" : {
+            "lookup_md_init44" : "node_27"
+          },
+          "default_entry" : {
+            "action_id" : 57,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init48",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 48,
+            "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" : [62],
+          "actions" : ["lookup_md_init48"],
+          "base_default_next" : "node_21",
+          "next_tables" : {
+            "lookup_md_init48" : "node_21"
+          },
+          "default_entry" : {
+            "action_id" : 62,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init53",
+          "id" : 11,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 53,
+            "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" : [59],
+          "actions" : ["lookup_md_init53"],
+          "base_default_next" : "node_27",
+          "next_tables" : {
+            "lookup_md_init53" : "node_27"
+          },
+          "default_entry" : {
+            "action_id" : 59,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init56",
+          "id" : 12,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 56,
+            "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" : [60],
+          "actions" : ["lookup_md_init56"],
+          "base_default_next" : "node_27",
+          "next_tables" : {
+            "lookup_md_init56" : "node_27"
+          },
+          "default_entry" : {
+            "action_id" : 60,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_lookup_md_init59",
+          "id" : 13,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 59,
+            "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" : [61],
+          "actions" : ["lookup_md_init59"],
+          "base_default_next" : "node_27",
+          "next_tables" : {
+            "lookup_md_init59" : "node_27"
+          },
+          "default_entry" : {
+            "action_id" : 61,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_pkt_io_do_packet_out",
+          "id" : 14,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 25,
+            "column" : 12,
+            "source_fragment" : "do_packet_out()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [8],
+          "actions" : ["FabricIngress.pkt_io.do_packet_out"],
+          "base_default_next" : "FabricIngress.int_watchlist.watchlist",
+          "next_tables" : {
+            "FabricIngress.pkt_io.do_packet_out" : "FabricIngress.int_watchlist.watchlist"
+          },
+          "default_entry" : {
+            "action_id" : 8,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.int_watchlist.watchlist",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 34,
+            "column" : 10,
+            "source_fragment" : "watchlist"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "ipv4_valid",
+              "target" : ["scalars", "userMetadata._ingress_lkp_is_ipv410"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"],
+              "mask" : null
+            },
+            {
+              "match_type" : "range",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"],
+              "mask" : null
+            },
+            {
+              "match_type" : "range",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "range",
+          "type" : "simple",
+          "max_size" : 64,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [46, 48, 47],
+          "actions" : ["FabricIngress.int_watchlist.mark_to_report", "FabricIngress.int_watchlist.no_report_collector", "FabricIngress.int_watchlist.no_report"],
+          "base_default_next" : "FabricIngress.stats.flows",
+          "next_tables" : {
+            "FabricIngress.int_watchlist.mark_to_report" : "FabricIngress.stats.flows",
+            "FabricIngress.int_watchlist.no_report_collector" : "FabricIngress.stats.flows",
+            "FabricIngress.int_watchlist.no_report" : "FabricIngress.stats.flows"
+          },
+          "default_entry" : {
+            "action_id" : 47,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.stats.flows",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/stats.p4",
+            "line" : 21,
+            "column" : 10,
+            "source_fragment" : "flows"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "ig_port",
+              "target" : ["_ingress_bridged4", "_base_ig_port3"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [7],
+          "actions" : ["FabricIngress.stats.count"],
+          "base_default_next" : "FabricIngress.slice_tc_classifier.classifier",
+          "next_tables" : {
+            "FabricIngress.stats.count" : "FabricIngress.slice_tc_classifier.classifier"
+          },
+          "default_entry" : {
+            "action_id" : 7,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.slice_tc_classifier.classifier",
+          "id" : 17,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 44,
+            "column" : 10,
+            "source_fragment" : "classifier"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["_ingress_bridged4", "_base_ig_port3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 512,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [38, 40, 39],
+          "actions" : ["FabricIngress.slice_tc_classifier.set_slice_id_tc", "FabricIngress.slice_tc_classifier.trust_dscp", "FabricIngress.slice_tc_classifier.no_classification"],
+          "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
+          "next_tables" : {
+            "FabricIngress.slice_tc_classifier.set_slice_id_tc" : "FabricIngress.filtering.ingress_port_vlan",
+            "FabricIngress.slice_tc_classifier.trust_dscp" : "FabricIngress.filtering.ingress_port_vlan",
+            "FabricIngress.slice_tc_classifier.no_classification" : "FabricIngress.filtering.ingress_port_vlan"
+          },
+          "default_entry" : {
+            "action_id" : 39,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.filtering.ingress_port_vlan",
+          "id" : 18,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 42,
+            "column" : 10,
+            "source_fragment" : "ingress_port_vlan"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "ig_port",
+              "target" : ["_ingress_bridged4", "_base_ig_port3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "vlan_is_valid",
+              "target" : ["_ingress_vlan_tag4", "$valid$"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "vlan_id",
+              "target" : ["_ingress_vlan_tag4", "vlan_id"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [9, 10, 11],
+          "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
+          "base_default_next" : "FabricIngress.filtering.fwd_classifier",
+          "next_tables" : {
+            "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
+            "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
+            "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
+          },
+          "default_entry" : {
+            "action_id" : 9,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.filtering.fwd_classifier",
+          "id" : 19,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 80,
+            "column" : 10,
+            "source_fragment" : "fwd_classifier"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "ig_port",
+              "target" : ["_ingress_bridged4", "_base_ig_port3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "eth_dst",
+              "target" : ["_ingress_ethernet3", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "eth_type",
+              "target" : ["_ingress_eth_type5", "value"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "ip_eth_type",
+              "target" : ["_ingress_bridged4", "_base_ip_eth_type10"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [12],
+          "actions" : ["FabricIngress.filtering.set_forwarding_type"],
+          "base_default_next" : "tbl_filtering100",
+          "next_tables" : {
+            "FabricIngress.filtering.set_forwarding_type" : "tbl_filtering100"
+          },
+          "default_entry" : {
+            "action_id" : 12,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_filtering100",
+          "id" : 20,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/filtering.p4",
+            "line" : 100,
+            "column" : 8,
+            "source_fragment" : "fwd_type_counter.count((bit<32>)fabric_md.bridged.base.fwd_type)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [64],
+          "actions" : ["filtering100"],
+          "base_default_next" : "node_35",
+          "next_tables" : {
+            "filtering100" : "node_35"
+          },
+          "default_entry" : {
+            "action_id" : 64,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.forwarding.bridging",
+          "id" : 21,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 39,
+            "column" : 10,
+            "source_fragment" : "bridging"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "vlan_id",
+              "target" : ["_ingress_bridged4", "_base_vlan_id6"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "eth_dst",
+              "target" : ["_ingress_ethernet3", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [17, 13],
+          "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "FabricIngress.forwarding.set_int_drop_reason"],
+          "base_default_next" : "tbl_hasher17",
+          "next_tables" : {
+            "FabricIngress.forwarding.set_next_id_bridging" : "tbl_hasher17",
+            "FabricIngress.forwarding.set_int_drop_reason" : "tbl_hasher17"
+          },
+          "default_entry" : {
+            "action_id" : 13,
+            "action_const" : true,
+            "action_data" : ["0x59"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.forwarding.mpls",
+          "id" : 22,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 74,
+            "column" : 10,
+            "source_fragment" : "mpls"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "mpls_label",
+              "target" : ["_ingress_bridged4", "_base_mpls_label2"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [18, 14],
+          "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "FabricIngress.forwarding.set_int_drop_reason"],
+          "base_default_next" : "tbl_hasher17",
+          "next_tables" : {
+            "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_hasher17",
+            "FabricIngress.forwarding.set_int_drop_reason" : "tbl_hasher17"
+          },
+          "default_entry" : {
+            "action_id" : 14,
+            "action_const" : true,
+            "action_data" : ["0x81"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.forwarding.routing_v4",
+          "id" : 23,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 116,
+            "column" : 10,
+            "source_fragment" : "routing_v4"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._ingress_routing_ipv4_dst18"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [19, 20, 21, 15],
+          "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "FabricIngress.forwarding.drop_routing_v4", "FabricIngress.forwarding.set_int_drop_reason"],
+          "base_default_next" : "tbl_hasher17",
+          "next_tables" : {
+            "FabricIngress.forwarding.set_next_id_routing_v4" : "tbl_hasher17",
+            "FabricIngress.forwarding.nop_routing_v4" : "tbl_hasher17",
+            "FabricIngress.forwarding.drop_routing_v4" : "tbl_hasher17",
+            "FabricIngress.forwarding.set_int_drop_reason" : "tbl_hasher17"
+          },
+          "default_entry" : {
+            "action_id" : 15,
+            "action_const" : false,
+            "action_data" : ["0x1d"],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "FabricIngress.forwarding.routing_v6",
+          "id" : 24,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 155,
+            "column" : 10,
+            "source_fragment" : "routing_v6"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "name" : "ipv6_dst",
+              "target" : ["_ingress_ipv68", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [22, 23, 16],
+          "actions" : ["FabricIngress.forwarding.set_next_id_routing_v6", "FabricIngress.forwarding.drop_routing_v6", "FabricIngress.forwarding.set_int_drop_reason"],
+          "base_default_next" : "tbl_hasher17",
+          "next_tables" : {
+            "FabricIngress.forwarding.set_next_id_routing_v6" : "tbl_hasher17",
+            "FabricIngress.forwarding.drop_routing_v6" : "tbl_hasher17",
+            "FabricIngress.forwarding.set_int_drop_reason" : "tbl_hasher17"
+          },
+          "default_entry" : {
+            "action_id" : 16,
+            "action_const" : false,
+            "action_data" : ["0x1d"],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_hasher17",
+          "id" : 25,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 17,
+            "column" : 8,
+            "source_fragment" : "hash( ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [68],
+          "actions" : ["hasher17"],
+          "base_default_next" : "node_45",
+          "next_tables" : {
+            "hasher17" : "node_45"
+          },
+          "default_entry" : {
+            "action_id" : 68,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_hasher39",
+          "id" : 26,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 39,
+            "column" : 12,
+            "source_fragment" : "hash( ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [65],
+          "actions" : ["hasher39"],
+          "base_default_next" : "node_50",
+          "next_tables" : {
+            "hasher39" : "node_50"
+          },
+          "default_entry" : {
+            "action_id" : 65,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_hasher50",
+          "id" : 27,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 50,
+            "column" : 32,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [66],
+          "actions" : ["hasher50"],
+          "base_default_next" : "node_50",
+          "next_tables" : {
+            "hasher50" : "node_50"
+          },
+          "default_entry" : {
+            "action_id" : 66,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_hasher66",
+          "id" : 28,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 66,
+            "column" : 46,
+            "source_fragment" : "= 0; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [67],
+          "actions" : ["hasher66"],
+          "base_default_next" : "node_50",
+          "next_tables" : {
+            "hasher66" : "node_50"
+          },
+          "default_entry" : {
+            "action_id" : 67,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.pre_next.next_mpls",
+          "id" : 29,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/pre_next.p4",
+            "line" : 22,
+            "column" : 10,
+            "source_fragment" : "next_mpls"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "next_id",
+              "target" : ["scalars", "userMetadata._ingress_next_id21"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [24, 0],
+          "actions" : ["FabricIngress.pre_next.set_mpls_label", "nop"],
+          "base_default_next" : "FabricIngress.pre_next.next_vlan",
+          "next_tables" : {
+            "FabricIngress.pre_next.set_mpls_label" : "FabricIngress.pre_next.next_vlan",
+            "nop" : "FabricIngress.pre_next.next_vlan"
+          },
+          "default_entry" : {
+            "action_id" : 0,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.pre_next.next_vlan",
+          "id" : 30,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/pre_next.p4",
+            "line" : 54,
+            "column" : 10,
+            "source_fragment" : "next_vlan"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "next_id",
+              "target" : ["scalars", "userMetadata._ingress_next_id21"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [25, 1],
+          "actions" : ["FabricIngress.pre_next.set_vlan", "nop"],
+          "base_default_next" : "FabricIngress.acl.acl",
+          "next_tables" : {
+            "FabricIngress.pre_next.set_vlan" : "FabricIngress.acl.acl",
+            "nop" : "FabricIngress.acl.acl"
+          },
+          "default_entry" : {
+            "action_id" : 1,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.acl.acl",
+          "id" : 31,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/acl.p4",
+            "line" : 74,
+            "column" : 10,
+            "source_fragment" : "acl"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "ig_port",
+              "target" : ["_ingress_bridged4", "_base_ig_port3"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "eth_dst",
+              "target" : ["_ingress_ethernet3", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "eth_src",
+              "target" : ["_ingress_ethernet3", "src_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "vlan_id",
+              "target" : ["scalars", "userMetadata._ingress_lkp_vlan_id9"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "eth_type",
+              "target" : ["scalars", "userMetadata._ingress_lkp_eth_type8"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_src",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_src11"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ipv4_dst",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ipv4_dst12"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ip_proto",
+              "target" : ["scalars", "userMetadata._ingress_lkp_ip_proto13"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "icmp_type",
+              "target" : ["scalars", "userMetadata._ingress_lkp_icmp_type16"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "icmp_code",
+              "target" : ["scalars", "userMetadata._ingress_lkp_icmp_code17"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_sport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_sport14"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "l4_dport",
+              "target" : ["scalars", "userMetadata._ingress_lkp_l4_dport15"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "ig_port_type",
+              "target" : ["scalars", "userMetadata._ingress_ig_port_type33"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [26, 28, 27, 29, 30, 31],
+          "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.copy_to_cpu", "FabricIngress.acl.drop", "FabricIngress.acl.set_output_port", "FabricIngress.acl.nop_acl"],
+          "base_default_next" : "node_54",
+          "next_tables" : {
+            "FabricIngress.acl.set_next_id_acl" : "node_54",
+            "FabricIngress.acl.punt_to_cpu" : "node_54",
+            "FabricIngress.acl.copy_to_cpu" : "node_54",
+            "FabricIngress.acl.drop" : "node_54",
+            "FabricIngress.acl.set_output_port" : "node_54",
+            "FabricIngress.acl.nop_acl" : "node_54"
+          },
+          "default_entry" : {
+            "action_id" : 31,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.next.simple",
+          "id" : 32,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 88,
+            "column" : 10,
+            "source_fragment" : "simple"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "next_id",
+              "target" : ["scalars", "userMetadata._ingress_next_id21"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [32, 33, 2],
+          "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.routing_simple", "nop"],
+          "base_default_next" : "FabricIngress.next.hashed",
+          "next_tables" : {
+            "FabricIngress.next.output_simple" : "FabricIngress.next.hashed",
+            "FabricIngress.next.routing_simple" : "FabricIngress.next.hashed",
+            "nop" : "FabricIngress.next.hashed"
+          },
+          "default_entry" : {
+            "action_id" : 2,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.next.hashed",
+          "id" : 33,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 127,
+            "column" : 10,
+            "source_fragment" : "hashed"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "next_id",
+              "target" : ["scalars", "userMetadata._ingress_next_id21"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "indirect_ws",
+          "action_profile" : "FabricIngress.next.hashed_profile",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [34, 35, 3],
+          "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "nop"],
+          "base_default_next" : "FabricIngress.next.multicast",
+          "next_tables" : {
+            "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
+            "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
+            "nop" : "FabricIngress.next.multicast"
+          }
+        },
+        {
+          "name" : "FabricIngress.next.multicast",
+          "id" : 34,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 161,
+            "column" : 10,
+            "source_fragment" : "multicast"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "next_id",
+              "target" : ["scalars", "userMetadata._ingress_next_id21"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [36, 37],
+          "actions" : ["FabricIngress.next.set_mcast_group_id", "FabricIngress.next.reset_mcast_group_id"],
+          "base_default_next" : "FabricIngress.qos.set_slice_tc",
+          "next_tables" : {
+            "FabricIngress.next.set_mcast_group_id" : "FabricIngress.qos.set_slice_tc",
+            "FabricIngress.next.reset_mcast_group_id" : "FabricIngress.qos.set_slice_tc"
+          },
+          "default_entry" : {
+            "action_id" : 37,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.set_slice_tc",
+          "id" : 35,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 91,
+            "column" : 10,
+            "source_fragment" : "set_slice_tc"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "fabric_md.is_upf_hit",
+              "target" : ["scalars", "userMetadata._ingress_is_upf_hit29"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 2,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [41, 42, 6],
+          "actions" : ["FabricIngress.qos.use_upf", "FabricIngress.qos.use_default", "NoAction"],
+          "base_default_next" : "FabricIngress.qos.default_tc",
+          "next_tables" : {
+            "FabricIngress.qos.use_upf" : "FabricIngress.qos.default_tc",
+            "FabricIngress.qos.use_default" : "FabricIngress.qos.default_tc",
+            "NoAction" : "FabricIngress.qos.default_tc"
+          },
+          "default_entry" : {
+            "action_id" : 6,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+                "line" : 96,
+                "column" : 12,
+                "source_fragment" : "true: use_upf"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 41,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+                "line" : 97,
+                "column" : 12,
+                "source_fragment" : "false: use_default"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 42,
+                "action_data" : []
+              },
+              "priority" : 2
+            }
+          ]
+        },
+        {
+          "name" : "FabricIngress.qos.default_tc",
+          "id" : 36,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 150,
+            "column" : 10,
+            "source_fragment" : "default_tc"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "name" : "slice_tc",
+              "target" : ["_ingress_bridged4", "_base_slice_tc12"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "tc_unknown",
+              "target" : ["scalars", "userMetadata._ingress_tc_unknown28"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 16,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [45, 4],
+          "actions" : ["FabricIngress.qos.set_default_tc", "nop"],
+          "base_default_next" : "node_60",
+          "next_tables" : {
+            "FabricIngress.qos.set_default_tc" : "node_60",
+            "nop" : "node_60"
+          },
+          "default_entry" : {
+            "action_id" : 4,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing174",
+          "id" : 37,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 174,
+            "column" : 12,
+            "source_fragment" : "slice_tc_meter.execute_meter((bit<32>) fabric_md.bridged.base.slice_tc, packet_color)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [69],
+          "actions" : ["slicing174"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing174" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 69,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing177",
+          "id" : 38,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 177,
+            "column" : 25,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [70],
+          "actions" : ["slicing177"],
+          "base_default_next" : "FabricIngress.qos.queues",
+          "next_tables" : {
+            "slicing177" : "FabricIngress.qos.queues"
+          },
+          "default_entry" : {
+            "action_id" : 70,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.qos.queues",
+          "id" : 39,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 122,
+            "column" : 10,
+            "source_fragment" : "queues"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "slice_tc",
+              "target" : ["_ingress_bridged4", "_base_slice_tc12"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "color",
+              "target" : ["scalars", "qos_packet_color"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [43, 44],
+          "actions" : ["FabricIngress.qos.set_queue", "FabricIngress.qos.meter_drop"],
+          "base_default_next" : "tbl_int112",
+          "next_tables" : {
+            "FabricIngress.qos.set_queue" : "tbl_int112",
+            "FabricIngress.qos.meter_drop" : "tbl_int112"
+          },
+          "default_entry" : {
+            "action_id" : 43,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int112",
+          "id" : 40,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 112,
+            "column" : 46,
+            "source_fragment" : "= standard_md.egress_spec; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [71],
+          "actions" : ["int112"],
+          "base_default_next" : "FabricIngress.int_ingress.drop_report",
+          "next_tables" : {
+            "int112" : "FabricIngress.int_ingress.drop_report"
+          },
+          "default_entry" : {
+            "action_id" : 71,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricIngress.int_ingress.drop_report",
+          "id" : 41,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 86,
+            "column" : 10,
+            "source_fragment" : "drop_report"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "int_report_type",
+              "target" : ["_ingress_bridged4", "_int_bmd_report_type13"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "drop_ctl",
+              "target" : ["scalars", "userMetadata._drop_ctl2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "punt_to_cpu",
+              "target" : ["scalars", "userMetadata._ingress_punt_to_cpu23"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "egress_port_set",
+              "target" : ["scalars", "userMetadata._ingress_egress_port_set22"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "name" : "mcast_group_id",
+              "target" : ["standard_metadata", "mcast_grp"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 3,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [49, 5],
+          "actions" : ["FabricIngress.int_ingress.report_drop", "nop"],
+          "base_default_next" : "tbl_fabric_v1model106",
+          "next_tables" : {
+            "FabricIngress.int_ingress.report_drop" : "tbl_fabric_v1model106",
+            "nop" : "tbl_fabric_v1model106"
+          },
+          "default_entry" : {
+            "action_id" : 5,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 101,
+                "column" : 12,
+                "source_fragment" : "(INT_REPORT_TYPE_FLOW, 1, false, false, _): report_drop()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "ternary",
+                  "key" : "0x0000",
+                  "mask" : "0x0000"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 49,
+                "action_data" : []
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 102,
+                "column" : 12,
+                "source_fragment" : "(INT_REPORT_TYPE_FLOW, 1, false, true, _): report_drop()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "ternary",
+                  "key" : "0x0000",
+                  "mask" : "0x0000"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 49,
+                "action_data" : []
+              },
+              "priority" : 2
+            },
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 104,
+                "column" : 12,
+                "source_fragment" : "(INT_REPORT_TYPE_FLOW, 0, false, false, 0): report_drop()"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "ternary",
+                  "key" : "0x0000",
+                  "mask" : "0xffff"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 49,
+                "action_data" : []
+              },
+              "priority" : 3
+            }
+          ]
+        },
+        {
+          "name" : "tbl_fabric_v1model106",
+          "id" : 42,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 106,
+            "column" : 33,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [73],
+          "actions" : ["fabric_v1model106"],
+          "base_default_next" : "node_67",
+          "next_tables" : {
+            "fabric_v1model106" : "node_67"
+          },
+          "default_entry" : {
+            "action_id" : 73,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_fabric_v1model110",
+          "id" : 43,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 110,
+            "column" : 12,
+            "source_fragment" : "mark_to_drop(standard_md)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [72],
+          "actions" : ["fabric_v1model110"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "fabric_v1model110" : null
+          },
+          "default_entry" : {
+            "action_id" : 72,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        }
+      ],
+      "action_profiles" : [
+        {
+          "name" : "FabricIngress.next.hashed_profile",
+          "id" : 0,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 112,
+            "column" : 15,
+            "source_fragment" : "hashed_profile"
+          },
+          "max_size" : 16,
+          "selector" : {
+            "algo" : "crc16",
+            "input" : [
+              {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._ingress_ecmp_hash5"]
+              }
+            ]
+          }
+        }
+      ],
+      "conditionals" : [
+        {
+          "name" : "node_3",
+          "id" : 0,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 62,
+            "column" : 12,
+            "source_fragment" : "standard_md.parser_error == error.PacketRejectedByParser"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "parser_error"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x8"
+              }
+            }
+          },
+          "true_next" : "tbl_fabric_v1model64",
+          "false_next" : "node_5"
+        },
+        {
+          "name" : "node_5",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 67,
+            "column" : 13,
+            "source_fragment" : "standard_md.instance_type == 4"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "instance_type"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00000004"
+              }
+            }
+          },
+          "true_next" : "tbl_fabric_v1model70",
+          "false_next" : "tbl_lookup_md_init15"
+        },
+        {
+          "name" : "node_8",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 20,
+            "column" : 12,
+            "source_fragment" : "hdr.vlan_tag.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_vlan_tag4", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init21",
+          "false_next" : "tbl_lookup_md_init24"
+        },
+        {
+          "name" : "node_11",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 32,
+            "column" : 12,
+            "source_fragment" : "hdr.inner_ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_inner_ipv418", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init33",
+          "false_next" : "node_19"
+        },
+        {
+          "name" : "node_13",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 37,
+            "column" : 16,
+            "source_fragment" : "hdr.inner_tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_inner_tcp19", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init38",
+          "false_next" : "node_15"
+        },
+        {
+          "name" : "node_15",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 40,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_inner_udp20", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init41",
+          "false_next" : "node_17"
+        },
+        {
+          "name" : "node_17",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 43,
+            "column" : 23,
+            "source_fragment" : "hdr.inner_icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_inner_icmp21", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init44",
+          "false_next" : "node_27"
+        },
+        {
+          "name" : "node_19",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 47,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_ipv47", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init48",
+          "false_next" : "node_27"
+        },
+        {
+          "name" : "node_21",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 52,
+            "column" : 16,
+            "source_fragment" : "hdr.tcp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_tcp9", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init53",
+          "false_next" : "node_23"
+        },
+        {
+          "name" : "node_23",
+          "id" : 9,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 55,
+            "column" : 23,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_udp10", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init56",
+          "false_next" : "node_25"
+        },
+        {
+          "name" : "node_25",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/lookup_md_init.p4",
+            "line" : 58,
+            "column" : 23,
+            "source_fragment" : "hdr.icmp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_icmp11", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_lookup_md_init59",
+          "false_next" : "node_27"
+        },
+        {
+          "name" : "node_27",
+          "id" : 11,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 24,
+            "column" : 12,
+            "source_fragment" : "hdr.packet_out.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_packet_out0", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_pkt_io_do_packet_out",
+          "false_next" : "FabricIngress.int_watchlist.watchlist"
+        },
+        {
+          "name" : "node_35",
+          "id" : 12,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 88,
+            "column" : 13,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._ingress_skip_forwarding19"]
+              }
+            }
+          },
+          "false_next" : "node_36",
+          "true_next" : "tbl_hasher17"
+        },
+        {
+          "name" : "node_36",
+          "id" : 13,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 178,
+            "column" : 12,
+            "source_fragment" : "hdr.ethernet.isValid() && ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_ethernet3", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x00"
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "FabricIngress.forwarding.bridging",
+          "false_next" : "node_38"
+        },
+        {
+          "name" : "node_38",
+          "id" : 14,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 181,
+            "column" : 19,
+            "source_fragment" : "hdr.mpls.isValid() && ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_mpls6", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x01"
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "FabricIngress.forwarding.mpls",
+          "false_next" : "node_40"
+        },
+        {
+          "name" : "node_40",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 184,
+            "column" : 19,
+            "source_fragment" : "fabric_md.lkp.is_ipv4 && ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["scalars", "userMetadata._ingress_lkp_is_ipv410"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "or",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "==",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x02"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "==",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0x03"
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "FabricIngress.forwarding.routing_v4",
+          "false_next" : "node_42"
+        },
+        {
+          "name" : "node_42",
+          "id" : 16,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/forwarding.p4",
+            "line" : 188,
+            "column" : 19,
+            "source_fragment" : "hdr.ipv6.isValid() && ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_ipv68", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_bridged4", "_base_fwd_type5"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x04"
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "FabricIngress.forwarding.routing_v6",
+          "false_next" : "tbl_hasher17"
+        },
+        {
+          "name" : "node_45",
+          "id" : 17,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/hasher.p4",
+            "line" : 38,
+            "column" : 12,
+            "source_fragment" : "hdr.gtpu.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_gtpu12", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_hasher39",
+          "false_next" : "node_47"
+        },
+        {
+          "name" : "node_47",
+          "id" : 18,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 91,
+            "column" : 34,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._ingress_lkp_is_ipv410"]
+              }
+            }
+          },
+          "true_next" : "tbl_hasher50",
+          "false_next" : "tbl_hasher66"
+        },
+        {
+          "name" : "node_50",
+          "id" : 19,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 92,
+            "column" : 13,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+              }
+            }
+          },
+          "false_next" : "FabricIngress.pre_next.next_mpls",
+          "true_next" : "FabricIngress.acl.acl"
+        },
+        {
+          "name" : "node_54",
+          "id" : 20,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 96,
+            "column" : 13,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._ingress_skip_next20"]
+              }
+            }
+          },
+          "false_next" : "FabricIngress.next.simple",
+          "true_next" : "FabricIngress.qos.set_slice_tc"
+        },
+        {
+          "name" : "node_60",
+          "id" : 21,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 173,
+            "column" : 12,
+            "source_fragment" : "fabric_md.upf_meter_color != MeterColor_t.RED"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "!=",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._ingress_upf_meter_color32"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x02"
+              }
+            }
+          },
+          "true_next" : "tbl_slicing174",
+          "false_next" : "tbl_slicing177"
+        },
+        {
+          "name" : "node_67",
+          "id" : 22,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 109,
+            "column" : 12,
+            "source_fragment" : "fabric_md.drop_ctl == 1"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._drop_ctl2"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "false_next" : null,
+          "true_next" : "tbl_fabric_v1model110"
+        }
+      ]
+    },
+    {
+      "name" : "egress",
+      "id" : 1,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+        "line" : 115,
+        "column" : 8,
+        "source_fragment" : "FabricEgress"
+      },
+      "init_table" : "tbl_fabric_v1model133",
+      "tables" : [
+        {
+          "name" : "tbl_fabric_v1model133",
+          "id" : 44,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 133,
+            "column" : 34,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [103],
+          "actions" : ["fabric_v1model133"],
+          "base_default_next" : "node_72",
+          "next_tables" : {
+            "fabric_v1model133" : "node_72"
+          },
+          "default_entry" : {
+            "action_id" : 103,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_fabric_v1model136",
+          "id" : 45,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 136,
+            "column" : 12,
+            "source_fragment" : "exit"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [102],
+          "actions" : ["fabric_v1model136"],
+          "base_default_next" : "node_74",
+          "next_tables" : {
+            "fabric_v1model136" : "node_74"
+          },
+          "default_entry" : {
+            "action_id" : 102,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator14",
+          "id" : 46,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [105],
+          "actions" : ["int_tna_parser_emulator14"],
+          "base_default_next" : "node_76",
+          "next_tables" : {
+            "int_tna_parser_emulator14" : "node_76"
+          },
+          "default_entry" : {
+            "action_id" : 105,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator148",
+          "id" : 47,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 148,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.ipv4.setInvalid(); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [104],
+          "actions" : ["int_tna_parser_emulator148"],
+          "base_default_next" : "node_78",
+          "next_tables" : {
+            "int_tna_parser_emulator148" : "node_78"
+          },
+          "default_entry" : {
+            "action_id" : 104,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_parser_emulator_parse_int_ingress_drop",
+          "id" : 48,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 165,
+            "column" : 12,
+            "source_fragment" : "parse_int_ingress_drop()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [89],
+          "actions" : ["FabricEgress.parser_emulator.parse_int_ingress_drop"],
+          "base_default_next" : "tbl_int_tna_parser_emulator166",
+          "next_tables" : {
+            "FabricEgress.parser_emulator.parse_int_ingress_drop" : "tbl_int_tna_parser_emulator166"
+          },
+          "default_entry" : {
+            "action_id" : 89,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator166",
+          "id" : 49,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 166,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(NO_PRESERVATION)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [106],
+          "actions" : ["int_tna_parser_emulator166"],
+          "base_default_next" : "tbl_int_tna_parser_emulator173",
+          "next_tables" : {
+            "int_tna_parser_emulator166" : "tbl_int_tna_parser_emulator173"
+          },
+          "default_entry" : {
+            "action_id" : 106,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_parser_emulator_parse_int_report_mirror",
+          "id" : 50,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 168,
+            "column" : 12,
+            "source_fragment" : "parse_int_report_mirror()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [91],
+          "actions" : ["FabricEgress.parser_emulator.parse_int_report_mirror"],
+          "base_default_next" : "tbl_int_tna_parser_emulator169",
+          "next_tables" : {
+            "FabricEgress.parser_emulator.parse_int_report_mirror" : "tbl_int_tna_parser_emulator169"
+          },
+          "default_entry" : {
+            "action_id" : 91,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator169",
+          "id" : 51,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 169,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(PRESERVE_INT_MD)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [107],
+          "actions" : ["int_tna_parser_emulator169"],
+          "base_default_next" : "tbl_int_tna_parser_emulator173",
+          "next_tables" : {
+            "int_tna_parser_emulator169" : "tbl_int_tna_parser_emulator173"
+          },
+          "default_entry" : {
+            "action_id" : 107,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator173",
+          "id" : 52,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [108],
+          "actions" : ["int_tna_parser_emulator173"],
+          "base_default_next" : "node_84",
+          "next_tables" : {
+            "int_tna_parser_emulator173" : "node_84"
+          },
+          "default_entry" : {
+            "action_id" : 108,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator14_0",
+          "id" : 53,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 14,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [110],
+          "actions" : ["int_tna_parser_emulator14_0"],
+          "base_default_next" : "node_86",
+          "next_tables" : {
+            "int_tna_parser_emulator14_0" : "node_86"
+          },
+          "default_entry" : {
+            "action_id" : 110,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator148_0",
+          "id" : 54,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 148,
+            "column" : 12,
+            "source_fragment" : "hdr_v1model.ingress.ipv4.setInvalid(); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [109],
+          "actions" : ["int_tna_parser_emulator148_0"],
+          "base_default_next" : "node_88",
+          "next_tables" : {
+            "int_tna_parser_emulator148_0" : "node_88"
+          },
+          "default_entry" : {
+            "action_id" : 109,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_parser_emulator_parse_int_ingress_drop_0",
+          "id" : 55,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 165,
+            "column" : 12,
+            "source_fragment" : "parse_int_ingress_drop()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [90],
+          "actions" : ["FabricEgress.parser_emulator.parse_int_ingress_drop"],
+          "base_default_next" : "tbl_int_tna_parser_emulator166_0",
+          "next_tables" : {
+            "FabricEgress.parser_emulator.parse_int_ingress_drop" : "tbl_int_tna_parser_emulator166_0"
+          },
+          "default_entry" : {
+            "action_id" : 90,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator166_0",
+          "id" : 56,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 166,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(NO_PRESERVATION)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [111],
+          "actions" : ["int_tna_parser_emulator166_0"],
+          "base_default_next" : "tbl_int_tna_parser_emulator173_0",
+          "next_tables" : {
+            "int_tna_parser_emulator166_0" : "tbl_int_tna_parser_emulator173_0"
+          },
+          "default_entry" : {
+            "action_id" : 111,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_parser_emulator_parse_int_report_mirror_0",
+          "id" : 57,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 168,
+            "column" : 12,
+            "source_fragment" : "parse_int_report_mirror()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [92],
+          "actions" : ["FabricEgress.parser_emulator.parse_int_report_mirror"],
+          "base_default_next" : "tbl_int_tna_parser_emulator169_0",
+          "next_tables" : {
+            "FabricEgress.parser_emulator.parse_int_report_mirror" : "tbl_int_tna_parser_emulator169_0"
+          },
+          "default_entry" : {
+            "action_id" : 92,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator169_0",
+          "id" : 58,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 169,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(PRESERVE_INT_MD)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [112],
+          "actions" : ["int_tna_parser_emulator169_0"],
+          "base_default_next" : "tbl_int_tna_parser_emulator173_0",
+          "next_tables" : {
+            "int_tna_parser_emulator169_0" : "tbl_int_tna_parser_emulator173_0"
+          },
+          "default_entry" : {
+            "action_id" : 112,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int_tna_parser_emulator173_0",
+          "id" : 59,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 173,
+            "column" : 27,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [113],
+          "actions" : ["int_tna_parser_emulator173_0"],
+          "base_default_next" : "FabricEgress.pkt_io_egress.switch_info",
+          "next_tables" : {
+            "int_tna_parser_emulator173_0" : "FabricEgress.pkt_io_egress.switch_info"
+          },
+          "default_entry" : {
+            "action_id" : 113,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.pkt_io_egress.switch_info",
+          "id" : 60,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 39,
+            "column" : 10,
+            "source_fragment" : "switch_info"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [81, 74],
+          "actions" : ["FabricEgress.pkt_io_egress.set_switch_info", "nop"],
+          "base_default_next" : "node_95",
+          "next_tables" : {
+            "FabricEgress.pkt_io_egress.set_switch_info" : "node_95",
+            "nop" : "node_95"
+          },
+          "default_entry" : {
+            "action_id" : 74,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_packetio51",
+          "id" : 61,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 51,
+            "column" : 12,
+            "source_fragment" : "hdr.packet_in.setValid(); ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [114],
+          "actions" : ["packetio51"],
+          "base_default_next" : "node_97",
+          "next_tables" : {
+            "packetio51" : "node_97"
+          },
+          "default_entry" : {
+            "action_id" : 114,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio60",
+          "id" : 62,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 60,
+            "column" : 37,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [115],
+          "actions" : ["packetio60"],
+          "base_default_next" : "node_99",
+          "next_tables" : {
+            "packetio60" : "node_99"
+          },
+          "default_entry" : {
+            "action_id" : 115,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.stats.flows",
+          "id" : 63,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/stats.p4",
+            "line" : 53,
+            "column" : 10,
+            "source_fragment" : "flows"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "stats_flow_id",
+              "target" : ["_egress_bridged36", "_base_stats_flow_id11"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [80],
+          "actions" : ["FabricEgress.stats.count"],
+          "base_default_next" : "node_101",
+          "next_tables" : {
+            "FabricEgress.stats.count" : "node_101"
+          },
+          "default_entry" : {
+            "action_id" : 80,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next283",
+          "id" : 64,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 283,
+            "column" : 50,
+            "source_fragment" : "= INT_REPORT_TYPE_NO_REPORT; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [116],
+          "actions" : ["next283"],
+          "base_default_next" : "node_103",
+          "next_tables" : {
+            "next283" : "node_103"
+          },
+          "default_entry" : {
+            "action_id" : 116,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_egress_next_pop_mpls_if_present",
+          "id" : 65,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 289,
+            "column" : 36,
+            "source_fragment" : "pop_mpls_if_present()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [82],
+          "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
+          "base_default_next" : "node_107",
+          "next_tables" : {
+            "FabricEgress.egress_next.pop_mpls_if_present" : "node_107"
+          },
+          "default_entry" : {
+            "action_id" : 82,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_egress_next_set_mpls",
+          "id" : 66,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 291,
+            "column" : 12,
+            "source_fragment" : "set_mpls()"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [83],
+          "actions" : ["FabricEgress.egress_next.set_mpls"],
+          "base_default_next" : "node_107",
+          "next_tables" : {
+            "FabricEgress.egress_next.set_mpls" : "node_107"
+          },
+          "default_entry" : {
+            "action_id" : 83,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.egress_next.egress_vlan",
+          "id" : 67,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 264,
+            "column" : 10,
+            "source_fragment" : "egress_vlan"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "vlan_id",
+              "target" : ["_egress_bridged36", "_base_vlan_id6"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "eg_port",
+              "target" : ["standard_metadata", "egress_port"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [84, 85, 86],
+          "actions" : ["FabricEgress.egress_next.push_vlan", "FabricEgress.egress_next.pop_vlan", "FabricEgress.egress_next.drop"],
+          "base_default_next" : "node_109",
+          "next_tables" : {
+            "FabricEgress.egress_next.push_vlan" : "node_109",
+            "FabricEgress.egress_next.pop_vlan" : "node_109",
+            "FabricEgress.egress_next.drop" : "node_109"
+          },
+          "default_entry" : {
+            "action_id" : 86,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next323",
+          "id" : 68,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 323,
+            "column" : 25,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [118],
+          "actions" : ["next323"],
+          "base_default_next" : "node_111",
+          "next_tables" : {
+            "next323" : "node_111"
+          },
+          "default_entry" : {
+            "action_id" : 118,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next325",
+          "id" : 69,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 325,
+            "column" : 25,
+            "source_fragment" : "= 1; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [117],
+          "actions" : ["next325"],
+          "base_default_next" : "tbl_int128",
+          "next_tables" : {
+            "next325" : "tbl_int128"
+          },
+          "default_entry" : {
+            "action_id" : 117,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next333",
+          "id" : 70,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 333,
+            "column" : 33,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [119],
+          "actions" : ["next333"],
+          "base_default_next" : "node_116",
+          "next_tables" : {
+            "next333" : "node_116"
+          },
+          "default_entry" : {
+            "action_id" : 119,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next336",
+          "id" : 71,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 336,
+            "column" : 29,
+            "source_fragment" : "= 1; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [120],
+          "actions" : ["next336"],
+          "base_default_next" : "tbl_int128",
+          "next_tables" : {
+            "next336" : "tbl_int128"
+          },
+          "default_entry" : {
+            "action_id" : 120,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next343",
+          "id" : 72,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 343,
+            "column" : 39,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [121],
+          "actions" : ["next343"],
+          "base_default_next" : "node_121",
+          "next_tables" : {
+            "next343" : "node_121"
+          },
+          "default_entry" : {
+            "action_id" : 121,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_next346",
+          "id" : 73,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 346,
+            "column" : 29,
+            "source_fragment" : "= 1; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [122],
+          "actions" : ["next346"],
+          "base_default_next" : "tbl_int128",
+          "next_tables" : {
+            "next346" : "tbl_int128"
+          },
+          "default_entry" : {
+            "action_id" : 122,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_int128",
+          "id" : 74,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 128,
+            "column" : 4,
+            "source_fragment" : "egress_headers_t hdr = hdr_v1model.egress; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [123],
+          "actions" : ["int128"],
+          "base_default_next" : "FabricEgress.int_egress.queue_latency_thresholds",
+          "next_tables" : {
+            "int128" : "FabricEgress.int_egress.queue_latency_thresholds"
+          },
+          "default_entry" : {
+            "action_id" : 123,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.int_egress.queue_latency_thresholds",
+          "id" : 75,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 159,
+            "column" : 10,
+            "source_fragment" : "queue_latency_thresholds"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "egress_qid",
+              "target" : ["scalars", "int_egress_egress_qid"],
+              "mask" : null
+            },
+            {
+              "match_type" : "range",
+              "name" : "hop_latency_upper",
+              "target" : ["scalars", "key_0"],
+              "mask" : null
+            },
+            {
+              "match_type" : "range",
+              "name" : "hop_latency_lower",
+              "target" : ["scalars", "key_1"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "range",
+          "type" : "simple",
+          "max_size" : 128,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [93, 94, 76],
+          "actions" : ["FabricEgress.int_egress.check_quota", "FabricEgress.int_egress.reset_quota", "nop"],
+          "base_default_next" : "FabricEgress.int_egress.config",
+          "next_tables" : {
+            "FabricEgress.int_egress.check_quota" : "FabricEgress.int_egress.config",
+            "FabricEgress.int_egress.reset_quota" : "FabricEgress.int_egress.config",
+            "nop" : "FabricEgress.int_egress.config"
+          },
+          "default_entry" : {
+            "action_id" : 76,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "FabricEgress.int_egress.config",
+          "id" : 76,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 183,
+            "column" : 10,
+            "source_fragment" : "config"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [95],
+          "actions" : ["FabricEgress.int_egress.set_config"],
+          "base_default_next" : "tbl_int373",
+          "next_tables" : {
+            "FabricEgress.int_egress.set_config" : "tbl_int373"
+          },
+          "default_entry" : {
+            "action_id" : 95,
+            "action_const" : false,
+            "action_data" : ["0xffffff00", "0xffffc0000000"],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_int373",
+          "id" : 77,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 373,
+            "column" : 38,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [125],
+          "actions" : ["int373"],
+          "base_default_next" : "node_127",
+          "next_tables" : {
+            "int373" : "node_127"
+          },
+          "default_entry" : {
+            "action_id" : 125,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.int_egress.report",
+          "id" : 78,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 260,
+            "column" : 10,
+            "source_fragment" : "report"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "bmd_type",
+              "target" : ["int_egress_fabric_md_int_report_md", "bmd_type"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "mirror_type",
+              "target" : ["int_egress_fabric_md_int_report_md", "mirror_type"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "int_report_type",
+              "target" : ["int_egress_fabric_md_int_report_md", "report_type"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 6,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [96, 97, 98, 99, 77],
+          "actions" : ["FabricEgress.int_egress.do_local_report_encap", "FabricEgress.int_egress.do_local_report_encap_mpls", "FabricEgress.int_egress.do_drop_report_encap", "FabricEgress.int_egress.do_drop_report_encap_mpls", "nop"],
+          "base_default_next" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+          "next_tables" : {
+            "FabricEgress.int_egress.do_local_report_encap" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+            "FabricEgress.int_egress.do_local_report_encap_mpls" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+            "FabricEgress.int_egress.do_drop_report_encap" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+            "FabricEgress.int_egress.do_drop_report_encap_mpls" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+            "nop" : "FabricEgress.int_egress.adjust_int_report_hdr_length"
+          },
+          "default_entry" : {
+            "action_id" : 77,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "FabricEgress.int_egress.int_metadata",
+          "id" : 79,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 315,
+            "column" : 10,
+            "source_fragment" : "int_metadata"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "int_report_type",
+              "target" : ["_egress_bridged36", "_int_bmd_report_type13"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "drop_ctl",
+              "target" : ["scalars", "userMetadata._drop_ctl2"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "name" : "queue_report",
+              "target" : ["scalars", "userMetadata._egress_int_md_queue_report42"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 2,
+          "with_counters" : true,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [100, 78],
+          "actions" : ["FabricEgress.int_egress.init_int_metadata", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "tbl_int383",
+            "__MISS__" : "FabricEgress.int_egress.adjust_int_report_hdr_length"
+          },
+          "default_entry" : {
+            "action_id" : 78,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 327,
+                "column" : 12,
+                "source_fragment" : "(INT_REPORT_TYPE_FLOW, 0, false): init_int_metadata(INT_REPORT_TYPE_FLOW)"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 100,
+                "action_data" : ["0x1"]
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 329,
+                "column" : 12,
+                "source_fragment" : "(INT_REPORT_TYPE_FLOW, 1, false): init_int_metadata(INT_REPORT_TYPE_DROP)"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                },
+                {
+                  "match_type" : "exact",
+                  "key" : "0x00"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 100,
+                "action_data" : ["0x4"]
+              },
+              "priority" : 2
+            }
+          ]
+        },
+        {
+          "name" : "tbl_int383",
+          "id" : 80,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 383,
+            "column" : 16,
+            "source_fragment" : "clone_preserving_field_list(CloneType.E2E, ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [124],
+          "actions" : ["int383"],
+          "base_default_next" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+          "next_tables" : {
+            "int383" : "FabricEgress.int_egress.adjust_int_report_hdr_length"
+          },
+          "default_entry" : {
+            "action_id" : 124,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.int_egress.adjust_int_report_hdr_length",
+          "id" : 81,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 347,
+            "column" : 10,
+            "source_fragment" : "adjust_int_report_hdr_length"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "name" : "is_int_wip",
+              "target" : ["int_egress_fabric_md_bridged", "_int_bmd_wip_type18"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 2,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [79, 101],
+          "actions" : ["nop", "FabricEgress.int_egress.adjust_ip_udp_len"],
+          "base_default_next" : "tbl_slicing189",
+          "next_tables" : {
+            "nop" : "tbl_slicing189",
+            "FabricEgress.int_egress.adjust_ip_udp_len" : "tbl_slicing189"
+          },
+          "default_entry" : {
+            "action_id" : 79,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          },
+          "entries" : [
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 358,
+                "column" : 12,
+                "source_fragment" : "INT_IS_WIP: adjust_ip_udp_len(INT_WIP_ADJUST_IP_BYTES, INT_WIP_ADJUST_UDP_BYTES)"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x01"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 101,
+                "action_data" : ["0xfff2", "0xffde"]
+              },
+              "priority" : 1
+            },
+            {
+              "source_info" : {
+                "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+                "line" : 359,
+                "column" : 12,
+                "source_fragment" : "INT_IS_WIP_WITH_MPLS: adjust_ip_udp_len(INT_WIP_ADJUST_IP_MPLS_BYTES, INT_WIP_ADJUST_UDP_MPLS_BYTES)"
+              },
+              "match_key" : [
+                {
+                  "match_type" : "exact",
+                  "key" : "0x02"
+                }
+              ],
+              "action_entry" : {
+                "action_id" : 101,
+                "action_data" : ["0xffee", "0xffda"]
+              },
+              "priority" : 2
+            }
+          ]
+        },
+        {
+          "name" : "tbl_slicing189",
+          "id" : 82,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 189,
+            "column" : 4,
+            "source_fragment" : "bit<6> tmp_dscp = fabric_md.bridged.base.slice_tc; ..."
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [127],
+          "actions" : ["slicing189"],
+          "base_default_next" : "FabricEgress.dscp_rewriter.rewriter",
+          "next_tables" : {
+            "slicing189" : "FabricEgress.dscp_rewriter.rewriter"
+          },
+          "default_entry" : {
+            "action_id" : 127,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "FabricEgress.dscp_rewriter.rewriter",
+          "id" : 83,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 201,
+            "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" : [87, 88, 75],
+          "actions" : ["FabricEgress.dscp_rewriter.rewrite", "FabricEgress.dscp_rewriter.clear", "nop"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "node_134",
+            "__MISS__" : "node_136"
+          },
+          "default_entry" : {
+            "action_id" : 75,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_slicing217",
+          "id" : 84,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 217,
+            "column" : 30,
+            "source_fragment" : "="
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [126],
+          "actions" : ["slicing217"],
+          "base_default_next" : "node_136",
+          "next_tables" : {
+            "slicing217" : "node_136"
+          },
+          "default_entry" : {
+            "action_id" : 126,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_fabric_v1model170",
+          "id" : 85,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 170,
+            "column" : 12,
+            "source_fragment" : "recirculate_preserving_field_list(NO_PRESERVATION)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [128],
+          "actions" : ["fabric_v1model170"],
+          "base_default_next" : "node_138",
+          "next_tables" : {
+            "fabric_v1model170" : "node_138"
+          },
+          "default_entry" : {
+            "action_id" : 128,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_fabric_v1model174",
+          "id" : 86,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 174,
+            "column" : 12,
+            "source_fragment" : "mark_to_drop(standard_md)"
+          },
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [129],
+          "actions" : ["fabric_v1model174"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "fabric_v1model174" : null
+          },
+          "default_entry" : {
+            "action_id" : 129,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        }
+      ],
+      "action_profiles" : [],
+      "conditionals" : [
+        {
+          "name" : "node_72",
+          "id" : 23,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 135,
+            "column" : 12,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._skip_egress0"]
+              }
+            }
+          },
+          "true_next" : "tbl_fabric_v1model136",
+          "false_next" : "node_74"
+        },
+        {
+          "name" : "node_74",
+          "id" : 24,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 140,
+            "column" : 13,
+            "source_fragment" : "standard_md.instance_type == 2"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "instance_type"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00000002"
+              }
+            }
+          },
+          "true_next" : "tbl_int_tna_parser_emulator14",
+          "false_next" : "node_84"
+        },
+        {
+          "name" : "node_76",
+          "id" : 25,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 145,
+            "column" : 11,
+            "source_fragment" : "hdr_v1model.ingress.gtpu.isValid() || hdr_v1model.ingress.vxlan.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "or",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_gtpu12", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_vxlan15", "$valid$"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "tbl_int_tna_parser_emulator148",
+          "false_next" : "node_78"
+        },
+        {
+          "name" : "node_78",
+          "id" : 26,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 164,
+            "column" : 12,
+            "source_fragment" : "(bit<8>)fabric_md.bridged.int_bmd.report_type == BridgedMdType_t.INT_INGRESS_DROP"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["scalars", "userMetadata._recirc_preserved_report_type46"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x04"
+              }
+            }
+          },
+          "true_next" : "tbl_parser_emulator_parse_int_ingress_drop",
+          "false_next" : "tbl_parser_emulator_parse_int_report_mirror"
+        },
+        {
+          "name" : "node_84",
+          "id" : 27,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 150,
+            "column" : 11,
+            "source_fragment" : "(bit<8>)fabric_md.egress.bridged.int_bmd.report_type == BridgedMdType_t.INT_INGRESS_DROP"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_int_bmd_report_type13"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x04"
+              }
+            }
+          },
+          "true_next" : "tbl_int_tna_parser_emulator14_0",
+          "false_next" : "FabricEgress.pkt_io_egress.switch_info"
+        },
+        {
+          "name" : "node_86",
+          "id" : 28,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 145,
+            "column" : 11,
+            "source_fragment" : "hdr_v1model.ingress.gtpu.isValid() || hdr_v1model.ingress.vxlan.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "or",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_gtpu12", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_vxlan15", "$valid$"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "tbl_int_tna_parser_emulator148_0",
+          "false_next" : "node_88"
+        },
+        {
+          "name" : "node_88",
+          "id" : 29,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int_tna_parser_emulator.p4",
+            "line" : 164,
+            "column" : 12,
+            "source_fragment" : "(bit<8>)fabric_md.bridged.int_bmd.report_type == BridgedMdType_t.INT_INGRESS_DROP"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_int_bmd_report_type13"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x04"
+              }
+            }
+          },
+          "true_next" : "tbl_parser_emulator_parse_int_ingress_drop_0",
+          "false_next" : "tbl_parser_emulator_parse_int_report_mirror_0"
+        },
+        {
+          "name" : "node_95",
+          "id" : 30,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 50,
+            "column" : 12,
+            "source_fragment" : "standard_md.egress_port == fabric_md.cpu_port"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "egress_port"]
+              },
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._egress_cpu_port37"]
+              }
+            }
+          },
+          "true_next" : "tbl_packetio51",
+          "false_next" : "node_97"
+        },
+        {
+          "name" : "node_97",
+          "id" : 31,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/packetio.p4",
+            "line" : 58,
+            "column" : 12,
+            "source_fragment" : "hdr.fake_ethernet.isValid() && ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_fake_ethernet2", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_ingress_fake_ethernet2", "ether_type"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xbf03"
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "tbl_packetio60",
+          "false_next" : "node_99"
+        },
+        {
+          "name" : "node_99",
+          "id" : 32,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/stats.p4",
+            "line" : 67,
+            "column" : 12,
+            "source_fragment" : "bmd_type == BridgedMdType_t.INGRESS_TO_EGRESS"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["_egress_bridged36", "_bmd_type0"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "true_next" : "FabricEgress.stats.flows",
+          "false_next" : "node_101"
+        },
+        {
+          "name" : "node_101",
+          "id" : 33,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 280,
+            "column" : 12,
+            "source_fragment" : "fabric_md.bridged.base.is_multicast ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_base_is_multicast4"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_base_ig_port3"]
+                  },
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["standard_metadata", "egress_port"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "tbl_next283",
+          "false_next" : "node_103"
+        },
+        {
+          "name" : "node_103",
+          "id" : 34,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 288,
+            "column" : 12,
+            "source_fragment" : "fabric_md.bridged.base.mpls_label == 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["_egress_bridged36", "_base_mpls_label2"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x000000"
+              }
+            }
+          },
+          "true_next" : "node_104",
+          "false_next" : "tbl_egress_next_set_mpls"
+        },
+        {
+          "name" : "node_104",
+          "id" : 35,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 289,
+            "column" : 16,
+            "source_fragment" : "hdr.mpls.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_mpls6", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_egress_next_pop_mpls_if_present",
+          "false_next" : "node_107"
+        },
+        {
+          "name" : "node_107",
+          "id" : 36,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 159,
+            "column" : 39,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._egress_is_int_recirc44"]
+              }
+            }
+          },
+          "false_next" : "FabricEgress.egress_next.egress_vlan",
+          "true_next" : "node_109"
+        },
+        {
+          "name" : "node_109",
+          "id" : 37,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 322,
+            "column" : 12,
+            "source_fragment" : "hdr.mpls.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_mpls6", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_next323",
+          "false_next" : "node_113"
+        },
+        {
+          "name" : "node_111",
+          "id" : 38,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 324,
+            "column" : 16,
+            "source_fragment" : "hdr.mpls.ttl == 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["_ingress_mpls6", "ttl"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00"
+              }
+            }
+          },
+          "true_next" : "tbl_next325",
+          "false_next" : "tbl_int128"
+        },
+        {
+          "name" : "node_113",
+          "id" : 39,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 331,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid() && fabric_md.bridged.base.fwd_type != FWD_BRIDGING"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_ipv47", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "!=",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_base_fwd_type5"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x00"
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "node_114",
+          "false_next" : "node_118"
+        },
+        {
+          "name" : "node_114",
+          "id" : 40,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 319,
+            "column" : 28,
+            "source_fragment" : "(fabric_md.bridged.bmd_type == BridgedMdType_t.INT_INGRESS_DROP) || ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "or",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_bmd_type0"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x04"
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_bmd_type0"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x02"
+                  }
+                }
+              }
+            }
+          },
+          "false_next" : "tbl_next333",
+          "true_next" : "node_116"
+        },
+        {
+          "name" : "node_116",
+          "id" : 41,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 335,
+            "column" : 20,
+            "source_fragment" : "hdr.ipv4.ttl == 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["_ingress_ipv47", "ttl"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00"
+              }
+            }
+          },
+          "true_next" : "tbl_next336",
+          "false_next" : "tbl_int128"
+        },
+        {
+          "name" : "node_118",
+          "id" : 42,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 341,
+            "column" : 23,
+            "source_fragment" : "hdr.ipv6.isValid() && fabric_md.bridged.base.fwd_type != FWD_BRIDGING"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "and",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["_ingress_ipv68", "$valid$"]
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "!=",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_base_fwd_type5"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x00"
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "node_119",
+          "false_next" : "tbl_int128"
+        },
+        {
+          "name" : "node_119",
+          "id" : 43,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 319,
+            "column" : 28,
+            "source_fragment" : "(fabric_md.bridged.bmd_type == BridgedMdType_t.INT_INGRESS_DROP) || ..."
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "or",
+              "left" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_bmd_type0"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x04"
+                  }
+                }
+              },
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "==",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["_egress_bridged36", "_bmd_type0"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0x02"
+                  }
+                }
+              }
+            }
+          },
+          "false_next" : "tbl_next343",
+          "true_next" : "node_121"
+        },
+        {
+          "name" : "node_121",
+          "id" : 44,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/next.p4",
+            "line" : 345,
+            "column" : 20,
+            "source_fragment" : "hdr.ipv6.hop_limit == 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["_ingress_ipv68", "hop_limit"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00"
+              }
+            }
+          },
+          "true_next" : "tbl_next346",
+          "false_next" : "tbl_int128"
+        },
+        {
+          "name" : "node_127",
+          "id" : 45,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/int.p4",
+            "line" : 375,
+            "column" : 12,
+            "source_fragment" : "fabric_md.int_report_md.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["int_egress_fabric_md_int_report_md", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "FabricEgress.int_egress.report",
+          "false_next" : "FabricEgress.int_egress.int_metadata"
+        },
+        {
+          "name" : "node_134",
+          "id" : 46,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/slicing.p4",
+            "line" : 216,
+            "column" : 16,
+            "source_fragment" : "hdr.ipv4.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["_ingress_ipv47", "$valid$"]
+              }
+            }
+          },
+          "true_next" : "tbl_slicing217",
+          "false_next" : "node_136"
+        },
+        {
+          "name" : "node_136",
+          "id" : 47,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 168,
+            "column" : 12,
+            "source_fragment" : "fabric_md"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._do_upf_uplink_recirc1"]
+              }
+            }
+          },
+          "true_next" : "tbl_fabric_v1model170",
+          "false_next" : "node_138"
+        },
+        {
+          "name" : "node_138",
+          "id" : 48,
+          "source_info" : {
+            "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+            "line" : 173,
+            "column" : 12,
+            "source_fragment" : "fabric_md.drop_ctl == 1"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "userMetadata._drop_ctl2"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "false_next" : null,
+          "true_next" : "tbl_fabric_v1model174"
+        }
+      ]
+    }
+  ],
+  "checksums" : [
+    {
+      "name" : "cksum",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 55,
+        "column" : 8,
+        "source_fragment" : "update_checksum(hdr.ingress.ipv4.isValid(), ..."
+      },
+      "target" : ["_ingress_ipv47", "hdr_checksum"],
+      "type" : "generic",
+      "calculation" : "calc_2",
+      "verify" : false,
+      "update" : true,
+      "if_cond" : {
+        "type" : "expression",
+        "value" : {
+          "op" : "d2b",
+          "left" : null,
+          "right" : {
+            "type" : "field",
+            "value" : ["_ingress_ipv47", "$valid$"]
+          }
+        }
+      }
+    },
+    {
+      "name" : "cksum_0",
+      "id" : 1,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 73,
+        "column" : 8,
+        "source_fragment" : "update_checksum(hdr.ingress.inner_ipv4.isValid(), ..."
+      },
+      "target" : ["_ingress_inner_ipv418", "hdr_checksum"],
+      "type" : "generic",
+      "calculation" : "calc_3",
+      "verify" : false,
+      "update" : true,
+      "if_cond" : {
+        "type" : "expression",
+        "value" : {
+          "op" : "d2b",
+          "left" : null,
+          "right" : {
+            "type" : "field",
+            "value" : ["_ingress_inner_ipv418", "$valid$"]
+          }
+        }
+      }
+    },
+    {
+      "name" : "cksum_1",
+      "id" : 2,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 92,
+        "column" : 8,
+        "source_fragment" : "update_checksum(hdr.egress.report_ipv4.isValid(), ..."
+      },
+      "target" : ["_egress_report_ipv427", "hdr_checksum"],
+      "type" : "generic",
+      "calculation" : "calc_4",
+      "verify" : false,
+      "update" : true,
+      "if_cond" : {
+        "type" : "expression",
+        "value" : {
+          "op" : "d2b",
+          "left" : null,
+          "right" : {
+            "type" : "field",
+            "value" : ["_egress_report_ipv427", "$valid$"]
+          }
+        }
+      }
+    },
+    {
+      "name" : "cksum_2",
+      "id" : 3,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 13,
+        "column" : 8,
+        "source_fragment" : "verify_checksum(hdr.ingress.ipv4.isValid(), ..."
+      },
+      "target" : ["_ingress_ipv47", "hdr_checksum"],
+      "type" : "generic",
+      "calculation" : "calc_5",
+      "verify" : true,
+      "update" : false,
+      "if_cond" : {
+        "type" : "expression",
+        "value" : {
+          "op" : "d2b",
+          "left" : null,
+          "right" : {
+            "type" : "field",
+            "value" : ["_ingress_ipv47", "$valid$"]
+          }
+        }
+      }
+    },
+    {
+      "name" : "cksum_3",
+      "id" : 4,
+      "source_info" : {
+        "filename" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/../v1model/include/control/checksum.p4",
+        "line" : 31,
+        "column" : 8,
+        "source_fragment" : "verify_checksum(hdr.ingress.inner_ipv4.isValid(), ..."
+      },
+      "target" : ["_ingress_inner_ipv418", "hdr_checksum"],
+      "type" : "generic",
+      "calculation" : "calc_6",
+      "verify" : true,
+      "update" : false,
+      "if_cond" : {
+        "type" : "expression",
+        "value" : {
+          "op" : "d2b",
+          "left" : null,
+          "right" : {
+            "type" : "field",
+            "value" : ["_ingress_inner_ipv418", "$valid$"]
+          }
+        }
+      }
+    }
+  ],
+  "force_arith" : [],
+  "extern_instances" : [],
+  "field_aliases" : [
+    [
+      "queueing_metadata.enq_timestamp",
+      ["standard_metadata", "enq_timestamp"]
+    ],
+    [
+      "queueing_metadata.enq_qdepth",
+      ["standard_metadata", "enq_qdepth"]
+    ],
+    [
+      "queueing_metadata.deq_timedelta",
+      ["standard_metadata", "deq_timedelta"]
+    ],
+    [
+      "queueing_metadata.deq_qdepth",
+      ["standard_metadata", "deq_qdepth"]
+    ],
+    [
+      "intrinsic_metadata.ingress_global_timestamp",
+      ["standard_metadata", "ingress_global_timestamp"]
+    ],
+    [
+      "intrinsic_metadata.egress_global_timestamp",
+      ["standard_metadata", "egress_global_timestamp"]
+    ],
+    [
+      "intrinsic_metadata.mcast_grp",
+      ["standard_metadata", "mcast_grp"]
+    ],
+    [
+      "intrinsic_metadata.egress_rid",
+      ["standard_metadata", "egress_rid"]
+    ],
+    [
+      "intrinsic_metadata.priority",
+      ["standard_metadata", "priority"]
+    ]
+  ],
+  "program" : "/home/ubuntu/tfs-setup/fabric-tna/p4src/v1model/fabric_v1model.p4",
+  "__meta__" : {
+    "version" : [2, 23],
+    "compiler" : "https://github.com/p4lang/p4c"
+  }
+}
\ No newline at end of file
diff --git a/src/tests/p4-int-routing-acl/p4src/p4info.txt b/src/tests/p4-int-routing-acl/p4src/p4info.txt
new file mode 100644
index 0000000000000000000000000000000000000000..4e54f2861496816db734612ad4558cf4d03e69f8
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/p4src/p4info.txt
@@ -0,0 +1,1911 @@
+pkg_info {
+  arch: "v1model"
+}
+tables {
+  preamble {
+    id: 41243186
+    name: "FabricIngress.stats.flows"
+    alias: "FabricIngress.stats.flows"
+  }
+  match_fields {
+    id: 1
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "ig_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 21929788
+  }
+  const_default_action_id: 21929788
+  direct_resource_ids: 333776332
+  size: 1024
+}
+tables {
+  preamble {
+    id: 43310977
+    name: "FabricIngress.filtering.ingress_port_vlan"
+    alias: "ingress_port_vlan"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "vlan_is_valid"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "vlan_id"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 17164167
+  }
+  action_refs {
+    id: 24158268
+  }
+  action_refs {
+    id: 24266015
+  }
+  const_default_action_id: 17164167
+  direct_resource_ids: 326221069
+  size: 1024
+}
+tables {
+  preamble {
+    id: 49718154
+    name: "FabricIngress.filtering.fwd_classifier"
+    alias: "fwd_classifier"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "eth_dst"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "eth_type"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "ip_eth_type"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  action_refs {
+    id: 25032921
+  }
+  const_default_action_id: 25032921
+  direct_resource_ids: 335473470
+  size: 1024
+}
+tables {
+  preamble {
+    id: 43623757
+    name: "FabricIngress.forwarding.bridging"
+    alias: "bridging"
+  }
+  match_fields {
+    id: 1
+    name: "vlan_id"
+    bitwidth: 12
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "eth_dst"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 21791748
+  }
+  action_refs {
+    id: 29734112
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 29734112
+  direct_resource_ids: 330959985
+  size: 1024
+}
+tables {
+  preamble {
+    id: 37768578
+    name: "FabricIngress.forwarding.mpls"
+    alias: "mpls"
+  }
+  match_fields {
+    id: 1
+    name: "mpls_label"
+    bitwidth: 20
+    match_type: EXACT
+  }
+  action_refs {
+    id: 30066030
+  }
+  action_refs {
+    id: 29734112
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 29734112
+  direct_resource_ids: 318961579
+  size: 1024
+}
+tables {
+  preamble {
+    id: 41754650
+    name: "FabricIngress.forwarding.routing_v4"
+    alias: "routing_v4"
+  }
+  match_fields {
+    id: 1
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 19792090
+  }
+  action_refs {
+    id: 29124955
+  }
+  action_refs {
+    id: 17639597
+  }
+  action_refs {
+    id: 29734112
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  direct_resource_ids: 333425635
+  size: 1024
+}
+tables {
+  preamble {
+    id: 49342721
+    name: "FabricIngress.forwarding.routing_v6"
+    alias: "routing_v6"
+  }
+  match_fields {
+    id: 1
+    name: "ipv6_dst"
+    bitwidth: 128
+    match_type: LPM
+  }
+  action_refs {
+    id: 21856023
+  }
+  action_refs {
+    id: 24646532
+  }
+  action_refs {
+    id: 29734112
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  direct_resource_ids: 324042090
+  size: 1024
+}
+tables {
+  preamble {
+    id: 36626242
+    name: "FabricIngress.pre_next.next_mpls"
+    alias: "next_mpls"
+  }
+  match_fields {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 22765924
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  direct_resource_ids: 330020245
+  size: 1024
+}
+tables {
+  preamble {
+    id: 48011802
+    name: "FabricIngress.pre_next.next_vlan"
+    alias: "next_vlan"
+  }
+  match_fields {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 33475378
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  direct_resource_ids: 333692067
+  size: 1024
+}
+tables {
+  preamble {
+    id: 44104738
+    name: "FabricIngress.acl.acl"
+    alias: "acl"
+  }
+  match_fields {
+    id: 1
+    name: "ig_port"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "eth_dst"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "eth_src"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "vlan_id"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "eth_type"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "ipv4_src"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "ipv4_dst"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "ip_proto"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "icmp_type"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "icmp_code"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "l4_sport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 12
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 13
+    name: "ig_port_type"
+    bitwidth: 2
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 23623126
+  }
+  action_refs {
+    id: 23579892
+  }
+  action_refs {
+    id: 21161133
+  }
+  action_refs {
+    id: 23570973
+  }
+  action_refs {
+    id: 24507494
+  }
+  action_refs {
+    id: 29607214
+  }
+  const_default_action_id: 29607214
+  direct_resource_ids: 319194241
+  size: 1024
+}
+tables {
+  preamble {
+    id: 39142283
+    name: "FabricIngress.next.simple"
+    alias: "simple"
+  }
+  match_fields {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 19358572
+  }
+  action_refs {
+    id: 31887425
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  direct_resource_ids: 326633416
+  size: 1024
+}
+tables {
+  preamble {
+    id: 47960972
+    name: "FabricIngress.next.hashed"
+    alias: "hashed"
+  }
+  match_fields {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 27301117
+  }
+  action_refs {
+    id: 20985706
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  implementation_id: 289544276
+  direct_resource_ids: 322798228
+  size: 1024
+}
+tables {
+  preamble {
+    id: 40619180
+    name: "FabricIngress.next.multicast"
+    alias: "multicast"
+  }
+  match_fields {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  action_refs {
+    id: 21629581
+  }
+  action_refs {
+    id: 23637707
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 23637707
+  direct_resource_ids: 319194968
+  size: 1024
+}
+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
+  }
+  action_refs {
+    id: 30111108
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 30111108
+  direct_resource_ids: 334706097
+  size: 512
+}
+tables {
+  preamble {
+    id: 36435258
+    name: "FabricIngress.qos.queues"
+    alias: "queues"
+  }
+  match_fields {
+    id: 1
+    name: "slice_tc"
+    bitwidth: 6
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    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: 43965782
+    name: "FabricIngress.qos.default_tc"
+    alias: "default_tc"
+  }
+  match_fields {
+    id: 1
+    name: "slice_tc"
+    bitwidth: 6
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "tc_unknown"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  action_refs {
+    id: 23587909
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28485346
+  size: 16
+}
+tables {
+  preamble {
+    id: 40748488
+    name: "FabricIngress.int_watchlist.watchlist"
+    alias: "watchlist"
+  }
+  match_fields {
+    id: 1
+    name: "ipv4_valid"
+    bitwidth: 1
+    match_type: EXACT
+  }
+  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: RANGE
+  }
+  match_fields {
+    id: 6
+    name: "l4_dport"
+    bitwidth: 16
+    match_type: RANGE
+  }
+  action_refs {
+    id: 25078550
+  }
+  action_refs {
+    id: 20118842
+  }
+  action_refs {
+    id: 28396787
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 28396787
+  direct_resource_ids: 328581521
+  size: 64
+}
+tables {
+  preamble {
+    id: 43851059
+    name: "FabricEgress.stats.flows"
+    alias: "FabricEgress.stats.flows"
+  }
+  match_fields {
+    id: 1
+    name: "stats_flow_id"
+    bitwidth: 10
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 26838724
+  }
+  const_default_action_id: 26838724
+  direct_resource_ids: 334508337
+  size: 1024
+}
+tables {
+  preamble {
+    id: 35217901
+    name: "FabricEgress.pkt_io_egress.switch_info"
+    alias: "switch_info"
+  }
+  action_refs {
+    id: 32804382
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 1
+}
+tables {
+  preamble {
+    id: 49262446
+    name: "FabricEgress.egress_next.egress_vlan"
+    alias: "egress_vlan"
+  }
+  match_fields {
+    id: 1
+    name: "vlan_id"
+    bitwidth: 12
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "eg_port"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 30307755
+  }
+  action_refs {
+    id: 17183246
+  }
+  action_refs {
+    id: 30812542
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  const_default_action_id: 30812542
+  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
+}
+tables {
+  preamble {
+    id: 36860953
+    name: "FabricEgress.int_egress.queue_latency_thresholds"
+    alias: "queue_latency_thresholds"
+  }
+  match_fields {
+    id: 1
+    name: "egress_qid"
+    bitwidth: 5
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hop_latency_upper"
+    bitwidth: 16
+    match_type: RANGE
+  }
+  match_fields {
+    id: 3
+    name: "hop_latency_lower"
+    bitwidth: 16
+    match_type: RANGE
+  }
+  action_refs {
+    id: 22415037
+  }
+  action_refs {
+    id: 19702294
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 128
+}
+tables {
+  preamble {
+    id: 40475827
+    name: "FabricEgress.int_egress.config"
+    alias: "config"
+  }
+  action_refs {
+    id: 22425991
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  size: 1
+}
+tables {
+  preamble {
+    id: 46071383
+    name: "FabricEgress.int_egress.report"
+    alias: "report"
+  }
+  match_fields {
+    id: 1
+    name: "bmd_type"
+    bitwidth: 8
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "mirror_type"
+    bitwidth: 3
+    match_type: EXACT
+  }
+  match_fields {
+    id: 3
+    name: "int_report_type"
+    bitwidth: 3
+    match_type: EXACT
+  }
+  action_refs {
+    id: 30783845
+  }
+  action_refs {
+    id: 22769901
+  }
+  action_refs {
+    id: 32486459
+  }
+  action_refs {
+    id: 25343592
+  }
+  action_refs {
+    id: 28485346
+    annotations: "@defaultonly"
+    scope: DEFAULT_ONLY
+  }
+  direct_resource_ids: 325056546
+  size: 6
+}
+actions {
+  preamble {
+    id: 28485346
+    name: "nop"
+    alias: "nop"
+  }
+}
+actions {
+  preamble {
+    id: 21257015
+    name: "NoAction"
+    alias: "NoAction"
+    annotations: "@noWarn(\"unused\")"
+  }
+}
+actions {
+  preamble {
+    id: 21929788
+    name: "FabricIngress.stats.count"
+    alias: "FabricIngress.stats.count"
+  }
+  params {
+    id: 1
+    name: "flow_id"
+    bitwidth: 10
+  }
+}
+actions {
+  preamble {
+    id: 17164167
+    name: "FabricIngress.filtering.deny"
+    alias: "deny"
+  }
+}
+actions {
+  preamble {
+    id: 24158268
+    name: "FabricIngress.filtering.permit"
+    alias: "permit"
+  }
+  params {
+    id: 1
+    name: "port_type"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 24266015
+    name: "FabricIngress.filtering.permit_with_internal_vlan"
+    alias: "permit_with_internal_vlan"
+  }
+  params {
+    id: 1
+    name: "vlan_id"
+    bitwidth: 12
+  }
+  params {
+    id: 2
+    name: "port_type"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25032921
+    name: "FabricIngress.filtering.set_forwarding_type"
+    alias: "set_forwarding_type"
+  }
+  params {
+    id: 1
+    name: "fwd_type"
+    bitwidth: 3
+  }
+}
+actions {
+  preamble {
+    id: 29734112
+    name: "FabricIngress.forwarding.set_int_drop_reason"
+    alias: "set_int_drop_reason"
+  }
+  params {
+    id: 1
+    name: "drop_reason"
+    bitwidth: 8
+  }
+}
+actions {
+  preamble {
+    id: 21791748
+    name: "FabricIngress.forwarding.set_next_id_bridging"
+    alias: "set_next_id_bridging"
+  }
+  params {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 30066030
+    name: "FabricIngress.forwarding.pop_mpls_and_next"
+    alias: "pop_mpls_and_next"
+  }
+  params {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 19792090
+    name: "FabricIngress.forwarding.set_next_id_routing_v4"
+    alias: "set_next_id_routing_v4"
+  }
+  params {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 29124955
+    name: "FabricIngress.forwarding.nop_routing_v4"
+    alias: "nop_routing_v4"
+  }
+}
+actions {
+  preamble {
+    id: 17639597
+    name: "FabricIngress.forwarding.drop_routing_v4"
+    alias: "drop_routing_v4"
+  }
+}
+actions {
+  preamble {
+    id: 21856023
+    name: "FabricIngress.forwarding.set_next_id_routing_v6"
+    alias: "set_next_id_routing_v6"
+  }
+  params {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 24646532
+    name: "FabricIngress.forwarding.drop_routing_v6"
+    alias: "drop_routing_v6"
+  }
+}
+actions {
+  preamble {
+    id: 22765924
+    name: "FabricIngress.pre_next.set_mpls_label"
+    alias: "set_mpls_label"
+  }
+  params {
+    id: 1
+    name: "label"
+    bitwidth: 20
+  }
+}
+actions {
+  preamble {
+    id: 33475378
+    name: "FabricIngress.pre_next.set_vlan"
+    alias: "set_vlan"
+  }
+  params {
+    id: 1
+    name: "vlan_id"
+    bitwidth: 12
+  }
+}
+actions {
+  preamble {
+    id: 23623126
+    name: "FabricIngress.acl.set_next_id_acl"
+    alias: "set_next_id_acl"
+  }
+  params {
+    id: 1
+    name: "next_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 21161133
+    name: "FabricIngress.acl.copy_to_cpu"
+    alias: "copy_to_cpu"
+  }
+}
+actions {
+  preamble {
+    id: 23579892
+    name: "FabricIngress.acl.punt_to_cpu"
+    alias: "punt_to_cpu"
+  }
+}
+actions {
+  preamble {
+    id: 23570973
+    name: "FabricIngress.acl.drop"
+    alias: "acl.drop"
+  }
+}
+actions {
+  preamble {
+    id: 24507494
+    name: "FabricIngress.acl.set_output_port"
+    alias: "set_output_port"
+  }
+  params {
+    id: 1
+    name: "port_num"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+}
+actions {
+  preamble {
+    id: 29607214
+    name: "FabricIngress.acl.nop_acl"
+    alias: "nop_acl"
+  }
+}
+actions {
+  preamble {
+    id: 19358572
+    name: "FabricIngress.next.output_simple"
+    alias: "output_simple"
+  }
+  params {
+    id: 1
+    name: "port_num"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+}
+actions {
+  preamble {
+    id: 31887425
+    name: "FabricIngress.next.routing_simple"
+    alias: "routing_simple"
+  }
+  params {
+    id: 1
+    name: "port_num"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+  params {
+    id: 2
+    name: "smac"
+    bitwidth: 48
+  }
+  params {
+    id: 3
+    name: "dmac"
+    bitwidth: 48
+  }
+}
+actions {
+  preamble {
+    id: 27301117
+    name: "FabricIngress.next.output_hashed"
+    alias: "output_hashed"
+  }
+  params {
+    id: 1
+    name: "port_num"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+}
+actions {
+  preamble {
+    id: 20985706
+    name: "FabricIngress.next.routing_hashed"
+    alias: "routing_hashed"
+  }
+  params {
+    id: 1
+    name: "port_num"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+  params {
+    id: 2
+    name: "smac"
+    bitwidth: 48
+  }
+  params {
+    id: 3
+    name: "dmac"
+    bitwidth: 48
+  }
+}
+actions {
+  preamble {
+    id: 21629581
+    name: "FabricIngress.next.set_mcast_group_id"
+    alias: "set_mcast_group_id"
+  }
+  params {
+    id: 1
+    name: "group_id"
+    bitwidth: 16
+  }
+}
+actions {
+  preamble {
+    id: 23637707
+    name: "FabricIngress.next.reset_mcast_group_id"
+    alias: "reset_mcast_group_id"
+  }
+}
+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: 30111108
+    name: "FabricIngress.slice_tc_classifier.no_classification"
+    alias: "no_classification"
+  }
+}
+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: 23587909
+    name: "FabricIngress.qos.set_default_tc"
+    alias: "set_default_tc"
+  }
+  params {
+    id: 1
+    name: "tc"
+    bitwidth: 2
+  }
+}
+actions {
+  preamble {
+    id: 25078550
+    name: "FabricIngress.int_watchlist.mark_to_report"
+    alias: "mark_to_report"
+  }
+}
+actions {
+  preamble {
+    id: 28396787
+    name: "FabricIngress.int_watchlist.no_report"
+    alias: "no_report"
+  }
+}
+actions {
+  preamble {
+    id: 20118842
+    name: "FabricIngress.int_watchlist.no_report_collector"
+    alias: "no_report_collector"
+  }
+}
+actions {
+  preamble {
+    id: 26838724
+    name: "FabricEgress.stats.count"
+    alias: "FabricEgress.stats.count"
+  }
+}
+actions {
+  preamble {
+    id: 32804382
+    name: "FabricEgress.pkt_io_egress.set_switch_info"
+    alias: "set_switch_info"
+  }
+  params {
+    id: 1
+    name: "cpu_port"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+}
+actions {
+  preamble {
+    id: 30307755
+    name: "FabricEgress.egress_next.push_vlan"
+    alias: "push_vlan"
+  }
+}
+actions {
+  preamble {
+    id: 17183246
+    name: "FabricEgress.egress_next.pop_vlan"
+    alias: "pop_vlan"
+  }
+}
+actions {
+  preamble {
+    id: 30812542
+    name: "FabricEgress.egress_next.drop"
+    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"
+  }
+}
+actions {
+  preamble {
+    id: 22415037
+    name: "FabricEgress.int_egress.check_quota"
+    alias: "check_quota"
+  }
+}
+actions {
+  preamble {
+    id: 19702294
+    name: "FabricEgress.int_egress.reset_quota"
+    alias: "reset_quota"
+  }
+}
+actions {
+  preamble {
+    id: 22425991
+    name: "FabricEgress.int_egress.set_config"
+    alias: "set_config"
+  }
+  params {
+    id: 1
+    name: "hop_latency_mask"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "timestamp_mask"
+    bitwidth: 48
+  }
+}
+actions {
+  preamble {
+    id: 30783845
+    name: "FabricEgress.int_egress.do_local_report_encap"
+    alias: "do_local_report_encap"
+  }
+  params {
+    id: 1
+    name: "src_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "mon_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 3
+    name: "mon_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "switch_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 22769901
+    name: "FabricEgress.int_egress.do_local_report_encap_mpls"
+    alias: "do_local_report_encap_mpls"
+  }
+  params {
+    id: 1
+    name: "src_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "mon_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 3
+    name: "mon_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "mon_label"
+    bitwidth: 20
+  }
+  params {
+    id: 5
+    name: "switch_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 32486459
+    name: "FabricEgress.int_egress.do_drop_report_encap"
+    alias: "do_drop_report_encap"
+  }
+  params {
+    id: 1
+    name: "src_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "mon_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 3
+    name: "mon_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "switch_id"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 25343592
+    name: "FabricEgress.int_egress.do_drop_report_encap_mpls"
+    alias: "do_drop_report_encap_mpls"
+  }
+  params {
+    id: 1
+    name: "src_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 2
+    name: "mon_ip"
+    bitwidth: 32
+  }
+  params {
+    id: 3
+    name: "mon_port"
+    bitwidth: 16
+  }
+  params {
+    id: 4
+    name: "mon_label"
+    bitwidth: 20
+  }
+  params {
+    id: 5
+    name: "switch_id"
+    bitwidth: 32
+  }
+}
+action_profiles {
+  preamble {
+    id: 289544276
+    name: "FabricIngress.next.hashed_profile"
+    alias: "hashed_profile"
+  }
+  table_ids: 47960972
+  with_selector: true
+  size: 16
+  max_group_size: 16
+}
+counters {
+  preamble {
+    id: 309010261
+    name: "FabricIngress.filtering.fwd_type_counter"
+    alias: "fwd_type_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  size: 8
+}
+direct_counters {
+  preamble {
+    id: 333776332
+    name: "FabricIngress.stats.flow_counter"
+    alias: "FabricIngress.stats.flow_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 41243186
+}
+direct_counters {
+  preamble {
+    id: 326221069
+    name: "FabricIngress.filtering.ingress_port_vlan_counter"
+    alias: "ingress_port_vlan_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 43310977
+}
+direct_counters {
+  preamble {
+    id: 335473470
+    name: "FabricIngress.filtering.fwd_classifier_counter"
+    alias: "fwd_classifier_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 49718154
+}
+direct_counters {
+  preamble {
+    id: 330959985
+    name: "FabricIngress.forwarding.bridging_counter"
+    alias: "bridging_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 43623757
+}
+direct_counters {
+  preamble {
+    id: 318961579
+    name: "FabricIngress.forwarding.mpls_counter"
+    alias: "mpls_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 37768578
+}
+direct_counters {
+  preamble {
+    id: 333425635
+    name: "FabricIngress.forwarding.routing_v4_counter"
+    alias: "routing_v4_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 41754650
+}
+direct_counters {
+  preamble {
+    id: 324042090
+    name: "FabricIngress.forwarding.routing_v6_counter"
+    alias: "routing_v6_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 49342721
+}
+direct_counters {
+  preamble {
+    id: 330020245
+    name: "FabricIngress.pre_next.next_mpls_counter"
+    alias: "next_mpls_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 36626242
+}
+direct_counters {
+  preamble {
+    id: 333692067
+    name: "FabricIngress.pre_next.next_vlan_counter"
+    alias: "next_vlan_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 48011802
+}
+direct_counters {
+  preamble {
+    id: 319194241
+    name: "FabricIngress.acl.acl_counter"
+    alias: "acl_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 44104738
+}
+direct_counters {
+  preamble {
+    id: 326633416
+    name: "FabricIngress.next.simple_counter"
+    alias: "simple_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 39142283
+}
+direct_counters {
+  preamble {
+    id: 322798228
+    name: "FabricIngress.next.hashed_counter"
+    alias: "hashed_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 47960972
+}
+direct_counters {
+  preamble {
+    id: 319194968
+    name: "FabricIngress.next.multicast_counter"
+    alias: "multicast_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 40619180
+}
+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: 328581521
+    name: "FabricIngress.int_watchlist.watchlist_counter"
+    alias: "watchlist_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 40748488
+}
+direct_counters {
+  preamble {
+    id: 334508337
+    name: "FabricEgress.stats.flow_counter"
+    alias: "FabricEgress.stats.flow_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 43851059
+}
+direct_counters {
+  preamble {
+    id: 318892680
+    name: "FabricEgress.egress_next.egress_vlan_counter"
+    alias: "egress_vlan_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 49262446
+}
+direct_counters {
+  preamble {
+    id: 325056546
+    name: "FabricEgress.int_egress.report_counter"
+    alias: "report_counter"
+  }
+  spec {
+    unit: BOTH
+  }
+  direct_table_id: 46071383
+}
+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
+    name: "packet_in"
+    alias: "packet_in"
+    annotations: "@controller_header(\"packet_in\")"
+  }
+  metadata {
+    id: 1
+    name: "ingress_port"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+  metadata {
+    id: 2
+    name: "_pad0"
+    bitwidth: 7
+  }
+}
+controller_packet_metadata {
+  preamble {
+    id: 76689799
+    name: "packet_out"
+    alias: "packet_out"
+    annotations: "@controller_header(\"packet_out\")"
+  }
+  metadata {
+    id: 1
+    name: "pad0"
+    annotations: "@padding"
+    bitwidth: 7
+  }
+  metadata {
+    id: 2
+    name: "egress_port"
+    bitwidth: 9
+    type_name {
+      name: "FabricPortId_t"
+    }
+  }
+  metadata {
+    id: 3
+    name: "pad1"
+    annotations: "@padding"
+    bitwidth: 3
+  }
+  metadata {
+    id: 4
+    name: "queue_id"
+    bitwidth: 5
+  }
+  metadata {
+    id: 5
+    name: "pad2"
+    annotations: "@padding"
+    bitwidth: 5
+  }
+  metadata {
+    id: 6
+    name: "cpu_loopback_mode"
+    bitwidth: 2
+  }
+  metadata {
+    id: 7
+    name: "do_forwarding"
+    bitwidth: 1
+  }
+  metadata {
+    id: 8
+    name: "pad3"
+    annotations: "@padding"
+    bitwidth: 16
+  }
+  metadata {
+    id: 9
+    name: "pad4"
+    annotations: "@padding"
+    bitwidth: 48
+  }
+  metadata {
+    id: 10
+    name: "ether_type"
+    bitwidth: 16
+  }
+}
+registers {
+  preamble {
+    id: 376533241
+    name: "FabricEgress.int_egress.seq_number"
+    alias: "seq_number"
+    annotations: "@hidden"
+  }
+  type_spec {
+    bitstring {
+      bit {
+        bitwidth: 32
+      }
+    }
+  }
+  size: 1024
+}
+type_info {
+  serializable_enums {
+    key: "BridgedMdType_t"
+    value {
+      underlying_type {
+        bitwidth: 8
+      }
+      members {
+        name: "INVALID"
+        value: "\000"
+      }
+      members {
+        name: "INGRESS_TO_EGRESS"
+        value: "\001"
+      }
+      members {
+        name: "EGRESS_MIRROR"
+        value: "\002"
+      }
+      members {
+        name: "INGRESS_MIRROR"
+        value: "\003"
+      }
+      members {
+        name: "INT_INGRESS_DROP"
+        value: "\004"
+      }
+      members {
+        name: "DEFLECTED"
+        value: "\005"
+      }
+    }
+  }
+  serializable_enums {
+    key: "CpuLoopbackMode_t"
+    value {
+      underlying_type {
+        bitwidth: 2
+      }
+      members {
+        name: "DISABLED"
+        value: "\000"
+      }
+      members {
+        name: "DIRECT"
+        value: "\001"
+      }
+      members {
+        name: "INGRESS"
+        value: "\002"
+      }
+    }
+  }
+  serializable_enums {
+    key: "FabricMirrorType_t"
+    value {
+      underlying_type {
+        bitwidth: 3
+      }
+      members {
+        name: "INVALID"
+        value: "\000"
+      }
+      members {
+        name: "INT_REPORT"
+        value: "\001"
+      }
+      members {
+        name: "PACKET_IN"
+        value: "\002"
+      }
+    }
+  }
+  serializable_enums {
+    key: "PortType_t"
+    value {
+      underlying_type {
+        bitwidth: 2
+      }
+      members {
+        name: "UNKNOWN"
+        value: "\000"
+      }
+      members {
+        name: "EDGE"
+        value: "\001"
+      }
+      members {
+        name: "INFRA"
+        value: "\002"
+      }
+      members {
+        name: "INTERNAL"
+        value: "\003"
+      }
+    }
+  }
+  new_types {
+    key: "FabricPortId_t"
+    value {
+      original_type {
+        bitstring {
+          bit {
+            bitwidth: 9
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/src/tests/p4-int-routing-acl/run_test_01_bootstrap.sh b/src/tests/p4-int-routing-acl/run_test_01_bootstrap.sh
new file mode 100755
index 0000000000000000000000000000000000000000..76469ca55455aec65569a7c104f87e8d6673dec9
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/run_test_01_bootstrap.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+# make sure to source the following scripts:
+# - my_deploy.sh
+# - tfs_runtime_env_vars.sh
+
+source tfs_runtime_env_vars.sh
+python3 -m pytest --verbose src/tests/p4-int-routing-acl/test_functional_bootstrap.py
diff --git a/src/tests/p4-int-routing-acl/run_test_02_rules_provision.sh b/src/tests/p4-int-routing-acl/run_test_02_rules_provision.sh
new file mode 100755
index 0000000000000000000000000000000000000000..6709d66c62cae11ecc1e555bae81c680dfeaafc8
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/run_test_02_rules_provision.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+source tfs_runtime_env_vars.sh
+python3 -m pytest --verbose src/tests/p4-int-routing-acl/test_functional_rules_provision.py
diff --git a/src/tests/p4-int-routing-acl/run_test_03_rules_deprovision.sh b/src/tests/p4-int-routing-acl/run_test_03_rules_deprovision.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3a67fad8a04520bc48c666b48d684b5ad7fe3d13
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/run_test_03_rules_deprovision.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+source tfs_runtime_env_vars.sh
+python3 -m pytest --verbose src/tests/p4-int-routing-acl/test_functional_rules_deprovision.py
diff --git a/src/tests/p4-int-routing-acl/run_test_04_cleanup.sh b/src/tests/p4-int-routing-acl/run_test_04_cleanup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..917a2af2dab0ab1b9d0d05ad272c6494486d9580
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/run_test_04_cleanup.sh
@@ -0,0 +1,17 @@
+#!/bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+source tfs_runtime_env_vars.sh
+python3 -m pytest --verbose src/tests/p4-int-routing-acl/test_functional_cleanup.py
diff --git a/src/tests/p4-int-routing-acl/setup.sh b/src/tests/p4-int-routing-acl/setup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..c771642769fe528fe1179909ab0b8edb768f7264
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/setup.sh
@@ -0,0 +1,22 @@
+#! /bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+
+export POD_NAME=$(kubectl get pods -n=tfs | grep device | awk '{print $1}')
+
+kubectl exec ${POD_NAME} -n=tfs -c=server -- mkdir -p /root/p4
+
+kubectl cp src/tests/p4-int-routing-acl/p4src/p4info.txt tfs/${POD_NAME}:/root/p4 -c=server
+kubectl cp src/tests/p4-int-routing-acl/p4src/bmv2.json tfs/${POD_NAME}:/root/p4 -c=server
diff --git a/src/tests/p4-int-routing-acl/test_common.py b/src/tests/p4-int-routing-acl/test_common.py
new file mode 100644
index 0000000000000000000000000000000000000000..8254eddc5bb5f2f2bbf4c0866a9409552872b2c8
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/test_common.py
@@ -0,0 +1,111 @@
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+import os
+from common.Constants import DEFAULT_CONTEXT_NAME
+from common.proto.context_pb2 import ContextId, DeviceOperationalStatusEnum
+from common.tools.object_factory.Context import json_context_id
+
+# Context info
+CONTEXT_NAME_P4 = DEFAULT_CONTEXT_NAME
+ADMIN_CONTEXT_ID = ContextId(**json_context_id(CONTEXT_NAME_P4))
+
+# Device and rule cardinality variables
+DEV_NB = 3
+CONNECTION_RULES = 3
+ENDPOINT_RULES = 2
+DATAPLANE_RULES_NB_INT_B1 = 5
+DATAPLANE_RULES_NB_INT_B2 = 6
+DATAPLANE_RULES_NB_INT_B3 = 8
+DATAPLANE_RULES_NB_RT_EDGE = 7
+DATAPLANE_RULES_NB_RT_CORP = 7
+DATAPLANE_RULES_NB_ACL = 1
+DATAPLANE_RULES_NB_TOT = \
+    DATAPLANE_RULES_NB_INT_B1 +\
+    DATAPLANE_RULES_NB_INT_B2 +\
+    DATAPLANE_RULES_NB_INT_B3 +\
+    DATAPLANE_RULES_NB_RT_EDGE +\
+    DATAPLANE_RULES_NB_RT_CORP +\
+    DATAPLANE_RULES_NB_ACL
+
+# Topology descriptor
+DESC_TOPO = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'topology.json'
+)
+
+# Rule insertion descriptors
+# The switch cannot digest all rules at once, hence we insert in batches
+DESC_FILE_RULES_INSERT_INT_B1 = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-insert-int-b1.json'
+)
+DESC_FILE_RULES_INSERT_INT_B2 = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-insert-int-b2.json'
+)
+DESC_FILE_RULES_INSERT_INT_B3 = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-insert-int-b3.json'
+)
+DESC_FILE_RULES_INSERT_ROUTING_EDGE = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-insert-routing-edge.json'
+)
+DESC_FILE_RULES_INSERT_ROUTING_CORP = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-insert-routing-corp.json'
+)
+DESC_FILE_RULES_INSERT_ACL = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-insert-acl.json'
+)
+
+# Rule deletion descriptor
+DESC_FILE_RULES_DELETE_ALL = os.path.join(
+    os.path.dirname(
+        os.path.abspath(__file__)
+    ),
+    'descriptors', 'rules-remove.json'
+)
+
+def verify_number_of_rules(devices, desired_rules_nb):
+    # Iterate all devices
+    for device in devices:
+        # Skip non-P4 devices
+        if device.device_type != "p4-switch": continue
+
+        # We want the device to be active
+        assert \
+            device.device_operational_status == DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_ENABLED
+
+        # Get the configuration rules of this device
+        config_rules = device.device_config.config_rules
+
+        # Expected rule cardinality
+        assert len(config_rules) == desired_rules_nb
diff --git a/src/tests/p4-int-routing-acl/test_functional_bootstrap.py b/src/tests/p4-int-routing-acl/test_functional_bootstrap.py
new file mode 100644
index 0000000000000000000000000000000000000000..b5b72cc331ea1c7bf6e57aefc484532d66cb8504
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/test_functional_bootstrap.py
@@ -0,0 +1,70 @@
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+import logging, time
+from common.proto.context_pb2 import DeviceOperationalStatusEnum, Empty
+from common.tools.descriptor.Loader import DescriptorLoader, \
+    check_descriptor_load_results, validate_empty_scenario
+from context.client.ContextClient import ContextClient
+from device.client.DeviceClient import DeviceClient
+from tests.Fixtures import context_client, device_client # pylint: disable=unused-import
+from test_common import *
+
+LOGGER = logging.getLogger(__name__)
+LOGGER.setLevel(logging.DEBUG)
+
+def test_scenario_bootstrap(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    """
+    This test assumes that the environment is in a clean state (empty)
+    before bootstrapping the P4 topology.
+    It loads the topology descriptor and verifies that no other services
+    or slices are created.
+    """
+    validate_empty_scenario(context_client)
+
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_TOPO, context_client=context_client, device_client=device_client)
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+    descriptor_loader.validate()
+
+    # Verify the scenario has no services/slices
+    response = context_client.GetContext(ADMIN_CONTEXT_ID)
+    assert len(response.service_ids) == 0
+    assert len(response.slice_ids) == 0
+
+def test_scenario_devices_enabled(
+    context_client : ContextClient  # pylint: disable=redefined-outer-name
+) -> None:
+    """
+    This test validates that the devices are enabled.
+    """
+    DEVICE_OP_STATUS_ENABLED = DeviceOperationalStatusEnum.DEVICEOPERATIONALSTATUS_ENABLED
+
+    num_devices = -1
+    num_devices_enabled, num_retry = 0, 0
+    while (num_devices != num_devices_enabled) and (num_retry < 10):
+        time.sleep(1.0)
+        response = context_client.ListDevices(Empty())
+        num_devices = len(response.devices)
+        num_devices_enabled = 0
+        for device in response.devices:
+            if device.device_operational_status != DEVICE_OP_STATUS_ENABLED: continue
+            num_devices_enabled += 1
+        LOGGER.info('Num Devices enabled: {:d}/{:d}'.format(num_devices_enabled, num_devices))
+        num_retry += 1
+    assert num_devices_enabled == num_devices
diff --git a/src/tests/p4-int-routing-acl/test_functional_cleanup.py b/src/tests/p4-int-routing-acl/test_functional_cleanup.py
new file mode 100644
index 0000000000000000000000000000000000000000..60c8684b098aa886fdd62db28a07a2d5c8adc125
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/test_functional_cleanup.py
@@ -0,0 +1,41 @@
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+import logging, os
+from common.Constants import DEFAULT_CONTEXT_NAME
+from common.proto.context_pb2 import ContextId
+from common.tools.descriptor.Loader import DescriptorLoader, validate_empty_scenario
+from context.client.ContextClient import ContextClient
+from device.client.DeviceClient import DeviceClient
+from tests.Fixtures import context_client, device_client # pylint: disable=unused-import
+from test_common import *
+
+LOGGER = logging.getLogger(__name__)
+LOGGER.setLevel(logging.DEBUG)
+
+def test_scenario_cleanup(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Verify the scenario has no services/slices
+    response = context_client.GetContext(ADMIN_CONTEXT_ID)
+    assert len(response.service_ids) == 0
+    assert len(response.slice_ids) == 0
+
+    # Unload topology and validate empty scenario
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_TOPO, context_client=context_client, device_client=device_client)
+    descriptor_loader.validate()
+    descriptor_loader.unload()
+    validate_empty_scenario(context_client)
diff --git a/src/tests/p4-int-routing-acl/test_functional_rules_deprovision.py b/src/tests/p4-int-routing-acl/test_functional_rules_deprovision.py
new file mode 100644
index 0000000000000000000000000000000000000000..2d54ae9088600381a000722608bd39eb49483a03
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/test_functional_rules_deprovision.py
@@ -0,0 +1,93 @@
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+import logging
+from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results
+from common.tools.grpc.Tools import grpc_message_to_json_string
+from context.client.ContextClient import ContextClient
+from device.client.DeviceClient import DeviceClient
+from tests.Fixtures import context_client, device_client   # pylint: disable=unused-import
+from test_common import *
+
+LOGGER = logging.getLogger(__name__)
+LOGGER.setLevel(logging.DEBUG)
+
+def test_initial_context(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # Verify the scenario has 0 service and 0 slices
+    response = context_client.GetContext(ADMIN_CONTEXT_ID)
+    assert len(response.service_ids) == 0
+    assert len(response.slice_ids) == 0
+
+    # Check there are no slices
+    response = context_client.ListSlices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response)))
+    assert len(response.slices) == 0
+
+    # Check there is 0 service
+    response = context_client.ListServices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response)))
+    assert len(response.services) == 0
+
+    # Check there are 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+def test_rules_before_removal(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1 + \
+        DATAPLANE_RULES_NB_INT_B2 + \
+        DATAPLANE_RULES_NB_INT_B3 + \
+        DATAPLANE_RULES_NB_RT_EDGE + \
+        DATAPLANE_RULES_NB_RT_CORP + \
+        DATAPLANE_RULES_NB_ACL
+    assert desired_rules_nb == CONNECTION_RULES + ENDPOINT_RULES + DATAPLANE_RULES_NB_TOT
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_removal(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load dataplane rules for removal
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_DELETE_ALL, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_removal(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** removing all dataplane rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Only connection and endpoint rules must be in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES
+    verify_number_of_rules(response.devices, desired_rules_nb)
diff --git a/src/tests/p4-int-routing-acl/test_functional_rules_provision.py b/src/tests/p4-int-routing-acl/test_functional_rules_provision.py
new file mode 100644
index 0000000000000000000000000000000000000000..86a82d2129e495f3c3be9f9ea7b67b24d27a8db7
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/test_functional_rules_provision.py
@@ -0,0 +1,238 @@
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+import logging
+from common.tools.descriptor.Loader import DescriptorLoader, check_descriptor_load_results
+from common.tools.grpc.Tools import grpc_message_to_json_string
+from context.client.ContextClient import ContextClient
+from device.client.DeviceClient import DeviceClient
+from tests.Fixtures import context_client, device_client # pylint: disable=unused-import
+from test_common import *
+
+LOGGER = logging.getLogger(__name__)
+LOGGER.setLevel(logging.DEBUG)
+
+def test_initial_context(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # Verify the scenario has 0 service and 0 slices
+    response = context_client.GetContext(ADMIN_CONTEXT_ID)
+    assert len(response.service_ids) == 0
+    assert len(response.slice_ids) == 0
+
+    # Check there are no slices
+    response = context_client.ListSlices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Slices[{:d}] = {:s}'.format(len(response.slices), grpc_message_to_json_string(response)))
+    assert len(response.slices) == 0
+
+    # Check there is 0 service
+    response = context_client.ListServices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Services[{:d}] = {:s}'.format(len(response.services), grpc_message_to_json_string(response)))
+    assert len(response.services) == 0
+
+    # Check there are 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+def test_rules_before_insertion(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_insertion_int_batch_1(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load INT batch 1 rules for insertion
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_INSERT_INT_B1, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_insertion_int_batch_1(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** inserting batch 1 of INT rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_insertion_int_batch_2(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load INT batch 2 rules for insertion
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_INSERT_INT_B2, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_insertion_int_batch_2(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** inserting batch 2 of INT rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1 + \
+        DATAPLANE_RULES_NB_INT_B2
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_insertion_int_batch_3(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load INT batch 3 rules for insertion
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_INSERT_INT_B3, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_insertion_int_batch_3(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** inserting batch 3 of INT rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1 + \
+        DATAPLANE_RULES_NB_INT_B2 + \
+        DATAPLANE_RULES_NB_INT_B3
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_insertion_routing_edge_batch_4(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load routing edge batch 4 rules for insertion
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_INSERT_ROUTING_EDGE, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_insertion_routing_edge_batch_4(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** inserting batch 4 of routing edge rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1 + \
+        DATAPLANE_RULES_NB_INT_B2 + \
+        DATAPLANE_RULES_NB_INT_B3 + \
+        DATAPLANE_RULES_NB_RT_EDGE
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_insertion_routing_corp_batch_5(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load routing corp batch 5 rules for insertion
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_INSERT_ROUTING_CORP, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_insertion_routing_corp_batch_5(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** inserting batch 5 of routing corp rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1 + \
+        DATAPLANE_RULES_NB_INT_B2 + \
+        DATAPLANE_RULES_NB_INT_B3 + \
+        DATAPLANE_RULES_NB_RT_EDGE + \
+        DATAPLANE_RULES_NB_RT_CORP
+    verify_number_of_rules(response.devices, desired_rules_nb)
+
+def test_rules_insertion_acl_batch_6(
+    context_client : ContextClient, # pylint: disable=redefined-outer-name
+    device_client : DeviceClient    # pylint: disable=redefined-outer-name
+) -> None:
+    # Load ACL batch 6 rules for insertion
+    descriptor_loader = DescriptorLoader(
+        descriptors_file=DESC_FILE_RULES_INSERT_ACL, context_client=context_client, device_client=device_client
+    )
+    results = descriptor_loader.process()
+    check_descriptor_load_results(results, descriptor_loader)
+
+def test_rules_after_insertion_acl_batch_6(
+    context_client : ContextClient # pylint: disable=redefined-outer-name
+) -> None:
+    # State **after** inserting batch 6 of ACL rules
+    # Still 3 devices
+    response = context_client.ListDevices(ADMIN_CONTEXT_ID)
+    LOGGER.warning('Devices[{:d}] = {:s}'.format(len(response.devices), grpc_message_to_json_string(response)))
+    assert len(response.devices) == DEV_NB
+
+    # Verify that the following rules are in place
+    desired_rules_nb = \
+        CONNECTION_RULES + \
+        ENDPOINT_RULES + \
+        DATAPLANE_RULES_NB_INT_B1 + \
+        DATAPLANE_RULES_NB_INT_B2 + \
+        DATAPLANE_RULES_NB_INT_B3 + \
+        DATAPLANE_RULES_NB_RT_EDGE + \
+        DATAPLANE_RULES_NB_RT_CORP + \
+        DATAPLANE_RULES_NB_ACL
+    assert desired_rules_nb == CONNECTION_RULES + ENDPOINT_RULES + DATAPLANE_RULES_NB_TOT
+    verify_number_of_rules(response.devices, desired_rules_nb)
diff --git a/src/tests/p4-int-routing-acl/topology/README.md b/src/tests/p4-int-routing-acl/topology/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..30d4d84bcf2771bb9732e9686a680de0a643fa79
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/topology/README.md
@@ -0,0 +1,166 @@
+# P4 Topology
+
+This directory contains scripts for deploying a single software-based Stratum switch on a VM or bare metal machine.
+
+## Prerequisites
+
+The machine on which Stratum will be deployed must have at least 3 network interfaces as follows:
+
+- a management interface for the switch to communicate with the control plane (i.e., TFS controller and INT collector)
+- a west data plane interface towards a certain subnet (we call it edge subnet in this example)
+- an est data plane interface towards another subnet (we call it corporate subnet in this example)
+
+Also, due to Stratum's restrictions, the desired OS of the machine shall be `Ubuntu server 20.04 LTS`.
+
+To build Stratum on this machine, follow the steps [here](https://github.com/stratum/stratum/blob/main/stratum/hal/bin/bmv2/README.md).
+It is preferred to run Stratum as a binary.
+
+## Steps to setup the environment and deploy the Stratum switch
+
+We create a Linux namespace for Stratum to live in an isolated space from the rest of the system.
+The two data plane interfaces of the VM need to be enclosed into this namespace, while for this namespace to interact with the outside world (i.e., root namespace and outside the VM), a dedicated virtual interface pair is created.
+
+Follow the steps below to create the environment, deploy Stratum, and restore the VM to its previous state (cleanup).
+Prior to this take a look at the environment configuration file, where one can change the names of the interfaces, according to your network setup.
+
+```shell
+nano p4-switch-conf-common.sh
+
+HOST_IFACE_EXT="ens3"     # Interface towards TFS (management)
+SW_IFACE_DATA_EDGE="ens4" # Interface towards the edge subnet (data plane)
+SW_IFACE_DATA_CORP="ens5" # Interface towards the corporate subnet (data plane)
+
+...
+```
+
+### Step 1: Setup environment
+
+Edit the `setup` script to modify the subnets' information according to your network setup:
+
+```shell
+nano p4-switch-setup.sh
+
+# Subnets managed by the switch
+DOMAIN_EDGE_IP="10.158.72.0/24"  # Left-hand side subnet
+DOMAIN_CORP_IP="172.16.10.0/24"  # Right-hand side subnet
+```
+
+Once your network setup is applied, run the `setup` script as follows:
+
+```shell
+sudo bash p4-switch-setup.sh
+```
+
+To verify that the switch namespace is in place, issue the following command:
+
+```shell
+sudo ip netns exec ns-switch ip a
+```
+
+The output should show 4 network interfaces, i.e., a `loopback` interface, 2 data planes interfaces (e.g., `ens4`, `ens5` in this example), and a virtual interface for sending telemetry data out of the switch (i.e., `veth-int-sw` in this example).
+From this latter interface you can ping towards the other end of the virtual interface pair (i.e., `veth-int-host`):
+
+```shell
+sudo ip netns exec ns-switch ping 10.0.0.254
+```
+
+This ensures that telemetry data leaves the switch and ends up on the host VM.
+To dispatch this telemetry data towards TFS, the `p4-switch-setup.sh` implements packet mirroring from `veth-int-host` to the VM's management interface (i.e., `ens3` in this example).
+We assume that TFS is deployed on a machine that is accessible via the management interface (i.e., `ens3`) of this VM.
+
+### Step 2: Deploy Stratum in the namespace
+
+Now the namespace is ready to host the Stratum switch.
+
+First you need to configure the chassis configuration file with the correct network interfaces names.
+To do so, modify the `name` field changing `ens4`, `ens5`, and `ens3` to your desired interfaces.
+These interface names must agree with the ones you added in `p4-switch-conf-common.sh`.
+
+```shell
+cat p4-switch-three-port-chassis-config-phy.pb.txt
+
+# Copyright 2018-present Open Networking Foundation
+# SPDX-License-Identifier: Apache-2.0
+
+description: "Chassis configuration for a single Stratum bmv2 switch with 3 ports"
+chassis {
+  platform: PLT_P4_SOFT_SWITCH
+  name: "bmv2-switch"
+}
+nodes {
+  id: 1
+  slot: 1
+  index: 1
+}
+singleton_ports {
+  id: 1
+  name: "ens4"
+  slot: 1
+  port: 1
+  channel: 1
+  speed_bps: 100000000000
+  config_params {
+    admin_state: ADMIN_STATE_ENABLED
+  }
+  node: 1
+}
+singleton_ports {
+  id: 2
+  name: "ens5"
+  slot: 1
+  port: 2
+  channel: 1
+  speed_bps: 100000000000
+  config_params {
+    admin_state: ADMIN_STATE_ENABLED
+  }
+  node: 1
+}
+singleton_ports {
+  id: 3
+  name: "veth-int-sw"
+  slot: 1
+  port: 3
+  channel: 1
+  speed_bps: 100000000000
+  config_params {
+    admin_state: ADMIN_STATE_ENABLED
+  }
+  node: 1
+}
+```
+
+To deploy Stratum, do:
+
+```shell
+sudo bash run-stratum.sh
+```
+
+To run Stratum will verbose logging, open the `run-stratum.sh` and change:
+
+```shell
+LOG_LEVEL="debug"
+```
+
+Then, re-deploy Stratum as shown above.
+
+To verify that Stratum has been correctly deployed, you should see the following output:
+
+```
+<timestamp> config_monitoring_service.cc:94] Pushing the saved chassis config read from p4-switch-three-port-chassis-config-phy.pb.txt...
+<timestamp> bmv2_chassis_manager.cc:519] Registered port status callbacks successfully for node 1.
+<timestamp> bmv2_chassis_manager.cc:453] State of port 1 in node 1: UP.
+<timestamp> bmv2_chassis_manager.cc:453] State of port 2 in node 1: UP.
+<timestamp> bmv2_chassis_manager.cc:453] State of port 3 in node 1: UP.
+<timestamp> bmv2_switch.cc:74] P4-based forwarding pipeline config pushed successfully to node with ID 1.
+<timestamp> hal.cc:220] Stratum external facing services are listening to 0.0.0.0:50000, 0.0.0.0:50001, 0.0.0.0:50101...
+```
+
+### Step 3: Restore to the original setup
+
+When your tests with Stratum and TFS are over, you may want to restore your setup.
+To do so, execute the following script:
+
+```shell
+sudo bash p4-switch-tear-down.sh
+```
diff --git a/src/tests/p4-int-routing-acl/topology/p4-switch-conf-common.sh b/src/tests/p4-int-routing-acl/topology/p4-switch-conf-common.sh
new file mode 100644
index 0000000000000000000000000000000000000000..3ba84651e7e9550ef4b47d28f9ce3efa1f8fd2c8
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/topology/p4-switch-conf-common.sh
@@ -0,0 +1,40 @@
+#!/bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+# Switch lives in a namespace
+SWITCH_NS="ns-switch"
+
+# Physical interfaces
+HOST_IFACE_EXT="ens3"     # Interface towards TFS (management)
+SW_IFACE_DATA_EDGE="ens4" # Interface towards the edge subnet (data plane)
+SW_IFACE_DATA_CORP="ens5" # Interface towards the corporate subnet (data plane)
+
+# Virtual interfaces for INT
+SW_IFACE_INT="veth-int-sw"
+HOST_IFACE_INT="veth-int-host"
+
+# IP subnet for INT
+TOPO_INT_NET="10.0.0.0/24"
+TOPO_INT_NET_IP="10.0.0.0"
+TOPO_INT_NET_MASK="255.255.255.0"
+
+# Transport port where the P4Runtime gRPC server is deployed on the switch
+SW_P4RT_GRPC_PORT="50001"
+
+# Transport port where the P4Runtime gNMI server is deployed on the switch
+SW_P4RT_GNMI_PORT="50000"
+
+# Transport port where Stratum listens to local calls
+SW_P4RT_LOCAL_PORT="50101"
diff --git a/src/tests/p4-int-routing-acl/topology/p4-switch-setup.sh b/src/tests/p4-int-routing-acl/topology/p4-switch-setup.sh
new file mode 100644
index 0000000000000000000000000000000000000000..1a5f37b2fbe2b1acd6c3ef69682d645591093f69
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/topology/p4-switch-setup.sh
@@ -0,0 +1,134 @@
+#!bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+# You must run this script as root
+if [ "$EUID" -ne 0 ]; then
+    echo "Please run as root"
+    exit 1
+fi
+
+source "p4-switch-conf-common.sh"
+
+# MAC addresses of the virtual INT interfaces
+SW_INT_MAC="00:11:22:33:44:11"
+HOST_INT_MAC="00:11:22:33:44:22"
+
+# IP addresses of the virtual INT interfaces
+SWITCH_INT_IP="10.0.0.1"
+HOST_INT_IP="10.0.0.254"
+
+SWITCH_INT_IP_NET=${SWITCH_INT_IP}"/24"
+HOST_INT_IP_NET=${HOST_INT_IP}"/24"
+
+# Subnets managed by the switch
+DOMAIN_EDGE_IP="10.158.72.22/24" # Edge domain side IP address
+DOMAIN_CORP_IP="172.16.10.4/24"  # Corporate domain side IP address
+
+# INT subnet MTU
+MTU_LEN=9000
+
+kill_stratum() {
+    pkill stratum
+}
+
+create_namespaces() {
+    ip netns add ${SWITCH_NS}
+}
+
+create_virtual_interfaces() {
+    ip link add ${HOST_IFACE_INT} type veth peer name ${SW_IFACE_INT}
+}
+
+assign_virtual_interfaces() {
+    ip link set ${SW_IFACE_DATA_EDGE} netns ${SWITCH_NS}
+    ip link set ${SW_IFACE_DATA_CORP} netns ${SWITCH_NS}
+    ip link set ${SW_IFACE_INT} netns ${SWITCH_NS}
+}
+
+set_mac_addresses() {
+    ip netns exec ${SWITCH_NS} ifconfig ${SW_IFACE_INT} hw ether ${SW_INT_MAC}
+    ifconfig ${HOST_IFACE_INT} hw ether ${HOST_INT_MAC}
+}
+
+set_mtu() {
+    ip netns exec ${SWITCH_NS} ip link set dev ${SW_IFACE_INT} mtu ${MTU_LEN}
+    ip link set dev ${HOST_IFACE_INT} mtu ${MTU_LEN}
+}
+
+set_ip_addresses() {
+    ip -n ${SWITCH_NS} addr add ${DOMAIN_EDGE_IP} dev ${SW_IFACE_DATA_EDGE}
+    ip -n ${SWITCH_NS} addr add ${DOMAIN_CORP_IP} dev ${SW_IFACE_DATA_CORP}
+    ip -n ${SWITCH_NS} addr add ${SWITCH_INT_IP_NET} dev ${SW_IFACE_INT}
+    ifconfig ${HOST_IFACE_INT} ${HOST_INT_IP_NET}
+}
+
+bring_interfaces_up() {
+    ip -n ${SWITCH_NS} link set ${SW_IFACE_DATA_EDGE} up
+    ip -n ${SWITCH_NS} link set ${SW_IFACE_DATA_CORP} up
+    ip -n ${SWITCH_NS} link set ${SW_IFACE_INT} up
+    ifconfig ${HOST_IFACE_INT} up
+}
+
+disable_csum_offloading() {
+    ip netns exec ${SWITCH_NS} ethtool -K ${SW_IFACE_DATA_EDGE} rx off tx off
+    ip netns exec ${SWITCH_NS} ethtool -K ${SW_IFACE_DATA_CORP} rx off tx off
+}
+
+switch_default_gw() {
+    ip netns exec ${SWITCH_NS} ip route add default via ${HOST_INT_IP}
+}
+
+enable_ip_fwd() {
+    sysctl net.ipv4.ip_forward=1
+    sysctl net.ipv4.conf.${HOST_IFACE_EXT}.forwarding=1
+    sysctl net.ipv4.conf.${HOST_IFACE_INT}.forwarding=1
+}
+
+switch_access_to_internet() {
+    iptables -P FORWARD DROP
+    iptables -t nat -A POSTROUTING -s ${TOPO_INT_NET_IP}/${TOPO_INT_NET_MASK} -o ${HOST_IFACE_EXT} -j MASQUERADE
+    iptables -A FORWARD -i ${HOST_IFACE_EXT} -o ${HOST_IFACE_INT} -j ACCEPT
+    iptables -A FORWARD -o ${HOST_IFACE_EXT} -i ${HOST_IFACE_INT} -j ACCEPT
+}
+
+grpc_port_forwarding() {
+    iptables -t nat -A PREROUTING -p tcp -i ${HOST_IFACE_EXT} --dport ${SW_P4RT_GRPC_PORT} -j DNAT --to-destination ${SWITCH_INT_IP}:${SW_P4RT_GRPC_PORT}
+    iptables -A FORWARD -p tcp -d ${SWITCH_INT_IP} --dport ${SW_P4RT_GRPC_PORT} -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
+}
+
+int_packet_mirroring() {
+    sudo tc qdisc add dev ${HOST_IFACE_INT} ingress
+    sudo tc filter add dev ${HOST_IFACE_INT} parent ffff: \
+        protocol all prio 2 u32 \
+        match u32 0 0 flowid 1:1 \
+        action mirred egress mirror dev ${HOST_IFACE_EXT}
+}
+
+kill_stratum
+create_namespaces
+create_virtual_interfaces
+assign_virtual_interfaces
+set_mac_addresses
+set_mtu
+set_ip_addresses
+bring_interfaces_up
+disable_csum_offloading
+switch_default_gw
+enable_ip_fwd
+switch_access_to_internet
+grpc_port_forwarding
+int_packet_mirroring
+
+exit 0
diff --git a/src/tests/p4-int-routing-acl/topology/p4-switch-tear-down.sh b/src/tests/p4-int-routing-acl/topology/p4-switch-tear-down.sh
new file mode 100644
index 0000000000000000000000000000000000000000..9d79343a37e8b65167992e53f7c3e54944adfb1a
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/topology/p4-switch-tear-down.sh
@@ -0,0 +1,84 @@
+#!bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+# You must run this script as root
+if [ "$EUID" -ne 0 ]; then
+    echo "Please run as root"
+    exit 1
+fi
+
+source "p4-switch-conf-common.sh"
+
+kill_stratum() {
+    pkill stratum
+}
+
+delete_virtual_interfaces() {
+    ip netns exec ${SWITCH_NS} ip link delete ${SW_IFACE_INT}
+}
+
+delete_namespaces() {
+    ip netns del ${SWITCH_NS}
+}
+
+bring_interfaces_up() {
+    ifconfig ${SW_IFACE_DATA_EDGE} up
+    ifconfig ${SW_IFACE_DATA_CORP} up
+}
+
+cleanup_iptables() {
+    # gRPC entries
+    entry_no=$(iptables --line-numbers -nvL | grep ${HOST_IFACE_INT} | cut -d " " -f 1 | head -1)
+    iptables -D FORWARD ${entry_no}
+    entry_no=$(iptables --line-numbers -nvL | grep ${HOST_IFACE_INT} | cut -d " " -f 1)
+    iptables -D FORWARD ${entry_no}
+    entry_no=$(iptables --line-numbers -nvL | grep ${SW_P4RT_GRPC_PORT} | cut -d " " -f 1)
+    iptables -D FORWARD ${entry_no}
+
+    entry_no=$(iptables -t nat --line-numbers -nvL | grep ${SW_P4RT_GRPC_PORT} | cut -d " " -f 1)
+    iptables -t nat -D PREROUTING ${entry_no}
+
+    entry_no=$(iptables -t nat --line-numbers -nvL | grep ${TOPO_INT_NET} | cut -d " " -f 1)
+    iptables -t nat -D POSTROUTING ${entry_no}
+
+    # Check new state
+    echo "Forwarding tables"
+    iptables --line-numbers -nvL
+    echo -e ""
+    echo "NAT tables"
+    iptables -t nat --line-numbers -nvL
+}
+
+cleanup_tc() {
+    sudo tc filter del dev ${HOST_IFACE_INT} parent ffff: \
+        protocol all prio 2 u32 \
+        match u32 0 0 flowid 1:1 \
+        action mirred egress mirror dev ${HOST_IFACE_EXT}
+    sudo tc qdisc del dev ${HOST_IFACE_INT} ingress
+
+    # Check new state
+    echo -e ""
+    echo -e "Linux tc status"
+    tc qdisc show
+}
+
+kill_stratum
+delete_virtual_interfaces
+delete_namespaces
+# bring_interfaces_up
+cleanup_iptables
+cleanup_tc
+
+exit 0
diff --git a/src/tests/p4-int-routing-acl/topology/p4-switch-three-port-chassis-config-phy.pb.txt b/src/tests/p4-int-routing-acl/topology/p4-switch-three-port-chassis-config-phy.pb.txt
new file mode 100644
index 0000000000000000000000000000000000000000..038d3626960e252a318edd5419ed887e2682a4b5
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/topology/p4-switch-three-port-chassis-config-phy.pb.txt
@@ -0,0 +1,63 @@
+# Copyright 2018-present Open Networking Foundation
+# SPDX-License-Identifier: Apache-2.0
+
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+description: "Chassis configuration for a single Stratum bmv2 switch with 3 ports"
+chassis {
+  platform: PLT_P4_SOFT_SWITCH
+  name: "bmv2-switch"
+}
+nodes {
+  id: 1
+  slot: 1
+  index: 1
+}
+singleton_ports {
+  id: 1
+  name: "ens4"
+  slot: 1
+  port: 1
+  channel: 1
+  speed_bps: 100000000000
+  config_params {
+    admin_state: ADMIN_STATE_ENABLED
+  }
+  node: 1
+}
+singleton_ports {
+  id: 2
+  name: "ens5"
+  slot: 1
+  port: 2
+  channel: 1
+  speed_bps: 100000000000
+  config_params {
+    admin_state: ADMIN_STATE_ENABLED
+  }
+  node: 1
+}
+singleton_ports {
+  id: 3
+  name: "veth-int-sw"
+  slot: 1
+  port: 3
+  channel: 1
+  speed_bps: 100000000000
+  config_params {
+    admin_state: ADMIN_STATE_ENABLED
+  }
+  node: 1
+}
diff --git a/src/tests/p4-int-routing-acl/topology/run-stratum.sh b/src/tests/p4-int-routing-acl/topology/run-stratum.sh
new file mode 100644
index 0000000000000000000000000000000000000000..29e4647793c79084dbc740d73af454cda16ac9d1
--- /dev/null
+++ b/src/tests/p4-int-routing-acl/topology/run-stratum.sh
@@ -0,0 +1,46 @@
+#!/bin/bash
+# Copyright 2022-2024 ETSI SDG TeraFlowSDN (TFS) (https://tfs.etsi.org/)
+#
+# 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.
+
+# You must run this script as root
+if [ "$EUID" -ne 0 ]; then
+    echo "Please run as root"
+    exit 1
+fi
+
+source "p4-switch-conf-common.sh"
+
+LOG_FILE_DIR="/var/log/stratum/"
+
+sudo mkdir -p "${LOG_FILE_DIR}"
+
+LOG_LEVEL="info"
+READ_LOGS_FILE_PATH=${LOG_FILE_DIR}"p4_reads.pb.txt"
+WRITE_LOGS_FILE_PATH=${LOG_FILE_DIR}"p4_writes.pb.txt"
+CHASSIS_CONFIG="p4-switch-three-port-chassis-config-phy.pb.txt"
+
+[ -f ${CHASSIS_CONFIG} ] || { echo "$CHASSIS_CONFIG not found!" ; exit 1 ;}
+
+touch "${READ_LOGS_FILE_PATH}"
+touch "${WRITE_LOGS_FILE_PATH}"
+
+ip netns exec ns-switch stratum_bmv2 \
+        -chassis_config_file=${CHASSIS_CONFIG} \
+        -read_req_log_file=${READ_LOGS_FILE_PATH} \
+        -write_req_log_file=${WRITE_LOGS_FILE_PATH} \
+        -external_stratum_urls="0.0.0.0:"${SW_P4RT_GNMI_PORT}",0.0.0.0:"${SW_P4RT_GRPC_PORT} \
+        -local_stratum_url="0.0.0.0:"${SW_P4RT_LOCAL_PORT} \
+        -bmv2_log_level=${LOG_LEVEL}
+
+exit 0