ONOS-7059 Port counters in tor.p4 and bmv2/tofino compiler output

Tested on BMv2 and working.

Change-Id: Ia6e4b3c823b0bdfd1671419558e8a350b1d99990
diff --git a/tools/test/p4src/tor/Makefile b/tools/test/p4src/tor/Makefile
new file mode 100644
index 0000000..b5dc8d9
--- /dev/null
+++ b/tools/test/p4src/tor/Makefile
@@ -0,0 +1,32 @@
+BMV2_CPU_PORT=255
+MAVERICKS_CPU_PORT=320
+MONTARA_CPU_PORT=192
+
+MAVERICKS_OPTIONS=-DCPU_PORT=$(MAVERICKS_CPU_PORT)
+MONTARA_OPTIONS=-DCPU_PORT=$(MONTARA_CPU_PORT)
+BMV2_OPTIONS=-DDO_BMV2_BUILD -DCPU_PORT=$(BMV2_CPU_PORT)
+
+all: tor-bmv2 tor-tofino
+
+tor-bmv2: class_id.p4 headers.p4 ipv4_checksum.p4 l3_fwd.p4 \
+			packetio.p4 parser.p4 punt.p4 \
+			spoof_protection.p4 tor.p4 vrf.p4
+	p4c-bm2-ss $(BMV2_OPTIONS) -o p4c-out/tor.json \
+		--p4runtime-file p4c-out/tor.p4info \
+		--p4runtime-format text tor.p4
+
+tor-tofino: class_id.p4 headers.p4 ipv4_checksum.p4 l3_fwd.p4 \
+			packetio.p4 parser.p4 punt.p4 \
+			spoof_protection.p4 tor.p4 vrf.p4
+	p4c -x p4-16 -b tofino-v1model-barefoot \
+		$(MAVERICKS_OPTIONS) -o p4c-out/tofino/tor/mavericks \
+		--p4runtime-file p4c-out/tofino/tor/mavericks/tor.p4info \
+		--p4runtime-format text tor.p4
+	p4c -x p4-16 -b tofino-v1model-barefoot \
+		$(MONTARA_OPTIONS) -o p4c-out/tofino/tor/montara \
+		--p4runtime-file p4c-out/tofino/tor/montara/tor.p4info \
+		--p4runtime-format text tor.p4
+
+clean:
+	rm -rf p4c-out/*.json
+	rm -rf p4c-out/*.p4info
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/context.json b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/context.json
new file mode 100644
index 0000000..936b3c1
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/context.json
@@ -0,0 +1,7002 @@
+{
+  "build_date": "09/27/17 09:33:37",
+  "compiler_version": "6.0.0-pre-alpha.2",
+  "program_name": "tor",
+  "learn_quanta": [],
+  "parser": { "ingress": [], "egress": [] },
+  "phv_allocation": [],
+  "tables": [
+    {
+      "direction": "ingress",
+      "handle": 16777217,
+      "name": "tbl_act",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 2,
+                "action_name": "act_1",
+                "action_handle": 536870914,
+                "table_name": "cond-1",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_1",
+          "handle": 536870914,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870914,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777218,
+      "name": "tbl_act_4",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 1,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 3,
+                "action_name": "act_5",
+                "action_handle": 536870927,
+                "table_name": "tbl_packetio_egress_encap_packet_in_header",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_5",
+          "handle": 536870927,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870927,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777219,
+      "name": "tbl_packetio_egress_encap_packet_in_header",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 3,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 4,
+                "action_name": "packetio_egress.encap_packet_in_header",
+                "action_handle": 536870928,
+                "table_name": "tbl_act_6",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 66,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "packetio_egress.encap_packet_in_header",
+          "handle": 536870928,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870928,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777220,
+      "name": "tbl_act_6",
+      "table_type": "match",
+      "size": 512,
+      "stage_tables": [],
+      "statistics_table_refs": [
+        {
+          "name": "packetio_egress.ingress_port_counter",
+          "handle": 67108865,
+          "how_referenced": "indirect" } ],
+      "match_attributes": {
+        "match_type": "hash_action",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 4,
+            "memory_resource_allocation": null,
+            "size": 512,
+            "stage_table_type": "hash_action",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 0,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 5,
+                "action_name": "act_6",
+                "action_handle": 536870929,
+                "table_name": "tbl_act_5",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_6",
+          "handle": 536870929,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870929,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": true,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 67108865,
+      "name": "packetio_egress.ingress_port_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 0,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 4,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 4,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 79 } } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 0,
+      "how_referenced": "indirect",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 32,
+      "packet_counter_resolution": 0,
+      "statistics_type": "bytes" },
+    {
+      "direction": "egress",
+      "handle": 16777221,
+      "name": "tbl_act_5",
+      "table_type": "match",
+      "size": 512,
+      "stage_tables": [],
+      "statistics_table_refs": [
+        {
+          "name": "packetio_egress.egress_port_counter",
+          "handle": 67108866,
+          "how_referenced": "indirect" } ],
+      "match_attributes": {
+        "match_type": "hash_action",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 5,
+            "memory_resource_allocation": null,
+            "size": 512,
+            "stage_table_type": "hash_action",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 0,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 17,
+                "action_name": "act_4",
+                "action_handle": 536870930,
+                "table_name": "tbl_act_7",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_4",
+          "handle": 536870930,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870930,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": true,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 67108866,
+      "name": "packetio_egress.egress_port_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 0,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 5,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 4,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 55 } } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 0,
+      "how_referenced": "indirect",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 32,
+      "packet_counter_resolution": 0,
+      "statistics_type": "bytes" },
+    {
+      "direction": "ingress",
+      "handle": 16777222,
+      "name": "tbl_act_0",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 18,
+                "action_name": "act",
+                "action_handle": 536870915,
+                "table_name": "tbl_act_1",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act",
+          "handle": 536870915,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870915,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777223,
+      "name": "tbl_act_1",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 2,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 19,
+                "action_name": "act_0",
+                "action_handle": 536870916,
+                "table_name": "vrf_vrf_classifier_table_0",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_0",
+          "handle": 536870916,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870916,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777224,
+      "name": "vrf.vrf_classifier_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 3,
+            "pack_format": [
+              {
+                "table_word_width": 282,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 6,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_5--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_5--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_payload_4--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_4--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_3--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_3--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 56,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 80,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_2--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_2--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 16 },
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.traffic_class",
+                        "lsb_mem_word_offset": 5,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 44,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 24,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.diffserv",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 0, 1, 2, 3, 4, 5 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 5 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 1,
+              "stage_table_type": "ternary_indirection",
+              "size": 2048,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 2,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 31,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_33_63--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 32,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 31,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_33_63--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 32,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 20,
+                  "action_name": "vrf.set_vrf",
+                  "action_handle": 536870917,
+                  "table_name": "class_id_class_id_assignment_table_0",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 66,
+                  "immediate_fields": [
+                    {
+                      "param_name": "vrf_id",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 32 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "actions": [
+        {
+          "name": "vrf.set_vrf",
+          "handle": 536870917,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "vrf_id",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": 0,
+              "bit_width": 32 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870917,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ethernet.ether_type",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "ethernet.src_addr",
+          "position": 1,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 48,
+          "bit_width_full": 48,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.diffserv",
+          "position": 2,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 3,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "standard_metadata.ingress_port",
+          "position": 4,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.traffic_class",
+          "position": 5,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.dst_addr",
+          "position": 6,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777225,
+      "name": "class_id.class_id_assignment_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 4,
+            "pack_format": [
+              {
+                "table_word_width": 282,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 6,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_5--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_5--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 56,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 80,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_4--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_4--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 16 },
+                      {
+                        "field_name": "--tcam_payload_3--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_3--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_2--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_2--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 8 },
+                      {
+                        "field_name": "vlan_tag$0.pcp",
+                        "lsb_mem_word_offset": 42,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 3 },
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "local_metadata.l4_dst_port",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16 },
+                      {
+                        "field_name": "local_metadata.l4_src_port",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.next_header",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.next_header",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 4 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.protocol",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.ttl",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.hop_limit",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 6, 7, 8, 9, 10, 11 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 11 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 1,
+              "stage_table_type": "ternary_indirection",
+              "size": 8192,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 8,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 21,
+                  "action_name": "class_id.set_class_id",
+                  "action_handle": 536870918,
+                  "table_name": "l3_fwd_l3_routing_classifier_table_0",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 67,
+                  "immediate_fields": [
+                    {
+                      "param_name": "class_id_value",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 8 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "actions": [
+        {
+          "name": "class_id.set_class_id",
+          "handle": 536870918,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "class_id_value",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": 0,
+              "bit_width": 8 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870918,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ethernet.ether_type",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.ttl",
+          "position": 1,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.hop_limit",
+          "position": 2,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 3,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.dst_addr",
+          "position": 4,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.protocol",
+          "position": 5,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.next_header",
+          "position": 6,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "local_metadata.l4_src_port",
+          "position": 7,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "local_metadata.l4_dst_port",
+          "position": 8,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.vid",
+          "position": 9,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 12,
+          "bit_width_full": 12,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.pcp",
+          "position": 10,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 3,
+          "bit_width_full": 3,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777226,
+      "name": "l3_fwd.l3_routing_classifier_table",
+      "table_type": "match",
+      "size": 3072,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "default_action_handle": 536870919,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ethernet.dst_addr",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 48,
+          "bit_width_full": 48,
+          "is_valid": false } ],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 5,
+            "memory_resource_allocation": null,
+            "size": 3072,
+            "stage_table_type": "hash_match",
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "hash_bit": 0,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 1,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 2,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 34, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 3,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 35, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 4,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 36, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 5,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 37, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 6,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 38, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 7,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 39, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 8,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 9,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 10,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 11,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 12,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 34, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 13,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 35, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 14,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 36, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 15,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 37, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 16,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 38, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 17,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 39, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 18,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 19,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 20,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 21,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 22,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 34, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 23,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 35, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 24,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 36, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 37, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 26,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 38, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 27,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 39, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 28,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 29,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] } ] } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 32,
+                "action_name": "NoAction",
+                "action_handle": 536870919,
+                "table_name": "l3_fwd_l3_ipv4_override_table_0",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "pack_format": [
+              {
+                "table_word_width": 128,
+                "memory_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1 } ],
+            "ways": [
+              {
+                "stage_number": 1,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 66,
+                            "start_bit": 18,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 40,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ] } },
+              {
+                "stage_number": 1,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 66,
+                            "start_bit": 18,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 40,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ] } },
+              {
+                "stage_number": 1,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 66,
+                            "start_bit": 18,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 40,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 20,
+                  "hash_entry_bit_hi": 29,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 2 ] } ] } } ] } ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false },
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870919,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777227,
+      "name": "tbl_act_7",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 1,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 35,
+                "action_name": "act_7",
+                "action_handle": 536870931,
+                "table_name": "cond-12",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_7",
+          "handle": 536870931,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870931,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777228,
+      "name": "l3_fwd.l3_ipv4_override_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 0,
+            "pack_format": [
+              {
+                "table_word_width": 47,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 2 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 2,
+              "stage_table_type": "ternary_indirection",
+              "size": 4096,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 4,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 98,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 66,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 34,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 2,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 48,
+                  "action_name": "NoAction",
+                  "action_handle": 536870921,
+                  "table_name": "tbl_act_2",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "l3_fwd.set_nexthop",
+                  "action_handle": 536870920,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "port",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 9 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 33554433,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 50331649,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "default_selector_mask": 0,
+      "default_selector_value": 0,
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 0,
+      "action_profile": "l3_fwd.wcmp_action_profile",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 0,
+          "match_type": "lpm",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777229,
+      "name": "l3_fwd.l3_ipv4_vrf_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 1,
+            "pack_format": [
+              {
+                "table_word_width": 94,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 2,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 0, 1 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 1 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 2,
+              "stage_table_type": "ternary_indirection",
+              "size": 4096,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 4,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 119,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 87,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 55,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 23,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 48,
+                  "action_name": "NoAction",
+                  "action_handle": 536870921,
+                  "table_name": "tbl_act_2",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "l3_fwd.set_nexthop",
+                  "action_handle": 536870920,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "port",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 9 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 33554433,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 50331649,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "default_selector_mask": 0,
+      "default_selector_value": 0,
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 0,
+      "action_profile": "l3_fwd.wcmp_action_profile",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "local_metadata.vrf_id",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 1,
+          "match_type": "lpm",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777230,
+      "name": "l3_fwd.l3_ipv4_fallback_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 2,
+            "pack_format": [
+              {
+                "table_word_width": 47,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 3 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 3 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 2,
+              "stage_table_type": "ternary_indirection",
+              "size": 4096,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 4,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 119,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 87,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 55,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 23,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 26 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 48,
+                  "action_name": "NoAction",
+                  "action_handle": 536870921,
+                  "table_name": "tbl_act_2",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "l3_fwd.set_nexthop",
+                  "action_handle": 536870920,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "port",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 9 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 33554433,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 50331649,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "default_selector_mask": 0,
+      "default_selector_value": 0,
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 0,
+      "action_profile": "l3_fwd.wcmp_action_profile",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 0,
+          "match_type": "lpm",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 33554433,
+      "name": "l3_fwd.wcmp_action_profile",
+      "table_type": "action",
+      "size": 1024,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 131072,
+          "stage_table_type": "action_data",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "memory_word_width": 128,
+              "table_word_width": 128,
+              "entries_per_table_word": 2,
+              "number_memory_units_per_table_word": 1,
+              "entries": [
+                {
+                  "entry_number": 1,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "--padding_0_63--" } ] },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_63--" } ] } ],
+              "action_handle": 536870921 },
+            {
+              "memory_word_width": 128,
+              "table_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1,
+              "entries": [
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 9,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 16,
+                      "field_name": "port" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "smac" },
+                    {
+                      "start_bit": 16,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 48,
+                      "field_name": "smac" },
+                    {
+                      "start_bit": 32,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "smac" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 80,
+                      "field_name": "dmac" },
+                    {
+                      "start_bit": 16,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "dmac" },
+                    {
+                      "start_bit": 32,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 112,
+                      "field_name": "dmac" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_15--" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 7,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 25,
+                      "field_name": "--padding_25_31--" } ] } ],
+              "action_handle": 536870920 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [ { "memory_units": [ 92 ], "vpns": [ 0 ] } ],
+            "spare_bank_memory_unit": 92 } } ],
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "how_referenced": "indirect" },
+    {
+      "direction": "ingress",
+      "handle": 50331649,
+      "name": "l3_fwd.wcmp_action_profile",
+      "table_type": "selection",
+      "size": 1024,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 1024,
+          "stage_table_type": "selection",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
+            "spare_bank_memory_unit": 91 },
+          "meter_alu_index": 3 } ],
+      "selection_type": "fair",
+      "how_referenced": "indirect",
+      "max_port_pool_size": 120,
+      "bound_to_action_data_table_handle": 33554433 },
+    {
+      "direction": "egress",
+      "handle": 16777231,
+      "name": "spoof_protection.dhcp_spoof_protection_table",
+      "table_type": "match",
+      "size": 3072,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "default_action_handle": 536870933,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "local_metadata.l4_dst_port",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "standard_metadata.egress_spec",
+          "position": 1,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false } ],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "logical_table_id": 4,
+            "memory_resource_allocation": null,
+            "size": 3072,
+            "stage_table_type": "hash_match",
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "hash_bit": 0,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" } ] },
+                  {
+                    "hash_bit": 1,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 2,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 3,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 4,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 5,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 6,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 7,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 8,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 9,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 10,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" } ] },
+                  {
+                    "hash_bit": 11,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 12,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 13,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 14,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 15,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 16,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 17,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 18,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 19,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 20,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" } ] },
+                  {
+                    "hash_bit": 21,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 22,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 23,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 24,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 26,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 27,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 28,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 29,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "standard_metadata.egress_spec" } ] } ] } ],
+            "action_format": [
+              {
+                "next_table": 0,
+                "next_table_full": 255,
+                "action_name": "NoAction",
+                "action_handle": 536870933,
+                "table_name": "--END_OF_PIPELINE--",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] },
+              {
+                "next_table": 0,
+                "next_table_full": 255,
+                "action_name": "spoof_protection.drop_packet",
+                "action_handle": 536870932,
+                "table_name": "--END_OF_PIPELINE--",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "immediate_fields": [] } ],
+            "pack_format": [
+              {
+                "table_word_width": 128,
+                "memory_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1 } ],
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 41,
+                            "start_bit": 1,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 7 },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ] } },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 41,
+                            "start_bit": 1,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 7 },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 1 ] } ] } },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 41,
+                            "start_bit": 1,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 7 },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 20,
+                  "hash_entry_bit_hi": 29,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 62 ], "vpns": [ 2 ] } ] } } ] } ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false },
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870933,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "spoof_protection.drop_packet",
+          "handle": 536870932,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777232,
+      "name": "tbl_act_2",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 64,
+                "action_name": "act_2",
+                "action_handle": 536870922,
+                "table_name": "punt_punt_table_0",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_2",
+          "handle": 536870922,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870922,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777233,
+      "name": "punt.punt_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 67108867,
+          "name": "punt.punt_packet_counter" } ],
+      "meter_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 83886081,
+          "name": "punt.ingress_port_meter" } ],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 4,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 0,
+            "pack_format": [
+              {
+                "table_word_width": 564,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 12,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_11--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_11--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "arp.target_proto_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.egress_spec",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_payload_10--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_10--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_9--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_9--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 24,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 68,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_8--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_8--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 16 },
+                      {
+                        "field_name": "--tcam_payload_7--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_7--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 80,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 24,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 28,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_6--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_6--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 104,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 120,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_5--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_5--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 116,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_4--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_4--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 88,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 120,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_3--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_3--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 104,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.traffic_class",
+                        "lsb_mem_word_offset": 21,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 12 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 12,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_2--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_2--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "standard_metadata.egress_spec",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "vlan_tag$0.pcp",
+                        "lsb_mem_word_offset": 22,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 3 },
+                      {
+                        "field_name": "ipv4_base.diffserv",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 4 },
+                      {
+                        "field_name": "local_metadata.icmp_code",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "local_metadata.icmp_code",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.protocol",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.ttl",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.hop_limit",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.next_header",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "local_metadata.class_id",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [
+                {
+                  "memory_units": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ],
+                  "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 11 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 4,
+              "stage_table_type": "ternary_indirection",
+              "size": 8192,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 8,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 114,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 98,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 82,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 66,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 50,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 34,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 18,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 2,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 80,
+                  "action_name": "NoAction",
+                  "action_handle": 536870925,
+                  "table_name": "tbl_act_3",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "punt.set_queue_and_clone_to_cpu",
+                  "action_handle": 536870923,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "$constant0",
+                      "param_type": "constant",
+                      "const_value": 1023,
+                      "dest_start": 0,
+                      "dest_width": 10 } ] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "punt.set_queue_and_send_to_cpu",
+                  "action_handle": 536870924,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 2,
+                  "vliw_instruction_full": 66,
+                  "immediate_fields": [
+                    {
+                      "param_name": "$constant0",
+                      "param_type": "constant",
+                      "const_value": 320,
+                      "dest_start": 0,
+                      "dest_width": 9 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870925,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "punt.set_queue_and_clone_to_cpu",
+          "handle": 536870923,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "queue_id",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 5 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "punt.set_queue_and_send_to_cpu",
+          "handle": 536870924,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "queue_id",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 5 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870925,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "standard_metadata.ingress_port",
+          "position": 0,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false },
+        {
+          "name": "standard_metadata.egress_spec",
+          "position": 1,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false },
+        {
+          "name": "ethernet.ether_type",
+          "position": 2,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.diffserv",
+          "position": 3,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.traffic_class",
+          "position": 4,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.ttl",
+          "position": 5,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.hop_limit",
+          "position": 6,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.src_addr",
+          "position": 7,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 8,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.src_addr",
+          "position": 9,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.dst_addr",
+          "position": 10,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.protocol",
+          "position": 11,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.next_header",
+          "position": 12,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "arp.target_proto_addr",
+          "position": 13,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "local_metadata.icmp_code",
+          "position": 14,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.vid",
+          "position": 15,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 12,
+          "bit_width_full": 12,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.pcp",
+          "position": 16,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 3,
+          "bit_width_full": 3,
+          "is_valid": false },
+        {
+          "name": "local_metadata.class_id",
+          "position": 17,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "local_metadata.vrf_id",
+          "position": 18,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 83886081,
+      "name": "punt.ingress_port_meter",
+      "table_type": "meter",
+      "size": 1024,
+      "stage_tables": [
+        {
+          "stage_number": 4,
+          "size": 1024,
+          "stage_table_type": "meter",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 90 ], "vpns": [ 0 ] },
+              { "memory_units": [ 91 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 91 },
+          "color_map_ram_resource_allocation": {
+            "memory_type": "map_ram",
+            "memory_units_and_vpns": [ { "memory_units": [ 44 ], "vpns": [ 0 ] } ] },
+          "meter_sweep_interval": 2,
+          "default_lower_huffman_bits_included": 7,
+          "meter_alu_index": 3 } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 14,
+      "how_referenced": "direct",
+      "meter_type": "standard",
+      "meter_granularity": "bytes",
+      "enable_color_aware": false,
+      "enable_color_aware_pfe": false,
+      "enable_pfe": false,
+      "pfe_bit_position": 14,
+      "color_aware_pfe_address_type_bit_position": 0 },
+    {
+      "direction": "ingress",
+      "handle": 67108867,
+      "name": "punt.punt_packet_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 4,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 4,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 79 } } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 0,
+      "how_referenced": "direct",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 0,
+      "packet_counter_resolution": 32,
+      "statistics_type": "packets" },
+    {
+      "direction": "ingress",
+      "handle": 16777234,
+      "name": "tbl_act_3",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 5,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 0,
+                "next_table_full": 255,
+                "action_name": "act_3",
+                "action_handle": 536870926,
+                "table_name": "--END_OF_PIPELINE--",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_3",
+          "handle": 536870926,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870926,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] } ],
+  "configuration_cache": [
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[0]",
+      "name": "parser0_chnl_ctrl_0",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[1]",
+      "name": "parser0_chnl_ctrl_1",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[2]",
+      "name": "parser0_chnl_ctrl_2",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[3]",
+      "name": "parser0_chnl_ctrl_3",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.multi_threading",
+      "name": "parser0_multi_threading",
+      "value": "19522020" },
+    {
+      "fully_qualified_name": "mau[0].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_0_match_input_xbar_din_power_ctl",
+      "value": "0000000000000000000000000000000000000000000000080000000000000000000000000000000000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[0].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_0_parity_group_mask",
+      "value": "00000001000000000000000200000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_1_match_input_xbar_din_power_ctl",
+      "value": "0000000f0000000c000000000000000000000079000000120000000800000000000000f80000007b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[1].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_1_parity_group_mask",
+      "value": "00000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_2_match_input_xbar_din_power_ctl",
+      "value": "0000000000000019000000000000000000000020000000040000000600000000000000000000001800000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_2_parity_group_mask",
+      "value": "00000000000000000000000000000000000000300000000000000040000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_3_match_input_xbar_din_power_ctl",
+      "value": "0000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[4].rams.match.adrdist.meter_sweep_ctl[3]",
+      "name": "stage_4_meter_sweep_ctl_3",
+      "value": "00040000" },
+    {
+      "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_4_match_input_xbar_din_power_ctl",
+      "value": "000000ff0000001f00000000000000000000007f000000000000000000000000000000010000006200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_5_match_input_xbar_din_power_ctl",
+      "value": "0000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } ] }
\ No newline at end of file
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/p4_name_lookup.json b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/p4_name_lookup.json
new file mode 100644
index 0000000..9929b75
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/p4_name_lookup.json
@@ -0,0 +1,2112 @@
+{
+  "directions": {
+    "0": {
+      "parser_states": {
+        "0": "$ingress_metadata_shim",
+        "1": "$ingress_metadata",
+        "2": "$phase0",
+        "3": "start",
+        "4": "parse_cpu_header",
+        "5": "parse_ethernet",
+        "6": "parse_ethernet.$split",
+        "7": "parse_vlan",
+        "8": "parse_vlan.0",
+        "9": "parse_ipv4",
+        "10": "parse_ipv4.$split",
+        "11": "parse_icmp",
+        "12": "parse_ipv4.$split.0",
+        "13": "parse_tcp",
+        "14": "parse_tcp.$split",
+        "15": "parse_ipv4.$split.1",
+        "16": "parse_udp",
+        "17": "parse_udp.$split",
+        "18": "parse_ipv4.$split.2",
+        "19": "parse_ipv6",
+        "20": "parse_ipv6.$split",
+        "21": "parse_ipv6.$split.0",
+        "22": "parse_ipv6.$split.1",
+        "23": "parse_ipv6.$split.2",
+        "24": "parse_ipv6.$split.3",
+        "25": "parse_ipv6.$split.4",
+        "26": "parse_ipv6.$split.5",
+        "27": "parse_ipv6.$split.6",
+        "28": "parse_vlan.5",
+        "29": "parse_vlan.10",
+        "30": "parse_vlan.15",
+        "31": "parse_ethernet.$split.0",
+        "32": "parse_ethernet.$split.1",
+        "33": "parse_ethernet.$split.2",
+        "34": "parse_ethernet.$split.3",
+        "35": "parse_ethernet.$split.4",
+        "36": "parse_ethernet.$split.5",
+        "37": "parse_arp",
+        "38": "parse_arp.$split",
+        "39": "parse_arp.$split.0",
+        "40": "parse_ethernet.$split.6" } },
+    "1": {
+      "parser_states": {
+        "0": "$egress_metadata_shim",
+        "1": "$bridge_metadata_extract",
+        "2": "start",
+        "3": "parse_cpu_header",
+        "4": "parse_ethernet",
+        "5": "parse_ethernet.$split",
+        "6": "parse_vlan",
+        "7": "parse_vlan.0",
+        "8": "parse_ipv4",
+        "9": "parse_ipv4.$split",
+        "10": "parse_icmp",
+        "11": "parse_ipv4.$split.0",
+        "12": "parse_tcp",
+        "13": "parse_tcp.$split",
+        "14": "parse_tcp.$split.0",
+        "15": "parse_ipv4.$split.1",
+        "16": "parse_udp",
+        "17": "parse_ipv4.$split.2",
+        "18": "parse_ipv6",
+        "19": "parse_ipv6.$split",
+        "20": "parse_ipv6.$split.0",
+        "21": "parse_ipv6.$split.1",
+        "22": "parse_ipv6.$split.2",
+        "23": "parse_ipv6.$split.3",
+        "24": "parse_ipv6.$split.4",
+        "25": "parse_ipv6.$split.5",
+        "26": "parse_ipv6.$split.6",
+        "27": "parse_vlan.5",
+        "28": "parse_vlan.10",
+        "29": "parse_vlan.15",
+        "30": "parse_ethernet.$split.0",
+        "31": "parse_ethernet.$split.1",
+        "32": "parse_ethernet.$split.2",
+        "33": "parse_ethernet.$split.3",
+        "34": "parse_ethernet.$split.4",
+        "35": "parse_ethernet.$split.5",
+        "36": "parse_arp",
+        "37": "parse_arp.$split",
+        "38": "parse_arp.$split.0",
+        "39": "parse_ethernet.$split.6" } } },
+  "stages": {
+    "0": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act",
+          "actions": { "act_1": { "direction": 0, "primitives": [] } } },
+        "2": {},
+        "1": {
+          "table_name": "tbl_act_4",
+          "actions": { "act_5": { "direction": 1, "primitives": [] } } },
+        "3": {
+          "table_name": "tbl_packetio_egress_encap_packet_in_header",
+          "actions": {
+            "packetio_egress.encap_packet_in_header": { "direction": 3, "primitives": [] } } },
+        "4": {
+          "table_name": "tbl_act_6",
+          "actions": { "act_6": { "direction": 4, "primitives": [] } } },
+        "5": {
+          "table_name": "tbl_act_5",
+          "actions": { "act_4": { "direction": 5, "primitives": [] } } } } },
+    "1": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act_0",
+          "actions": { "act": { "direction": 0, "primitives": [] } } },
+        "2": {
+          "table_name": "tbl_act_1",
+          "actions": { "act_0": { "direction": 2, "primitives": [] } } },
+        "3": {
+          "table_name": "vrf.vrf_classifier_table",
+          "actions": { "vrf.set_vrf": { "direction": 3, "primitives": [] } } },
+        "4": {
+          "table_name": "class_id.class_id_assignment_table",
+          "actions": { "class_id.set_class_id": { "direction": 4, "primitives": [] } } },
+        "5": {
+          "table_name": "l3_fwd.l3_routing_classifier_table",
+          "actions": { "NoAction": { "direction": 5, "primitives": [] } } },
+        "1": {
+          "table_name": "tbl_act_7",
+          "actions": { "act_7": { "direction": 1, "primitives": [] } } } } },
+    "2": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": { "table_name": "l3_fwd.l3_ipv4_override_table", "actions": {} },
+        "1": { "table_name": "l3_fwd.l3_ipv4_vrf_table", "actions": {} },
+        "2": { "table_name": "l3_fwd.l3_ipv4_fallback_table", "actions": {} },
+        "3": {},
+        "4": {
+          "table_name": "spoof_protection.dhcp_spoof_protection_table",
+          "actions": {
+            "NoAction": { "direction": 4, "primitives": [] },
+            "spoof_protection.drop_packet": { "direction": 4, "primitives": [] } } } } },
+    "3": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act_2",
+          "actions": { "act_2": { "direction": 0, "primitives": [] } } } } },
+    "4": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "punt.punt_table",
+          "actions": {
+            "NoAction": { "direction": 0, "primitives": [] },
+            "punt.set_queue_and_clone_to_cpu": { "direction": 0, "primitives": [] },
+            "punt.set_queue_and_send_to_cpu": { "direction": 0, "primitives": [] } } } } },
+    "5": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act_3",
+          "actions": { "act_3": { "direction": 0, "primitives": [] } } } } },
+    "6": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "7": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "8": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "9": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "10": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "11": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} } } }
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/tofino.bin b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/tofino.bin
new file mode 100644
index 0000000..91df4f7
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/tor.p4info b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/tor.p4info
new file mode 100644
index 0000000..44c994b
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/mavericks/tor.p4info
@@ -0,0 +1,672 @@
+tables {
+  preamble {
+    id: 33619357
+    name: "vrf.vrf_classifier_table"
+    alias: "vrf_classifier_table"
+    annotations: "@proto_package(\"vrf\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ethernet.src_addr"
+    annotations: "@proto_tag(2)"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ipv4_base.diffserv"
+    annotations: "@proto_tag(3)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(4)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "standard_metadata.ingress_port"
+    annotations: "@proto_tag(5)"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv6_base.traffic_class"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(7)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16793447
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16793447
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33592054
+    name: "class_id.class_id_assignment_table"
+    alias: "class_id_assignment_table"
+    annotations: "@proto_package(\"class_id\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ipv4_base.ttl"
+    annotations: "@proto_tag(2)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ipv6_base.hop_limit"
+    annotations: "@proto_tag(3)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(4)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(5)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv4_base.protocol"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.next_header"
+    annotations: "@proto_tag(7)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "local_metadata.l4_src_port"
+    annotations: "@proto_tag(8)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "local_metadata.l4_dst_port"
+    annotations: "@proto_tag(9)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "hdr.vlan_tag[0].vid"
+    annotations: "@proto_tag(10)"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "hdr.vlan_tag[0].pcp"
+    annotations: "@proto_tag(11)"
+    bitwidth: 3
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16778630
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16778630
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33568218
+    name: "l3_fwd.l3_routing_classifier_table"
+    alias: "l3_routing_classifier_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 48
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16800567
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33575570
+    name: "l3_fwd.l3_ipv4_override_table"
+    alias: "l3_ipv4_override_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33581631
+    name: "l3_fwd.l3_ipv4_vrf_table"
+    alias: "l3_ipv4_vrf_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "local_metadata.vrf_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(2)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33572896
+    name: "l3_fwd.l3_ipv4_fallback_table"
+    alias: "l3_ipv4_fallback_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33613201
+    name: "punt.punt_table"
+    alias: "punt_table"
+    annotations: "@proto_package(\"punt\")"
+  }
+  match_fields {
+    id: 1
+    name: "standard_metadata.ingress_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "standard_metadata.egress_spec"
+    annotations: "@proto_tag(2)"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(3)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.diffserv"
+    annotations: "@proto_tag(4)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "hdr.ipv6_base.traffic_class"
+    annotations: "@proto_tag(5)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv4_base.ttl"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.hop_limit"
+    annotations: "@proto_tag(7)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "hdr.ipv4_base.src_addr"
+    annotations: "@proto_tag(8)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(9)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "hdr.ipv6_base.src_addr"
+    annotations: "@proto_tag(10)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(11)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 12
+    name: "hdr.ipv4_base.protocol"
+    annotations: "@proto_tag(12)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 13
+    name: "hdr.ipv6_base.next_header"
+    annotations: "@proto_tag(13)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 14
+    name: "hdr.arp.target_proto_addr"
+    annotations: "@proto_tag(14)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 15
+    name: "local_metadata.icmp_code"
+    annotations: "@proto_tag(15)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 16
+    name: "hdr.vlan_tag[0].vid"
+    annotations: "@proto_tag(16)"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 17
+    name: "hdr.vlan_tag[0].pcp"
+    annotations: "@proto_tag(17)"
+    bitwidth: 3
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 18
+    name: "local_metadata.class_id"
+    annotations: "@proto_tag(18)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 19
+    name: "local_metadata.vrf_id"
+    annotations: "@proto_tag(19)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16819104
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16784911
+    annotations: "@proto_tag(2)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 302050023
+  direct_resource_ids: 318814206
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33594375
+    name: "spoof_protection.dhcp_spoof_protection_table"
+    alias: "dhcp_spoof_protection_table"
+    annotations: "@proto_package(\"spoof_protection\")"
+  }
+  match_fields {
+    id: 1
+    name: "local_metadata.l4_dst_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "standard_metadata.egress_spec"
+    annotations: "@proto_tag(2)"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16827294
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  size: 1024
+}
+actions {
+  preamble {
+    id: 16800567
+    name: "NoAction"
+    alias: "NoAction"
+  }
+}
+actions {
+  preamble {
+    id: 16793447
+    name: "vrf.set_vrf"
+    alias: "set_vrf"
+    annotations: "@proto_package(\"vrf\")"
+  }
+  params {
+    id: 1
+    name: "vrf_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16778630
+    name: "class_id.set_class_id"
+    alias: "set_class_id"
+    annotations: "@proto_package(\"class_id\")"
+  }
+  params {
+    id: 1
+    name: "class_id_value"
+    annotations: "@proto_tag(1)"
+    bitwidth: 8
+  }
+}
+actions {
+  preamble {
+    id: 16779406
+    name: "l3_fwd.set_nexthop"
+    alias: "set_nexthop"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  params {
+    id: 1
+    name: "port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  params {
+    id: 2
+    name: "smac"
+    annotations: "@proto_tag(2)"
+    bitwidth: 48
+  }
+  params {
+    id: 3
+    name: "dmac"
+    annotations: "@proto_tag(3)"
+    bitwidth: 48
+  }
+}
+actions {
+  preamble {
+    id: 16819104
+    name: "punt.set_queue_and_clone_to_cpu"
+    alias: "set_queue_and_clone_to_cpu"
+    annotations: "@proto_package(\"punt\")"
+  }
+  params {
+    id: 1
+    name: "queue_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 16784911
+    name: "punt.set_queue_and_send_to_cpu"
+    alias: "set_queue_and_send_to_cpu"
+    annotations: "@proto_package(\"punt\")"
+  }
+  params {
+    id: 1
+    name: "queue_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 16792485
+    name: "packetio_egress.encap_packet_in_header"
+    alias: "encap_packet_in_header"
+  }
+}
+actions {
+  preamble {
+    id: 16827294
+    name: "spoof_protection.drop_packet"
+    alias: "drop_packet"
+    annotations: "@proto_package(\"spoof_protection\")"
+  }
+}
+action_profiles {
+  preamble {
+    id: 285270769
+    name: "l3_fwd.wcmp_action_profile"
+    alias: "wcmp_action_profile"
+  }
+  table_ids: 33572896
+  table_ids: 33575570
+  table_ids: 33581631
+  with_selector: true
+  size: 1024
+}
+counters {
+  preamble {
+    id: 302001476
+    name: "packetio_egress.egress_port_counter"
+    alias: "egress_port_counter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 510
+}
+counters {
+  preamble {
+    id: 302037457
+    name: "packetio_egress.ingress_port_counter"
+    alias: "ingress_port_counter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 510
+}
+direct_counters {
+  preamble {
+    id: 302050023
+    name: "punt.punt_packet_counter"
+    alias: "punt_packet_counter"
+    annotations: "@proto_package(\"punt\")"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 33613201
+}
+direct_meters {
+  preamble {
+    id: 318814206
+    name: "punt.ingress_port_meter"
+    alias: "ingress_port_meter"
+    annotations: "@proto_package(\"punt\")"
+  }
+  spec {
+    unit: BYTES
+  }
+  direct_table_id: 33613201
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868941301
+    name: "packet_in"
+    annotations: "@controller_header(\"packet_in\")"
+  }
+  metadata {
+    id: 1
+    name: "ingress_physical_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 2
+    name: "padding1"
+    annotations: "@proto_tag(4)"
+    bitwidth: 7
+  }
+  metadata {
+    id: 3
+    name: "ingress_logical_port"
+    annotations: "@proto_tag(2)"
+    bitwidth: 32
+  }
+  metadata {
+    id: 4
+    name: "target_egress_port"
+    annotations: "@proto_tag(3)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 5
+    name: "padding2"
+    annotations: "@proto_tag(5)"
+    bitwidth: 7
+  }
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868916615
+    name: "packet_out"
+    annotations: "@not_extracted_in_egress()"
+    annotations: "@controller_header(\"packet_out\")"
+  }
+  metadata {
+    id: 1
+    name: "egress_physical_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 2
+    name: "submit_to_ingress"
+    annotations: "@proto_tag(2)"
+    bitwidth: 1
+  }
+  metadata {
+    id: 3
+    name: "padding"
+    annotations: "@proto_tag(3)"
+    bitwidth: 6
+  }
+}
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/montara/context.json b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/context.json
new file mode 100644
index 0000000..0cb93dc
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/context.json
@@ -0,0 +1,7002 @@
+{
+  "build_date": "09/27/17 09:33:49",
+  "compiler_version": "6.0.0-pre-alpha.2",
+  "program_name": "tor",
+  "learn_quanta": [],
+  "parser": { "ingress": [], "egress": [] },
+  "phv_allocation": [],
+  "tables": [
+    {
+      "direction": "ingress",
+      "handle": 16777217,
+      "name": "tbl_act",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 2,
+                "action_name": "act_1",
+                "action_handle": 536870914,
+                "table_name": "cond-1",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_1",
+          "handle": 536870914,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870914,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777218,
+      "name": "tbl_act_4",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 1,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 3,
+                "action_name": "act_5",
+                "action_handle": 536870927,
+                "table_name": "tbl_packetio_egress_encap_packet_in_header",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_5",
+          "handle": 536870927,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870927,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777219,
+      "name": "tbl_packetio_egress_encap_packet_in_header",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 3,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 4,
+                "action_name": "packetio_egress.encap_packet_in_header",
+                "action_handle": 536870928,
+                "table_name": "tbl_act_6",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 66,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "packetio_egress.encap_packet_in_header",
+          "handle": 536870928,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870928,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777220,
+      "name": "tbl_act_6",
+      "table_type": "match",
+      "size": 512,
+      "stage_tables": [],
+      "statistics_table_refs": [
+        {
+          "name": "packetio_egress.ingress_port_counter",
+          "handle": 67108865,
+          "how_referenced": "indirect" } ],
+      "match_attributes": {
+        "match_type": "hash_action",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 4,
+            "memory_resource_allocation": null,
+            "size": 512,
+            "stage_table_type": "hash_action",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 0,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 5,
+                "action_name": "act_6",
+                "action_handle": 536870929,
+                "table_name": "tbl_act_5",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_6",
+          "handle": 536870929,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870929,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": true,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 67108865,
+      "name": "packetio_egress.ingress_port_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 0,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 4,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 4,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 79 } } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 0,
+      "how_referenced": "indirect",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 32,
+      "packet_counter_resolution": 0,
+      "statistics_type": "bytes" },
+    {
+      "direction": "egress",
+      "handle": 16777221,
+      "name": "tbl_act_5",
+      "table_type": "match",
+      "size": 512,
+      "stage_tables": [],
+      "statistics_table_refs": [
+        {
+          "name": "packetio_egress.egress_port_counter",
+          "handle": 67108866,
+          "how_referenced": "indirect" } ],
+      "match_attributes": {
+        "match_type": "hash_action",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 0,
+            "logical_table_id": 5,
+            "memory_resource_allocation": null,
+            "size": 512,
+            "stage_table_type": "hash_action",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 0,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 17,
+                "action_name": "act_4",
+                "action_handle": 536870930,
+                "table_name": "tbl_act_7",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_4",
+          "handle": 536870930,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870930,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": true,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 67108866,
+      "name": "packetio_egress.egress_port_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 0,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 5,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 4,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 54 ], "vpns": [ 0 ] },
+              { "memory_units": [ 55 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 55 } } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 0,
+      "how_referenced": "indirect",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 32,
+      "packet_counter_resolution": 0,
+      "statistics_type": "bytes" },
+    {
+      "direction": "ingress",
+      "handle": 16777222,
+      "name": "tbl_act_0",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 18,
+                "action_name": "act",
+                "action_handle": 536870915,
+                "table_name": "tbl_act_1",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act",
+          "handle": 536870915,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870915,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777223,
+      "name": "tbl_act_1",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 2,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 19,
+                "action_name": "act_0",
+                "action_handle": 536870916,
+                "table_name": "vrf_vrf_classifier_table_0",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_0",
+          "handle": 536870916,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870916,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777224,
+      "name": "vrf.vrf_classifier_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 3,
+            "pack_format": [
+              {
+                "table_word_width": 282,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 6,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_5--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_5--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_payload_4--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_4--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_3--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_3--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 56,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 80,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_2--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_2--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 16 },
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.traffic_class",
+                        "lsb_mem_word_offset": 5,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 44,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.src_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 24,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.diffserv",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 0, 1, 2, 3, 4, 5 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 5 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 1,
+              "stage_table_type": "ternary_indirection",
+              "size": 2048,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 2,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 31,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--padding_33_63--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 32,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 31,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--padding_33_63--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 32,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 20,
+                  "action_name": "vrf.set_vrf",
+                  "action_handle": 536870917,
+                  "table_name": "class_id_class_id_assignment_table_0",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 66,
+                  "immediate_fields": [
+                    {
+                      "param_name": "vrf_id",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 32 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "actions": [
+        {
+          "name": "vrf.set_vrf",
+          "handle": 536870917,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "vrf_id",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": 0,
+              "bit_width": 32 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870917,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ethernet.ether_type",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "ethernet.src_addr",
+          "position": 1,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 48,
+          "bit_width_full": 48,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.diffserv",
+          "position": 2,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 3,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "standard_metadata.ingress_port",
+          "position": 4,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.traffic_class",
+          "position": 5,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.dst_addr",
+          "position": 6,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777225,
+      "name": "class_id.class_id_assignment_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 4,
+            "pack_format": [
+              {
+                "table_word_width": 282,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 6,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_5--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_5--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 56,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 80,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_4--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_4--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 16 },
+                      {
+                        "field_name": "--tcam_payload_3--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_3--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_2--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_2--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 8 },
+                      {
+                        "field_name": "vlan_tag$0.pcp",
+                        "lsb_mem_word_offset": 42,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 3 },
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "local_metadata.l4_dst_port",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16 },
+                      {
+                        "field_name": "local_metadata.l4_src_port",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.next_header",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.next_header",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 4 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.protocol",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.ttl",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.hop_limit",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 6, 7, 8, 9, 10, 11 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 11 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 1,
+              "stage_table_type": "ternary_indirection",
+              "size": 8192,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 8,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 121,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 113,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 105,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 89,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 81,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 73,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 57,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 49,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 41,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 25,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 17,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 7,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 9,
+                          "field_name": "--padding_9_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 21,
+                  "action_name": "class_id.set_class_id",
+                  "action_handle": 536870918,
+                  "table_name": "l3_fwd_l3_routing_classifier_table_0",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 67,
+                  "immediate_fields": [
+                    {
+                      "param_name": "class_id_value",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 8 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "actions": [
+        {
+          "name": "class_id.set_class_id",
+          "handle": 536870918,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "class_id_value",
+              "start_bit": 0,
+              "position": 0,
+              "default_value": 0,
+              "bit_width": 8 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870918,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ethernet.ether_type",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.ttl",
+          "position": 1,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.hop_limit",
+          "position": 2,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 3,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.dst_addr",
+          "position": 4,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.protocol",
+          "position": 5,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.next_header",
+          "position": 6,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "local_metadata.l4_src_port",
+          "position": 7,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "local_metadata.l4_dst_port",
+          "position": 8,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.vid",
+          "position": 9,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 12,
+          "bit_width_full": 12,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.pcp",
+          "position": 10,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 3,
+          "bit_width_full": 3,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777226,
+      "name": "l3_fwd.l3_routing_classifier_table",
+      "table_type": "match",
+      "size": 3072,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "default_action_handle": 536870919,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ethernet.dst_addr",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 48,
+          "bit_width_full": 48,
+          "is_valid": false } ],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 5,
+            "memory_resource_allocation": null,
+            "size": 3072,
+            "stage_table_type": "hash_match",
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "hash_bit": 0,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 1,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 2,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 34, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 3,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 35, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 4,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 36, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 5,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 37, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 6,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 38, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 7,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 39, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 8,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 9,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 10,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 11,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 12,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 34, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 13,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 35, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 14,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 36, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 15,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 37, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 16,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 38, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 17,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 39, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 18,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 19,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 20,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 21,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 22,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 34, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 23,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 35, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 24,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 36, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 37, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 26,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 11, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 15, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 3, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 46, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 38, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 27,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 13, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 27, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 39, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 28,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 8, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 5, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 6, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 7, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 25, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 26, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 31, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 16, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 19, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 21, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 42, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 43, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 32, "field_name": "ethernet.dst_addr" } ] },
+                  {
+                    "hash_bit": 29,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      { "field_bit": 9, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 10, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 12, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 14, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 0, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 1, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 2, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 4, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 24, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 28, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 29, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 30, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 17, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 18, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 20, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 22, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 23, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 40, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 41, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 44, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 45, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 47, "field_name": "ethernet.dst_addr" },
+                      { "field_bit": 33, "field_name": "ethernet.dst_addr" } ] } ] } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 32,
+                "action_name": "NoAction",
+                "action_handle": 536870919,
+                "table_name": "l3_fwd_l3_ipv4_override_table_0",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "pack_format": [
+              {
+                "table_word_width": 128,
+                "memory_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1 } ],
+            "ways": [
+              {
+                "stage_number": 1,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 66,
+                            "start_bit": 18,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 40,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ] } },
+              {
+                "stage_number": 1,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 66,
+                            "start_bit": 18,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 40,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ] } },
+              {
+                "stage_number": 1,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 1,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 56,
+                            "start_bit": 0,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 66,
+                            "start_bit": 18,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 6 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 40,
+                            "start_bit": 24,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "field_name": "ethernet.dst_addr",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 48,
+                            "start_bit": 40,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 20,
+                  "hash_entry_bit_hi": 29,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 2 ] } ] } } ] } ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false },
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870919,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "egress",
+      "handle": 16777227,
+      "name": "tbl_act_7",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 1,
+            "logical_table_id": 1,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 35,
+                "action_name": "act_7",
+                "action_handle": 536870931,
+                "table_name": "cond-12",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_7",
+          "handle": 536870931,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870931,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777228,
+      "name": "l3_fwd.l3_ipv4_override_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 0,
+            "pack_format": [
+              {
+                "table_word_width": 47,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 2 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 2,
+              "stage_table_type": "ternary_indirection",
+              "size": 4096,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 4,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 120,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 109,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 98,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 88,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 77,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 66,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 56,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 45,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 34,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 8,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 24,
+                          "field_name": "--padding_24_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 13,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 2,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 48,
+                  "action_name": "NoAction",
+                  "action_handle": 536870921,
+                  "table_name": "tbl_act_2",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "l3_fwd.set_nexthop",
+                  "action_handle": 536870920,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "port",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 9 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 33554433,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 50331649,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "default_selector_mask": 0,
+      "default_selector_value": 0,
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 0,
+      "action_profile": "l3_fwd.wcmp_action_profile",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 0,
+          "match_type": "lpm",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777229,
+      "name": "l3_fwd.l3_ipv4_vrf_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 1,
+            "pack_format": [
+              {
+                "table_word_width": 94,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 2,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 0, 1 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 1 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 2,
+              "stage_table_type": "ternary_indirection",
+              "size": 4096,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 4,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 119,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 87,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 55,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 23,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 14 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 48,
+                  "action_name": "NoAction",
+                  "action_handle": 536870921,
+                  "table_name": "tbl_act_2",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "l3_fwd.set_nexthop",
+                  "action_handle": 536870920,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "port",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 9 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 33554433,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 50331649,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "default_selector_mask": 0,
+      "default_selector_value": 0,
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 0,
+      "action_profile": "l3_fwd.wcmp_action_profile",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "local_metadata.vrf_id",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 1,
+          "match_type": "lpm",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777230,
+      "name": "l3_fwd.l3_ipv4_fallback_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 2,
+            "pack_format": [
+              {
+                "table_word_width": 47,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [ { "memory_units": [ 3 ], "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 3 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 2,
+              "stage_table_type": "ternary_indirection",
+              "size": 4096,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 4,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 119,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 97,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 87,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 65,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 55,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 33,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 9,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 23,
+                          "field_name": "--padding_23_31--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 1,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 5,
+                          "field_width": 11,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "adt_ptr",
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "--action_data_pointer--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 7,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "sel_ptr",
+                          "lsb_mem_word_offset": 1,
+                          "field_name": "--selection_base--",
+                          "enable_pfe": true } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 26 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 48,
+                  "action_name": "NoAction",
+                  "action_handle": 536870921,
+                  "table_name": "tbl_act_2",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "l3_fwd.set_nexthop",
+                  "action_handle": 536870920,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "dmac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "port",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 9 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 0,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 16,
+                      "dest_start": 0,
+                      "dest_width": 16 },
+                    {
+                      "param_name": "smac",
+                      "param_type": "parameter",
+                      "param_shift": 32,
+                      "dest_start": 0,
+                      "dest_width": 16 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 33554433,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [
+        {
+          "how_referenced": "indirect",
+          "handle": 50331649,
+          "name": "l3_fwd.wcmp_action_profile" } ],
+      "default_selector_mask": 0,
+      "default_selector_value": 0,
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 0,
+      "action_profile": "l3_fwd.wcmp_action_profile",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 0,
+          "match_type": "lpm",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 33554433,
+      "name": "l3_fwd.wcmp_action_profile",
+      "table_type": "action",
+      "size": 1024,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 131072,
+          "stage_table_type": "action_data",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "memory_word_width": 128,
+              "table_word_width": 128,
+              "entries_per_table_word": 2,
+              "number_memory_units_per_table_word": 1,
+              "entries": [
+                {
+                  "entry_number": 1,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "--padding_0_63--" } ] },
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 64,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_63--" } ] } ],
+              "action_handle": 536870921 },
+            {
+              "memory_word_width": 128,
+              "table_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1,
+              "entries": [
+                {
+                  "entry_number": 0,
+                  "fields": [
+                    {
+                      "start_bit": 0,
+                      "field_width": 9,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 16,
+                      "field_name": "port" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 32,
+                      "field_name": "smac" },
+                    {
+                      "start_bit": 16,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 48,
+                      "field_name": "smac" },
+                    {
+                      "start_bit": 32,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 64,
+                      "field_name": "smac" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 80,
+                      "field_name": "dmac" },
+                    {
+                      "start_bit": 16,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 96,
+                      "field_name": "dmac" },
+                    {
+                      "start_bit": 32,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "spec",
+                      "lsb_mem_word_offset": 112,
+                      "field_name": "dmac" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 16,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 0,
+                      "field_name": "--padding_0_15--" },
+                    {
+                      "start_bit": 0,
+                      "field_width": 7,
+                      "lsb_mem_word_idx": 0,
+                      "msb_mem_word_idx": 0,
+                      "source": "zero",
+                      "lsb_mem_word_offset": 25,
+                      "field_name": "--padding_25_31--" } ] } ],
+              "action_handle": 536870920 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [ { "memory_units": [ 92 ], "vpns": [ 0 ] } ],
+            "spare_bank_memory_unit": 92 } } ],
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870921,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "l3_fwd.set_nexthop",
+          "handle": 536870920,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            { "name": "port", "start_bit": 0, "position": 0, "bit_width": 9 },
+            { "name": "smac", "start_bit": 0, "position": 1, "bit_width": 48 },
+            { "name": "dmac", "start_bit": 0, "position": 2, "bit_width": 48 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "how_referenced": "indirect" },
+    {
+      "direction": "ingress",
+      "handle": 50331649,
+      "name": "l3_fwd.wcmp_action_profile",
+      "table_type": "selection",
+      "size": 1024,
+      "stage_tables": [
+        {
+          "stage_number": 2,
+          "size": 1024,
+          "stage_table_type": "selection",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
+            "spare_bank_memory_unit": 91 },
+          "meter_alu_index": 3 } ],
+      "selection_type": "fair",
+      "how_referenced": "indirect",
+      "max_port_pool_size": 120,
+      "bound_to_action_data_table_handle": 33554433 },
+    {
+      "direction": "egress",
+      "handle": 16777231,
+      "name": "spoof_protection.dhcp_spoof_protection_table",
+      "table_type": "match",
+      "size": 3072,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "default_action_handle": 536870933,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "local_metadata.l4_dst_port",
+          "position": 0,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "standard_metadata.egress_spec",
+          "position": 1,
+          "match_type": "exact",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false } ],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 2,
+            "logical_table_id": 4,
+            "memory_resource_allocation": null,
+            "size": 3072,
+            "stage_table_type": "hash_match",
+            "hash_functions": [
+              {
+                "hash_bits": [
+                  {
+                    "hash_bit": 0,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" } ] },
+                  {
+                    "hash_bit": 1,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 2,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 3,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 4,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 5,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 6,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 7,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 8,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 9,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 10,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" } ] },
+                  {
+                    "hash_bit": 11,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 12,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 13,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 14,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 15,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 16,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 17,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 18,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 19,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 20,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 0,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" } ] },
+                  {
+                    "hash_bit": 21,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 0,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 22,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 1,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 23,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 9,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 24,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 25,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 26,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 1,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 10,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 27,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 5,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 12,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 15,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 6,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 28,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 3,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 14,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 7,
+                        "field_name": "standard_metadata.egress_spec" } ] },
+                  {
+                    "hash_bit": 29,
+                    "seed": 0,
+                    "bits_to_xor": [
+                      {
+                        "field_bit": 2,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 4,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 11,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 13,
+                        "field_name": "local_metadata.l4_dst_port" },
+                      {
+                        "field_bit": 8,
+                        "field_name": "standard_metadata.egress_spec" } ] } ] } ],
+            "action_format": [
+              {
+                "next_table": 0,
+                "next_table_full": 255,
+                "action_name": "NoAction",
+                "action_handle": 536870933,
+                "table_name": "--END_OF_PIPELINE--",
+                "vliw_instruction": 0,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] },
+              {
+                "next_table": 0,
+                "next_table_full": 255,
+                "action_name": "spoof_protection.drop_packet",
+                "action_handle": 536870932,
+                "table_name": "--END_OF_PIPELINE--",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 65,
+                "immediate_fields": [] } ],
+            "pack_format": [
+              {
+                "table_word_width": 128,
+                "memory_word_width": 128,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 1 } ],
+            "ways": [
+              {
+                "stage_number": 2,
+                "way_number": 0,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 41,
+                            "start_bit": 1,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 7 },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 0,
+                  "hash_entry_bit_hi": 9,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ] } },
+              {
+                "stage_number": 2,
+                "way_number": 1,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 41,
+                            "start_bit": 1,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 7 },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 10,
+                  "hash_entry_bit_hi": 19,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 1 ] } ] } },
+              {
+                "stage_number": 2,
+                "way_number": 2,
+                "stage_table_type": "hash_way",
+                "size": 1024,
+                "pack_format": [
+                  {
+                    "memory_word_width": 128,
+                    "table_word_width": 128,
+                    "entries_per_table_word": 1,
+                    "number_memory_units_per_table_word": 1,
+                    "entries": [
+                      {
+                        "entry_number": 0,
+                        "fields": [
+                          {
+                            "start_bit": 0,
+                            "field_width": 2,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "instr",
+                            "lsb_mem_word_offset": 0,
+                            "field_name": "--instruction_address--",
+                            "match_mode": "unused",
+                            "enable_pfe": false },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 41,
+                            "start_bit": 1,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 7 },
+                          {
+                            "field_name": "local_metadata.l4_dst_port",
+                            "source": "spec",
+                            "lsb_mem_word_offset": 32,
+                            "start_bit": 8,
+                            "immediate_name": "",
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "match_mode": "unused",
+                            "enable_pfe": false,
+                            "field_width": 8 },
+                          {
+                            "start_bit": 0,
+                            "field_width": 4,
+                            "lsb_mem_word_idx": 0,
+                            "msb_mem_word_idx": 0,
+                            "source": "version",
+                            "lsb_mem_word_offset": 112,
+                            "field_name": "--version_valid--",
+                            "match_mode": "unused",
+                            "enable_pfe": false } ] } ] } ],
+                "memory_resource_allocation": {
+                  "hash_function_id": 0,
+                  "hash_entry_bit_lo": 20,
+                  "hash_entry_bit_hi": 29,
+                  "number_entry_bits": 10,
+                  "hash_select_bit_hi": 40,
+                  "hash_select_bit_lo": 40,
+                  "number_select_bits": 0,
+                  "memory_units_and_vpns": [ { "memory_units": [ 62 ], "vpns": [ 2 ] } ] } } ] } ],
+        "match_type": "exact",
+        "uses_dynamic_key_masks": false },
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870933,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "spoof_protection.drop_packet",
+          "handle": 536870932,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777232,
+      "name": "tbl_act_2",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 3,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 1,
+                "next_table_full": 64,
+                "action_name": "act_2",
+                "action_handle": 536870922,
+                "table_name": "punt_punt_table_0",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_2",
+          "handle": 536870922,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870922,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 16777233,
+      "name": "punt.punt_table",
+      "table_type": "match",
+      "size": 512,
+      "statistics_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 67108867,
+          "name": "punt.punt_packet_counter" } ],
+      "meter_table_refs": [
+        {
+          "how_referenced": "direct",
+          "handle": 83886081,
+          "name": "punt.ingress_port_meter" } ],
+      "match_attributes": {
+        "stage_tables": [
+          {
+            "stage_number": 4,
+            "size": 512,
+            "stage_table_type": "ternary_match",
+            "logical_table_id": 0,
+            "pack_format": [
+              {
+                "table_word_width": 564,
+                "memory_word_width": 47,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 12,
+                "entries": [
+                  {
+                    "entry_number": 0,
+                    "fields": [
+                      {
+                        "field_name": "--tcam_payload_11--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_11--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "arp.target_proto_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 32 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.egress_spec",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 11,
+                        "msb_mem_word_idx": 11,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_payload_10--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--version--",
+                        "lsb_mem_word_offset": 43,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "version",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "--tcam_parity_10--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 10,
+                        "msb_mem_word_idx": 10,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_9--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_9--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 24,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 9,
+                        "msb_mem_word_idx": 9,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 68,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_8--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_8--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 8,
+                        "msb_mem_word_idx": 8,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 16 },
+                      {
+                        "field_name": "--tcam_payload_7--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_7--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 80,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 7,
+                        "msb_mem_word_idx": 7,
+                        "source": "spec",
+                        "start_bit": 24,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 28,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_6--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_6--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 104,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.dst_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 120,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 6,
+                        "msb_mem_word_idx": 6,
+                        "source": "spec",
+                        "start_bit": 32,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_5--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_5--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 48,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 64,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 40,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 5,
+                        "msb_mem_word_idx": 5,
+                        "source": "spec",
+                        "start_bit": 112,
+                        "field_width": 4 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 116,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_4--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_4--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 88,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 96,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 72,
+                        "field_width": 16 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 4,
+                        "msb_mem_word_idx": 4,
+                        "source": "spec",
+                        "start_bit": 120,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_3--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_3--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.src_addr",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 104,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.traffic_class",
+                        "lsb_mem_word_offset": 21,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 3,
+                        "msb_mem_word_idx": 3,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 12 },
+                      {
+                        "field_name": "ethernet.ether_type",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 12,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_2--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_2--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 16,
+                        "field_width": 16 },
+                      {
+                        "field_name": "standard_metadata.egress_spec",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "local_metadata.vrf_id",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 8 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 2,
+                        "msb_mem_word_idx": 2,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "--tcam_payload_1--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_1--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "standard_metadata.ingress_port",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 1 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "vlan_tag$0.pcp",
+                        "lsb_mem_word_offset": 22,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 3 },
+                      {
+                        "field_name": "ipv4_base.diffserv",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "vlan_tag$0.vid",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 8,
+                        "field_width": 4 },
+                      {
+                        "field_name": "local_metadata.icmp_code",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 1,
+                        "msb_mem_word_idx": 1,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 4 },
+                      {
+                        "field_name": "local_metadata.icmp_code",
+                        "lsb_mem_word_offset": 41,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 4,
+                        "field_width": 4 },
+                      {
+                        "field_name": "--tcam_payload_0--",
+                        "lsb_mem_word_offset": 0,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "payload",
+                        "start_bit": 0,
+                        "field_width": 1 },
+                      {
+                        "field_name": "--tcam_parity_0--",
+                        "lsb_mem_word_offset": 45,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "parity",
+                        "start_bit": 0,
+                        "field_width": 2 },
+                      {
+                        "field_name": "ipv4_base.protocol",
+                        "lsb_mem_word_offset": 1,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv4_base.ttl",
+                        "lsb_mem_word_offset": 9,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.hop_limit",
+                        "lsb_mem_word_offset": 17,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "ipv6_base.next_header",
+                        "lsb_mem_word_offset": 25,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 },
+                      {
+                        "field_name": "local_metadata.class_id",
+                        "lsb_mem_word_offset": 33,
+                        "lsb_mem_word_idx": 0,
+                        "msb_mem_word_idx": 0,
+                        "source": "spec",
+                        "start_bit": 0,
+                        "field_width": 8 } ] } ] } ],
+            "memory_resource_allocation": {
+              "memory_type": "tcam",
+              "memory_units_and_vpns": [
+                {
+                  "memory_units": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ],
+                  "vpns": [ 0 ] } ],
+              "spare_bank_memory_unit": 11 },
+            "default_next_table": 255,
+            "ternary_indirection_stage_table": {
+              "stage_number": 4,
+              "stage_table_type": "ternary_indirection",
+              "size": 8192,
+              "pack_format": [
+                {
+                  "memory_word_width": 128,
+                  "table_word_width": 128,
+                  "entries_per_table_word": 8,
+                  "number_memory_units_per_table_word": 1,
+                  "entries": [
+                    {
+                      "entry_number": 7,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 124,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 112,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 114,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 6,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 108,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 96,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 98,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 5,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 92,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 80,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 82,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 4,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 76,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 64,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 66,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 3,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 60,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 48,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 50,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 2,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 44,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 32,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 34,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 1,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 28,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 16,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 18,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] },
+                    {
+                      "entry_number": 0,
+                      "fields": [
+                        {
+                          "start_bit": 0,
+                          "field_width": 4,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "zero",
+                          "lsb_mem_word_offset": 12,
+                          "field_name": "--padding_12_15--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 2,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "instr",
+                          "lsb_mem_word_offset": 0,
+                          "field_name": "--instruction_address--",
+                          "enable_pfe": false },
+                        {
+                          "start_bit": 0,
+                          "field_width": 10,
+                          "lsb_mem_word_idx": 0,
+                          "msb_mem_word_idx": 0,
+                          "source": "immediate",
+                          "lsb_mem_word_offset": 2,
+                          "field_name": "--immediate--",
+                          "enable_pfe": false } ] } ] } ],
+              "memory_resource_allocation": {
+                "memory_type": "sram",
+                "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
+                "spare_bank_memory_unit": 2 },
+              "action_format": [
+                {
+                  "next_table": 1,
+                  "next_table_full": 80,
+                  "action_name": "NoAction",
+                  "action_handle": 536870925,
+                  "table_name": "tbl_act_3",
+                  "vliw_instruction": 0,
+                  "vliw_instruction_full": 65,
+                  "immediate_fields": [] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "punt.set_queue_and_clone_to_cpu",
+                  "action_handle": 536870923,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 1,
+                  "vliw_instruction_full": 64,
+                  "immediate_fields": [
+                    {
+                      "param_name": "$constant0",
+                      "param_type": "constant",
+                      "const_value": 1023,
+                      "dest_start": 0,
+                      "dest_width": 10 } ] },
+                {
+                  "next_table": 0,
+                  "next_table_full": 255,
+                  "action_name": "punt.set_queue_and_send_to_cpu",
+                  "action_handle": 536870924,
+                  "table_name": "--END_OF_PIPELINE--",
+                  "vliw_instruction": 2,
+                  "vliw_instruction_full": 66,
+                  "immediate_fields": [
+                    {
+                      "param_name": "$constant0",
+                      "param_type": "constant",
+                      "const_value": 192,
+                      "dest_start": 0,
+                      "dest_width": 9 } ] } ] } } ],
+        "match_type": "ternary" },
+      "action_data_table_refs": [],
+      "selection_table_refs": [],
+      "actions": [
+        {
+          "name": "NoAction",
+          "handle": 536870925,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "punt.set_queue_and_clone_to_cpu",
+          "handle": 536870923,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "queue_id",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 5 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 },
+        {
+          "name": "punt.set_queue_and_send_to_cpu",
+          "handle": 536870924,
+          "indirect_resources": [],
+          "allowed_as_default_action": true,
+          "p4_parameters": [
+            {
+              "name": "queue_id",
+              "start_bit": 0,
+              "position": 0,
+              "bit_width": 5 } ],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870925,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [
+        {
+          "name": "standard_metadata.ingress_port",
+          "position": 0,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false },
+        {
+          "name": "standard_metadata.egress_spec",
+          "position": 1,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 9,
+          "bit_width_full": 9,
+          "is_valid": false },
+        {
+          "name": "ethernet.ether_type",
+          "position": 2,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 16,
+          "bit_width_full": 16,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.diffserv",
+          "position": 3,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.traffic_class",
+          "position": 4,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.ttl",
+          "position": 5,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.hop_limit",
+          "position": 6,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.src_addr",
+          "position": 7,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.dst_addr",
+          "position": 8,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.src_addr",
+          "position": 9,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.dst_addr",
+          "position": 10,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 128,
+          "bit_width_full": 128,
+          "is_valid": false },
+        {
+          "name": "ipv4_base.protocol",
+          "position": 11,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "ipv6_base.next_header",
+          "position": 12,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "arp.target_proto_addr",
+          "position": 13,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false },
+        {
+          "name": "local_metadata.icmp_code",
+          "position": 14,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.vid",
+          "position": 15,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 12,
+          "bit_width_full": 12,
+          "is_valid": false },
+        {
+          "name": "vlan_tag$0.pcp",
+          "position": 16,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 3,
+          "bit_width_full": 3,
+          "is_valid": false },
+        {
+          "name": "local_metadata.class_id",
+          "position": 17,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 8,
+          "bit_width_full": 8,
+          "is_valid": false },
+        {
+          "name": "local_metadata.vrf_id",
+          "position": 18,
+          "match_type": "ternary",
+          "start_bit": 0,
+          "bit_width": 32,
+          "bit_width_full": 32,
+          "is_valid": false } ],
+      "stateful_table_refs": [] },
+    {
+      "direction": "ingress",
+      "handle": 83886081,
+      "name": "punt.ingress_port_meter",
+      "table_type": "meter",
+      "size": 1024,
+      "stage_tables": [
+        {
+          "stage_number": 4,
+          "size": 1024,
+          "stage_table_type": "meter",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 1,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 90 ], "vpns": [ 0 ] },
+              { "memory_units": [ 91 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 91 },
+          "color_map_ram_resource_allocation": {
+            "memory_type": "map_ram",
+            "memory_units_and_vpns": [ { "memory_units": [ 44 ], "vpns": [ 0 ] } ] },
+          "meter_sweep_interval": 2,
+          "default_lower_huffman_bits_included": 7,
+          "meter_alu_index": 3 } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 14,
+      "how_referenced": "direct",
+      "meter_type": "standard",
+      "meter_granularity": "bytes",
+      "enable_color_aware": false,
+      "enable_color_aware_pfe": false,
+      "enable_pfe": false,
+      "pfe_bit_position": 14,
+      "color_aware_pfe_address_type_bit_position": 0 },
+    {
+      "direction": "ingress",
+      "handle": 67108867,
+      "name": "punt.punt_packet_counter",
+      "table_type": "statistics",
+      "size": 4096,
+      "stage_tables": [
+        {
+          "stage_number": 4,
+          "size": 4096,
+          "stage_table_type": "statistics",
+          "logical_table_id": 0,
+          "pack_format": [
+            {
+              "table_word_width": 128,
+              "memory_word_width": 128,
+              "entries_per_table_word": 4,
+              "number_memory_units_per_table_word": 1 } ],
+          "memory_resource_allocation": {
+            "memory_type": "sram",
+            "memory_units_and_vpns": [
+              { "memory_units": [ 78 ], "vpns": [ 0 ] },
+              { "memory_units": [ 79 ], "vpns": [ 1 ] } ],
+            "spare_bank_memory_unit": 79 } } ],
+      "enable_per_flow_enable": false,
+      "per_flow_enable_bit_position": 0,
+      "how_referenced": "direct",
+      "enable_pfe": false,
+      "pfe_bit_position": 0,
+      "byte_counter_resolution": 0,
+      "packet_counter_resolution": 32,
+      "statistics_type": "packets" },
+    {
+      "direction": "ingress",
+      "handle": 16777234,
+      "name": "tbl_act_3",
+      "table_type": "match",
+      "size": 1,
+      "stage_tables": [],
+      "statistics_table_refs": [],
+      "match_attributes": {
+        "match_type": "match_with_no_key",
+        "uses_dynamic_key_masks": false,
+        "stage_tables": [
+          {
+            "stage_number": 5,
+            "logical_table_id": 0,
+            "memory_resource_allocation": null,
+            "size": 1,
+            "stage_table_type": "match_with_no_key",
+            "default_next_table": 255,
+            "pack_format": [
+              {
+                "table_word_width": 0,
+                "memory_word_width": 0,
+                "entries_per_table_word": 1,
+                "number_memory_units_per_table_word": 0 } ],
+            "action_format": [
+              {
+                "next_table": 0,
+                "next_table_full": 255,
+                "action_name": "act_3",
+                "action_handle": 536870926,
+                "table_name": "--END_OF_PIPELINE--",
+                "vliw_instruction": 1,
+                "vliw_instruction_full": 64,
+                "immediate_fields": [] } ],
+            "hash_functions": [] } ] },
+      "preferred_match_type": "exact",
+      "actions": [
+        {
+          "name": "act_3",
+          "handle": 536870926,
+          "indirect_resources": [],
+          "allowed_as_default_action": false,
+          "disallowed_as_default_action_reason": "USES_HASH_DIST",
+          "p4_parameters": [],
+          "override_meter_addr": false,
+          "override_meter_addr_pfe": false,
+          "override_meter_full_addr": 0,
+          "override_stat_addr": false,
+          "override_stat_addr_pfe": false,
+          "override_stat_full_addr": 0,
+          "override_stateful_addr": false,
+          "override_stateful_addr_pfe": false,
+          "override_stateful_full_addr": 0 } ],
+      "default_action_handle": 536870926,
+      "action_profile": "",
+      "default_next_table_mask": 0,
+      "ap_bind_indirect_res_to_match": [],
+      "is_resource_controllable": true,
+      "uses_range": false,
+      "match_key_fields": [],
+      "performs_hash_action": false,
+      "meter_table_refs": [],
+      "selection_table_refs": [],
+      "stateful_table_refs": [],
+      "action_data_table_refs": [] } ],
+  "configuration_cache": [
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[0]",
+      "name": "parser0_chnl_ctrl_0",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[1]",
+      "name": "parser0_chnl_ctrl_1",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[2]",
+      "name": "parser0_chnl_ctrl_2",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[3]",
+      "name": "parser0_chnl_ctrl_3",
+      "value": "00a40000" },
+    {
+      "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.multi_threading",
+      "name": "parser0_multi_threading",
+      "value": "19522020" },
+    {
+      "fully_qualified_name": "mau[0].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_0_match_input_xbar_din_power_ctl",
+      "value": "0000000000000000000000000000000000000000000000080000000000000000000000000000000000000031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[0].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_0_parity_group_mask",
+      "value": "00000001000000000000000200000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_1_match_input_xbar_din_power_ctl",
+      "value": "0000000f0000000c000000000000000000000079000000120000000800000000000000f80000007b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[1].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_1_parity_group_mask",
+      "value": "00000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_2_match_input_xbar_din_power_ctl",
+      "value": "0000000000000019000000000000000000000020000000040000000600000000000000000000001800000060000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
+      "name": "stage_2_parity_group_mask",
+      "value": "00000000000000000000000000000000000000300000000000000040000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_3_match_input_xbar_din_power_ctl",
+      "value": "0000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[4].rams.match.adrdist.meter_sweep_ctl[3]",
+      "name": "stage_4_meter_sweep_ctl_3",
+      "value": "00040000" },
+    {
+      "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_4_match_input_xbar_din_power_ctl",
+      "value": "000000ff0000001f00000000000000000000007f000000000000000000000000000000010000006200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" },
+    {
+      "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
+      "name": "stage_5_match_input_xbar_din_power_ctl",
+      "value": "0000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" } ] }
\ No newline at end of file
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/montara/p4_name_lookup.json b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/p4_name_lookup.json
new file mode 100644
index 0000000..9929b75
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/p4_name_lookup.json
@@ -0,0 +1,2112 @@
+{
+  "directions": {
+    "0": {
+      "parser_states": {
+        "0": "$ingress_metadata_shim",
+        "1": "$ingress_metadata",
+        "2": "$phase0",
+        "3": "start",
+        "4": "parse_cpu_header",
+        "5": "parse_ethernet",
+        "6": "parse_ethernet.$split",
+        "7": "parse_vlan",
+        "8": "parse_vlan.0",
+        "9": "parse_ipv4",
+        "10": "parse_ipv4.$split",
+        "11": "parse_icmp",
+        "12": "parse_ipv4.$split.0",
+        "13": "parse_tcp",
+        "14": "parse_tcp.$split",
+        "15": "parse_ipv4.$split.1",
+        "16": "parse_udp",
+        "17": "parse_udp.$split",
+        "18": "parse_ipv4.$split.2",
+        "19": "parse_ipv6",
+        "20": "parse_ipv6.$split",
+        "21": "parse_ipv6.$split.0",
+        "22": "parse_ipv6.$split.1",
+        "23": "parse_ipv6.$split.2",
+        "24": "parse_ipv6.$split.3",
+        "25": "parse_ipv6.$split.4",
+        "26": "parse_ipv6.$split.5",
+        "27": "parse_ipv6.$split.6",
+        "28": "parse_vlan.5",
+        "29": "parse_vlan.10",
+        "30": "parse_vlan.15",
+        "31": "parse_ethernet.$split.0",
+        "32": "parse_ethernet.$split.1",
+        "33": "parse_ethernet.$split.2",
+        "34": "parse_ethernet.$split.3",
+        "35": "parse_ethernet.$split.4",
+        "36": "parse_ethernet.$split.5",
+        "37": "parse_arp",
+        "38": "parse_arp.$split",
+        "39": "parse_arp.$split.0",
+        "40": "parse_ethernet.$split.6" } },
+    "1": {
+      "parser_states": {
+        "0": "$egress_metadata_shim",
+        "1": "$bridge_metadata_extract",
+        "2": "start",
+        "3": "parse_cpu_header",
+        "4": "parse_ethernet",
+        "5": "parse_ethernet.$split",
+        "6": "parse_vlan",
+        "7": "parse_vlan.0",
+        "8": "parse_ipv4",
+        "9": "parse_ipv4.$split",
+        "10": "parse_icmp",
+        "11": "parse_ipv4.$split.0",
+        "12": "parse_tcp",
+        "13": "parse_tcp.$split",
+        "14": "parse_tcp.$split.0",
+        "15": "parse_ipv4.$split.1",
+        "16": "parse_udp",
+        "17": "parse_ipv4.$split.2",
+        "18": "parse_ipv6",
+        "19": "parse_ipv6.$split",
+        "20": "parse_ipv6.$split.0",
+        "21": "parse_ipv6.$split.1",
+        "22": "parse_ipv6.$split.2",
+        "23": "parse_ipv6.$split.3",
+        "24": "parse_ipv6.$split.4",
+        "25": "parse_ipv6.$split.5",
+        "26": "parse_ipv6.$split.6",
+        "27": "parse_vlan.5",
+        "28": "parse_vlan.10",
+        "29": "parse_vlan.15",
+        "30": "parse_ethernet.$split.0",
+        "31": "parse_ethernet.$split.1",
+        "32": "parse_ethernet.$split.2",
+        "33": "parse_ethernet.$split.3",
+        "34": "parse_ethernet.$split.4",
+        "35": "parse_ethernet.$split.5",
+        "36": "parse_arp",
+        "37": "parse_arp.$split",
+        "38": "parse_arp.$split.0",
+        "39": "parse_ethernet.$split.6" } } },
+  "stages": {
+    "0": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act",
+          "actions": { "act_1": { "direction": 0, "primitives": [] } } },
+        "2": {},
+        "1": {
+          "table_name": "tbl_act_4",
+          "actions": { "act_5": { "direction": 1, "primitives": [] } } },
+        "3": {
+          "table_name": "tbl_packetio_egress_encap_packet_in_header",
+          "actions": {
+            "packetio_egress.encap_packet_in_header": { "direction": 3, "primitives": [] } } },
+        "4": {
+          "table_name": "tbl_act_6",
+          "actions": { "act_6": { "direction": 4, "primitives": [] } } },
+        "5": {
+          "table_name": "tbl_act_5",
+          "actions": { "act_4": { "direction": 5, "primitives": [] } } } } },
+    "1": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act_0",
+          "actions": { "act": { "direction": 0, "primitives": [] } } },
+        "2": {
+          "table_name": "tbl_act_1",
+          "actions": { "act_0": { "direction": 2, "primitives": [] } } },
+        "3": {
+          "table_name": "vrf.vrf_classifier_table",
+          "actions": { "vrf.set_vrf": { "direction": 3, "primitives": [] } } },
+        "4": {
+          "table_name": "class_id.class_id_assignment_table",
+          "actions": { "class_id.set_class_id": { "direction": 4, "primitives": [] } } },
+        "5": {
+          "table_name": "l3_fwd.l3_routing_classifier_table",
+          "actions": { "NoAction": { "direction": 5, "primitives": [] } } },
+        "1": {
+          "table_name": "tbl_act_7",
+          "actions": { "act_7": { "direction": 1, "primitives": [] } } } } },
+    "2": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": { "table_name": "l3_fwd.l3_ipv4_override_table", "actions": {} },
+        "1": { "table_name": "l3_fwd.l3_ipv4_vrf_table", "actions": {} },
+        "2": { "table_name": "l3_fwd.l3_ipv4_fallback_table", "actions": {} },
+        "3": {},
+        "4": {
+          "table_name": "spoof_protection.dhcp_spoof_protection_table",
+          "actions": {
+            "NoAction": { "direction": 4, "primitives": [] },
+            "spoof_protection.drop_packet": { "direction": 4, "primitives": [] } } } } },
+    "3": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act_2",
+          "actions": { "act_2": { "direction": 0, "primitives": [] } } } } },
+    "4": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "punt.punt_table",
+          "actions": {
+            "NoAction": { "direction": 0, "primitives": [] },
+            "punt.set_queue_and_clone_to_cpu": { "direction": 0, "primitives": [] },
+            "punt.set_queue_and_send_to_cpu": { "direction": 0, "primitives": [] } } } } },
+    "5": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {
+        "0": {
+          "table_name": "tbl_act_3",
+          "actions": { "act_3": { "direction": 0, "primitives": [] } } } } },
+    "6": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "7": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "8": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "9": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "10": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} },
+    "11": {
+      "containers": {
+        "0": "I [ipv6_base.dst_addr.0-31]",
+        "1": "I [ipv6_base.dst_addr.32-63]",
+        "2": "I [ipv6_base.dst_addr.64-95]",
+        "3": "I [ipv6_base.dst_addr.96-127]",
+        "4": "I [ipv6_base.src_addr.0-31]",
+        "5": "I [ipv6_base.src_addr.32-63]",
+        "6": "I [ipv6_base.src_addr.64-95]",
+        "7": "I [ipv6_base.src_addr.96-127]",
+        "8": "I [local_metadata.vrf_id]",
+        "9": "I [arp.target_proto_addr]",
+        "10": "I [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "11": "I [ipv4_base.dst_addr]",
+        "12": "I [ipv4_base.src_addr]",
+        "64": "I [ipv4_base.ttl]",
+        "65": "I [local_metadata.icmp_code]",
+        "66": "I [local_metadata.class_id]",
+        "67": "I [ipv6_base.hop_limit]",
+        "68": "I [ipv6_base.next_header]",
+        "69": "I [ipv4_base.protocol]",
+        "70": "I [ipv4_base.diffserv]",
+        "71": "I [$mirror]",
+        "72": "I [local_metadata.skip_egress]",
+        "73": "I [hasExited]",
+        "74": "I [ipv4_base.$valid]",
+        "75": "I [packet_out.$valid]",
+        "76": "I [packet_out.submit_to_ingress]",
+        "77": "I [local_metadata.color]",
+        "80": "E [packet_in.$valid]",
+        "81": "E [hasExited_0]",
+        "82": "E [udp.$valid]",
+        "83": "E [local_metadata.skip_egress]",
+        "84": "E [arp.proto_addr_len]",
+        "85": "E [arp.hw_addr_len]",
+        "86": "E [ipv6_base.hop_limit]",
+        "87": "E [ipv6_base.next_header]",
+        "88": "E [tcp.flags]",
+        "89": "E [tcp.data_offset, tcp.res]",
+        "90": "E [icmp_header.code]",
+        "91": "E [icmp_header.icmp_type]",
+        "92": "E [ipv4_base.protocol]",
+        "93": "E [ipv4_base.ttl]",
+        "94": "E [ipv4_base.diffserv]",
+        "95": "E [ipv4_base.version, ipv4_base.ihl]",
+        "128": "I [standard_metadata.egress_spec]",
+        "129": "I [packet_out.egress_physical_port]",
+        "130": "I [local_metadata.egress_spec_at_punt_match, arp.$valid]",
+        "131": "I [ethernet.src_addr.0-15]",
+        "132": "I [ethernet.src_addr.16-31]",
+        "133": "I [ethernet.src_addr.32-47]",
+        "134": "I [ethernet.dst_addr.0-15]",
+        "135": "I [ethernet.dst_addr.16-31]",
+        "136": "I [ethernet.dst_addr.32-47]",
+        "137": "I [standard_metadata.ingress_port, $always_deparse, vlan_tag$1.$valid]",
+        "138": "I [$mirror_id, ethernet.$valid, icmp_header.$valid, ipv6_base.$valid, tcp.$valid, udp.$valid, vlan_tag$0.$valid]",
+        "139": "I [local_metadata.l4_dst_port]",
+        "140": "I [local_metadata.l4_src_port]",
+        "141": "I [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "142": "I [ethernet.ether_type]",
+        "144": "E [standard_metadata.egress_port]",
+        "145": "E [packet_in.target_egress_port, packet_in.padding2]",
+        "146": "E [local_metadata.egress_spec_at_punt_match]",
+        "147": "E [packet_in.ingress_physical_port, packet_in.padding1]",
+        "148": "E [standard_metadata.ingress_port, vlan_tag$1.$valid]",
+        "149": "E [standard_metadata.egress_spec, arp.$valid, ethernet.$valid, icmp_header.$valid, ipv4_base.$valid, ipv6_base.$valid, tcp.$valid, vlan_tag$0.$valid]",
+        "150": "E [local_metadata.l4_dst_port]",
+        "158": "E [vlan_tag$0.ether_type]",
+        "159": "E [ethernet.ether_type]",
+        "256": "I [arp.sender_proto_addr]",
+        "257": "I [tcp.ack_no]",
+        "258": "I [tcp.seq_no]",
+        "272": "E [ipv6_base.dst_addr.0-31]",
+        "273": "E [ipv6_base.dst_addr.32-63]",
+        "274": "E [ipv6_base.dst_addr.64-95]",
+        "275": "E [ipv6_base.dst_addr.96-127]",
+        "276": "E [ipv6_base.src_addr.0-31]",
+        "277": "E [ipv6_base.src_addr.32-63]",
+        "278": "E [ipv6_base.src_addr.64-95]",
+        "279": "E [ipv6_base.src_addr.96-127]",
+        "280": "E [ipv6_base.version, ipv6_base.traffic_class, ipv6_base.flow_label]",
+        "281": "E [packet_in.ingress_logical_port]",
+        "282": "E [arp.target_proto_addr]",
+        "283": "E [arp.sender_proto_addr]",
+        "284": "E [tcp.ack_no]",
+        "285": "E [tcp.seq_no]",
+        "286": "E [ipv4_base.dst_addr]",
+        "287": "E [ipv4_base.src_addr]",
+        "288": "I [vlan_tag$1.ether_type.0-7]",
+        "289": "I [vlan_tag$1.ether_type.8-15]",
+        "290": "I [vlan_tag$0.ether_type.0-7]",
+        "291": "I [vlan_tag$0.ether_type.8-15]",
+        "292": "I [tcp.data_offset, tcp.res]",
+        "293": "I [ipv4_base.version, ipv4_base.ihl]",
+        "294": "I [arp.proto_addr_len]",
+        "295": "I [arp.hw_addr_len]",
+        "296": "I [tcp.flags]",
+        "297": "I [icmp_header.code]",
+        "298": "I [icmp_header.icmp_type]",
+        "304": "E [tcp.checksum.0-7]",
+        "305": "E [tcp.checksum.8-15]",
+        "306": "E [tcp.window.0-7]",
+        "307": "E [tcp.window.8-15]",
+        "308": "E [tcp.dst_port.0-7]",
+        "309": "E [tcp.dst_port.8-15]",
+        "310": "E [tcp.src_port.0-7]",
+        "311": "E [tcp.src_port.8-15]",
+        "312": "E [icmp_header.checksum.0-7]",
+        "313": "E [icmp_header.checksum.8-15]",
+        "314": "E [ipv4_base.identification.0-7]",
+        "315": "E [ipv4_base.identification.8-15]",
+        "316": "E [ipv4_base.total_len.0-7]",
+        "317": "E [ipv4_base.total_len.8-15]",
+        "318": "E [vlan_tag$1.ether_type.0-7]",
+        "319": "E [vlan_tag$1.ether_type.8-15]",
+        "320": "I [arp.target_hw_addr.0-15]",
+        "321": "I [arp.target_hw_addr.16-31]",
+        "322": "I [arp.target_hw_addr.32-47]",
+        "323": "I [arp.sender_hw_addr.0-15]",
+        "324": "I [arp.sender_hw_addr.16-31]",
+        "325": "I [arp.sender_hw_addr.32-47]",
+        "326": "I [ipv4_base.flags, ipv4_base.frag_offset]",
+        "327": "I [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "328": "I [arp.opcode]",
+        "329": "I [arp.proto_type]",
+        "330": "I [arp.hw_type]",
+        "331": "I [ipv6_base.payload_length]",
+        "332": "I [udp.checksum]",
+        "333": "I [udp.hdr_length]",
+        "334": "I [udp.dst_port]",
+        "335": "I [udp.src_port]",
+        "336": "I [tcp.urgent_ptr]",
+        "337": "I [tcp.checksum]",
+        "338": "I [tcp.window]",
+        "339": "I [tcp.dst_port]",
+        "340": "I [tcp.src_port]",
+        "341": "I [icmp_header.checksum]",
+        "342": "I [ipv4_base.identification]",
+        "343": "I [ipv4_base.total_len]",
+        "344": "E [arp.target_hw_addr.0-15]",
+        "345": "E [arp.target_hw_addr.16-31]",
+        "346": "E [arp.target_hw_addr.32-47]",
+        "347": "E [arp.sender_hw_addr.0-15]",
+        "348": "E [arp.sender_hw_addr.16-31]",
+        "349": "E [arp.sender_hw_addr.32-47]",
+        "350": "E [ethernet.src_addr.0-15]",
+        "351": "E [ethernet.src_addr.16-31]",
+        "352": "E [ethernet.src_addr.32-47]",
+        "353": "E [ethernet.dst_addr.0-15]",
+        "354": "E [ethernet.dst_addr.16-31]",
+        "355": "E [ethernet.dst_addr.32-47]",
+        "356": "E [ipv4_base.flags, ipv4_base.frag_offset]",
+        "357": "E [vlan_tag$1.pcp, vlan_tag$1.cfi, vlan_tag$1.vid]",
+        "358": "E [vlan_tag$0.pcp, vlan_tag$0.cfi, vlan_tag$0.vid]",
+        "359": "E [arp.opcode]",
+        "360": "E [arp.proto_type]",
+        "361": "E [arp.hw_type]",
+        "362": "E [ipv6_base.payload_length]",
+        "363": "E [udp.checksum]",
+        "364": "E [udp.hdr_length]",
+        "365": "E [udp.dst_port]",
+        "366": "E [udp.src_port]",
+        "367": "E [tcp.urgent_ptr]" },
+      "logical_tables": {} } } }
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/montara/tofino.bin b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/tofino.bin
new file mode 100644
index 0000000..f8ad94b
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/tor/p4c-out/tofino/tor/montara/tor.p4info b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/tor.p4info
new file mode 100644
index 0000000..44c994b
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tofino/tor/montara/tor.p4info
@@ -0,0 +1,672 @@
+tables {
+  preamble {
+    id: 33619357
+    name: "vrf.vrf_classifier_table"
+    alias: "vrf_classifier_table"
+    annotations: "@proto_package(\"vrf\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ethernet.src_addr"
+    annotations: "@proto_tag(2)"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ipv4_base.diffserv"
+    annotations: "@proto_tag(3)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(4)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "standard_metadata.ingress_port"
+    annotations: "@proto_tag(5)"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv6_base.traffic_class"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(7)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16793447
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16793447
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33592054
+    name: "class_id.class_id_assignment_table"
+    alias: "class_id_assignment_table"
+    annotations: "@proto_package(\"class_id\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ipv4_base.ttl"
+    annotations: "@proto_tag(2)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ipv6_base.hop_limit"
+    annotations: "@proto_tag(3)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(4)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(5)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv4_base.protocol"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.next_header"
+    annotations: "@proto_tag(7)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "local_metadata.l4_src_port"
+    annotations: "@proto_tag(8)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "local_metadata.l4_dst_port"
+    annotations: "@proto_tag(9)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "hdr.vlan_tag[0].vid"
+    annotations: "@proto_tag(10)"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "hdr.vlan_tag[0].pcp"
+    annotations: "@proto_tag(11)"
+    bitwidth: 3
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16778630
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16778630
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33568218
+    name: "l3_fwd.l3_routing_classifier_table"
+    alias: "l3_routing_classifier_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 48
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16800567
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33575570
+    name: "l3_fwd.l3_ipv4_override_table"
+    alias: "l3_ipv4_override_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33581631
+    name: "l3_fwd.l3_ipv4_vrf_table"
+    alias: "l3_ipv4_vrf_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "local_metadata.vrf_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(2)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33572896
+    name: "l3_fwd.l3_ipv4_fallback_table"
+    alias: "l3_ipv4_fallback_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33613201
+    name: "punt.punt_table"
+    alias: "punt_table"
+    annotations: "@proto_package(\"punt\")"
+  }
+  match_fields {
+    id: 1
+    name: "standard_metadata.ingress_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "standard_metadata.egress_spec"
+    annotations: "@proto_tag(2)"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(3)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.diffserv"
+    annotations: "@proto_tag(4)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "hdr.ipv6_base.traffic_class"
+    annotations: "@proto_tag(5)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv4_base.ttl"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.hop_limit"
+    annotations: "@proto_tag(7)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "hdr.ipv4_base.src_addr"
+    annotations: "@proto_tag(8)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(9)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "hdr.ipv6_base.src_addr"
+    annotations: "@proto_tag(10)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(11)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 12
+    name: "hdr.ipv4_base.protocol"
+    annotations: "@proto_tag(12)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 13
+    name: "hdr.ipv6_base.next_header"
+    annotations: "@proto_tag(13)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 14
+    name: "hdr.arp.target_proto_addr"
+    annotations: "@proto_tag(14)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 15
+    name: "local_metadata.icmp_code"
+    annotations: "@proto_tag(15)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 16
+    name: "hdr.vlan_tag[0].vid"
+    annotations: "@proto_tag(16)"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 17
+    name: "hdr.vlan_tag[0].pcp"
+    annotations: "@proto_tag(17)"
+    bitwidth: 3
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 18
+    name: "local_metadata.class_id"
+    annotations: "@proto_tag(18)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 19
+    name: "local_metadata.vrf_id"
+    annotations: "@proto_tag(19)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16819104
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16784911
+    annotations: "@proto_tag(2)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 302050023
+  direct_resource_ids: 318814206
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33594375
+    name: "spoof_protection.dhcp_spoof_protection_table"
+    alias: "dhcp_spoof_protection_table"
+    annotations: "@proto_package(\"spoof_protection\")"
+  }
+  match_fields {
+    id: 1
+    name: "local_metadata.l4_dst_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "standard_metadata.egress_spec"
+    annotations: "@proto_tag(2)"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16827294
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  size: 1024
+}
+actions {
+  preamble {
+    id: 16800567
+    name: "NoAction"
+    alias: "NoAction"
+  }
+}
+actions {
+  preamble {
+    id: 16793447
+    name: "vrf.set_vrf"
+    alias: "set_vrf"
+    annotations: "@proto_package(\"vrf\")"
+  }
+  params {
+    id: 1
+    name: "vrf_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16778630
+    name: "class_id.set_class_id"
+    alias: "set_class_id"
+    annotations: "@proto_package(\"class_id\")"
+  }
+  params {
+    id: 1
+    name: "class_id_value"
+    annotations: "@proto_tag(1)"
+    bitwidth: 8
+  }
+}
+actions {
+  preamble {
+    id: 16779406
+    name: "l3_fwd.set_nexthop"
+    alias: "set_nexthop"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  params {
+    id: 1
+    name: "port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  params {
+    id: 2
+    name: "smac"
+    annotations: "@proto_tag(2)"
+    bitwidth: 48
+  }
+  params {
+    id: 3
+    name: "dmac"
+    annotations: "@proto_tag(3)"
+    bitwidth: 48
+  }
+}
+actions {
+  preamble {
+    id: 16819104
+    name: "punt.set_queue_and_clone_to_cpu"
+    alias: "set_queue_and_clone_to_cpu"
+    annotations: "@proto_package(\"punt\")"
+  }
+  params {
+    id: 1
+    name: "queue_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 16784911
+    name: "punt.set_queue_and_send_to_cpu"
+    alias: "set_queue_and_send_to_cpu"
+    annotations: "@proto_package(\"punt\")"
+  }
+  params {
+    id: 1
+    name: "queue_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 16792485
+    name: "packetio_egress.encap_packet_in_header"
+    alias: "encap_packet_in_header"
+  }
+}
+actions {
+  preamble {
+    id: 16827294
+    name: "spoof_protection.drop_packet"
+    alias: "drop_packet"
+    annotations: "@proto_package(\"spoof_protection\")"
+  }
+}
+action_profiles {
+  preamble {
+    id: 285270769
+    name: "l3_fwd.wcmp_action_profile"
+    alias: "wcmp_action_profile"
+  }
+  table_ids: 33572896
+  table_ids: 33575570
+  table_ids: 33581631
+  with_selector: true
+  size: 1024
+}
+counters {
+  preamble {
+    id: 302001476
+    name: "packetio_egress.egress_port_counter"
+    alias: "egress_port_counter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 510
+}
+counters {
+  preamble {
+    id: 302037457
+    name: "packetio_egress.ingress_port_counter"
+    alias: "ingress_port_counter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 510
+}
+direct_counters {
+  preamble {
+    id: 302050023
+    name: "punt.punt_packet_counter"
+    alias: "punt_packet_counter"
+    annotations: "@proto_package(\"punt\")"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 33613201
+}
+direct_meters {
+  preamble {
+    id: 318814206
+    name: "punt.ingress_port_meter"
+    alias: "ingress_port_meter"
+    annotations: "@proto_package(\"punt\")"
+  }
+  spec {
+    unit: BYTES
+  }
+  direct_table_id: 33613201
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868941301
+    name: "packet_in"
+    annotations: "@controller_header(\"packet_in\")"
+  }
+  metadata {
+    id: 1
+    name: "ingress_physical_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 2
+    name: "padding1"
+    annotations: "@proto_tag(4)"
+    bitwidth: 7
+  }
+  metadata {
+    id: 3
+    name: "ingress_logical_port"
+    annotations: "@proto_tag(2)"
+    bitwidth: 32
+  }
+  metadata {
+    id: 4
+    name: "target_egress_port"
+    annotations: "@proto_tag(3)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 5
+    name: "padding2"
+    annotations: "@proto_tag(5)"
+    bitwidth: 7
+  }
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868916615
+    name: "packet_out"
+    annotations: "@not_extracted_in_egress()"
+    annotations: "@controller_header(\"packet_out\")"
+  }
+  metadata {
+    id: 1
+    name: "egress_physical_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 2
+    name: "submit_to_ingress"
+    annotations: "@proto_tag(2)"
+    bitwidth: 1
+  }
+  metadata {
+    id: 3
+    name: "padding"
+    annotations: "@proto_tag(3)"
+    bitwidth: 6
+  }
+}
diff --git a/tools/test/p4src/tor/p4c-out/tor.json b/tools/test/p4src/tor/p4c-out/tor.json
new file mode 100644
index 0000000..e48c28b
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tor.json
@@ -0,0 +1,3176 @@
+{
+  "program" : "tor.p4",
+  "__meta__" : {
+    "version" : [2, 7],
+    "compiler" : "https://github.com/p4lang/p4c"
+  },
+  "header_types" : [
+    {
+      "name" : "scalars_0",
+      "id" : 0,
+      "fields" : [
+        ["tmp_1", 21, false],
+        ["tmp", 16, false],
+        ["l3_fwd_tmp_2", 1, false],
+        ["l3_fwd_tmp_3", 1, false],
+        ["l3_fwd_tmp_4", 1, false],
+        ["tmp_2", 32, false],
+        ["tmp_3", 32, false],
+        ["local_metadata_t.vrf_id", 32, false],
+        ["local_metadata_t.class_id", 8, false],
+        ["local_metadata_t.cpu_cos_queue_id", 5, false],
+        ["local_metadata_t.skip_egress", 1, false],
+        ["local_metadata_t.egress_spec_at_punt_match", 9, false],
+        ["local_metadata_t.color", 2, false],
+        ["local_metadata_t.l4_src_port", 16, false],
+        ["local_metadata_t.l4_dst_port", 16, false],
+        ["local_metadata_t.icmp_code", 8, false],
+        ["_padding_0", 7, false]
+      ]
+    },
+    {
+      "name" : "ethernet_t",
+      "id" : 1,
+      "fields" : [
+        ["dst_addr", 48, false],
+        ["src_addr", 48, false],
+        ["ether_type", 16, false]
+      ]
+    },
+    {
+      "name" : "ipv4_base_t",
+      "id" : 2,
+      "fields" : [
+        ["version", 4, false],
+        ["ihl", 4, false],
+        ["diffserv", 8, 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" : "ipv6_base_t",
+      "id" : 3,
+      "fields" : [
+        ["version", 4, false],
+        ["traffic_class", 8, false],
+        ["flow_label", 20, false],
+        ["payload_length", 16, false],
+        ["next_header", 8, false],
+        ["hop_limit", 8, false],
+        ["src_addr", 128, false],
+        ["dst_addr", 128, false]
+      ]
+    },
+    {
+      "name" : "icmp_header_t",
+      "id" : 4,
+      "fields" : [
+        ["icmp_type", 8, false],
+        ["code", 8, false],
+        ["checksum", 16, false]
+      ]
+    },
+    {
+      "name" : "tcp_t",
+      "id" : 5,
+      "fields" : [
+        ["src_port", 16, false],
+        ["dst_port", 16, false],
+        ["seq_no", 32, false],
+        ["ack_no", 32, false],
+        ["data_offset", 4, false],
+        ["res", 4, false],
+        ["flags", 8, false],
+        ["window", 16, false],
+        ["checksum", 16, false],
+        ["urgent_ptr", 16, false]
+      ]
+    },
+    {
+      "name" : "udp_t",
+      "id" : 6,
+      "fields" : [
+        ["src_port", 16, false],
+        ["dst_port", 16, false],
+        ["hdr_length", 16, false],
+        ["checksum", 16, false]
+      ]
+    },
+    {
+      "name" : "arp_t",
+      "id" : 7,
+      "fields" : [
+        ["hw_type", 16, false],
+        ["proto_type", 16, false],
+        ["hw_addr_len", 8, false],
+        ["proto_addr_len", 8, false],
+        ["opcode", 16, false],
+        ["sender_hw_addr", 48, false],
+        ["sender_proto_addr", 32, false],
+        ["target_hw_addr", 48, false],
+        ["target_proto_addr", 32, false]
+      ]
+    },
+    {
+      "name" : "packet_in_header_t",
+      "id" : 8,
+      "fields" : [
+        ["ingress_physical_port", 9, false],
+        ["padding1", 7, false],
+        ["ingress_logical_port", 32, false],
+        ["target_egress_port", 9, false],
+        ["padding2", 7, false]
+      ]
+    },
+    {
+      "name" : "packet_out_header_t",
+      "id" : 9,
+      "fields" : [
+        ["egress_physical_port", 9, false],
+        ["submit_to_ingress", 1, false],
+        ["padding", 6, false]
+      ]
+    },
+    {
+      "name" : "vlan_tag_t",
+      "id" : 10,
+      "fields" : [
+        ["pcp", 3, false],
+        ["cfi", 1, false],
+        ["vid", 12, false],
+        ["ether_type", 16, false]
+      ]
+    },
+    {
+      "name" : "standard_metadata",
+      "id" : 11,
+      "fields" : [
+        ["ingress_port", 9, false],
+        ["egress_spec", 9, false],
+        ["egress_port", 9, false],
+        ["clone_spec", 32, false],
+        ["instance_type", 32, false],
+        ["drop", 1, false],
+        ["recirculate_port", 16, false],
+        ["packet_length", 32, false],
+        ["enq_timestamp", 32, false],
+        ["enq_qdepth", 19, false],
+        ["deq_timedelta", 32, false],
+        ["deq_qdepth", 19, false],
+        ["ingress_global_timestamp", 48, false],
+        ["lf_field_list", 32, false],
+        ["mcast_grp", 16, false],
+        ["resubmit_flag", 1, false],
+        ["egress_rid", 16, false],
+        ["_padding", 5, false]
+      ]
+    }
+  ],
+  "headers" : [
+    {
+      "name" : "scalars",
+      "id" : 0,
+      "header_type" : "scalars_0",
+      "metadata" : true,
+      "pi_omit" : true
+    },
+    {
+      "name" : "standard_metadata",
+      "id" : 1,
+      "header_type" : "standard_metadata",
+      "metadata" : true,
+      "pi_omit" : true
+    },
+    {
+      "name" : "ethernet",
+      "id" : 2,
+      "header_type" : "ethernet_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "ipv4_base",
+      "id" : 3,
+      "header_type" : "ipv4_base_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "ipv6_base",
+      "id" : 4,
+      "header_type" : "ipv6_base_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "icmp_header",
+      "id" : 5,
+      "header_type" : "icmp_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "tcp",
+      "id" : 6,
+      "header_type" : "tcp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "udp",
+      "id" : 7,
+      "header_type" : "udp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "arp",
+      "id" : 8,
+      "header_type" : "arp_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "packet_in",
+      "id" : 9,
+      "header_type" : "packet_in_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "packet_out",
+      "id" : 10,
+      "header_type" : "packet_out_header_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "vlan_tag[0]",
+      "id" : 11,
+      "header_type" : "vlan_tag_t",
+      "metadata" : false,
+      "pi_omit" : true
+    },
+    {
+      "name" : "vlan_tag[1]",
+      "id" : 12,
+      "header_type" : "vlan_tag_t",
+      "metadata" : false,
+      "pi_omit" : true
+    }
+  ],
+  "header_stacks" : [
+    {
+      "name" : "vlan_tag",
+      "id" : 0,
+      "header_type" : "vlan_tag_t",
+      "size" : 2,
+      "header_ids" : [11, 12]
+    }
+  ],
+  "header_union_types" : [],
+  "header_unions" : [],
+  "header_union_stacks" : [],
+  "field_lists" : [
+    {
+      "id" : 0,
+      "name" : "fl",
+      "elements" : [
+        {
+          "type" : "field",
+          "value" : ["standard_metadata", "ingress_port"]
+        }
+      ]
+    }
+  ],
+  "errors" : [
+    ["NoError", 1],
+    ["PacketTooShort", 2],
+    ["NoMatch", 3],
+    ["StackOutOfBounds", 4],
+    ["HeaderTooShort", 5],
+    ["ParserTimeout", 6]
+  ],
+  "enums" : [],
+  "parsers" : [
+    {
+      "name" : "parser",
+      "id" : 0,
+      "init_state" : "start",
+      "parse_states" : [
+        {
+          "name" : "start",
+          "id" : 0,
+          "parser_ops" : [],
+          "transitions" : [
+            {
+              "value" : "0x00ff",
+              "mask" : null,
+              "next_state" : "parse_cpu_header"
+            },
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : "parse_ethernet"
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "ingress_port"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_ethernet",
+          "id" : 1,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "ethernet"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "0x8100",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x9100",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x9200",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x9300",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x0800",
+              "mask" : null,
+              "next_state" : "parse_ipv4"
+            },
+            {
+              "value" : "0x86dd",
+              "mask" : null,
+              "next_state" : "parse_ipv6"
+            },
+            {
+              "value" : "0x0806",
+              "mask" : null,
+              "next_state" : "parse_arp"
+            },
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "ether_type"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_vlan",
+          "id" : 2,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "stack",
+                  "value" : "vlan_tag"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "0x8100",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x9100",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x9200",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x9300",
+              "mask" : null,
+              "next_state" : "parse_vlan"
+            },
+            {
+              "value" : "0x0800",
+              "mask" : null,
+              "next_state" : "parse_ipv4"
+            },
+            {
+              "value" : "0x86dd",
+              "mask" : null,
+              "next_state" : "parse_ipv6"
+            },
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "stack_field",
+              "value" : ["vlan_tag", "ether_type"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_ipv4",
+          "id" : 3,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "ipv4_base"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "tmp_1"]
+                },
+                {
+                  "type" : "expression",
+                  "value" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "|",
+                      "left" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "<<",
+                              "left" : {
+                                "type" : "expression",
+                                "value" : {
+                                  "op" : "&",
+                                  "left" : {
+                                    "type" : "field",
+                                    "value" : ["ipv4_base", "frag_offset"]
+                                  },
+                                  "right" : {
+                                    "type" : "hexstr",
+                                    "value" : "0x1fffff"
+                                  }
+                                }
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x8"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x1fffff"
+                          }
+                        }
+                      },
+                      "right" : {
+                        "type" : "expression",
+                        "value" : {
+                          "op" : "&",
+                          "left" : {
+                            "type" : "expression",
+                            "value" : {
+                              "op" : "&",
+                              "left" : {
+                                "type" : "field",
+                                "value" : ["ipv4_base", "protocol"]
+                              },
+                              "right" : {
+                                "type" : "hexstr",
+                                "value" : "0x1fffff"
+                              }
+                            }
+                          },
+                          "right" : {
+                            "type" : "hexstr",
+                            "value" : "0x0001ff"
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "0x000001",
+              "mask" : null,
+              "next_state" : "parse_icmp"
+            },
+            {
+              "value" : "0x000006",
+              "mask" : null,
+              "next_state" : "parse_tcp"
+            },
+            {
+              "value" : "0x000011",
+              "mask" : null,
+              "next_state" : "parse_udp"
+            },
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_1"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_ipv6",
+          "id" : 4,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "ipv6_base"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "0x3a",
+              "mask" : null,
+              "next_state" : "parse_icmp"
+            },
+            {
+              "value" : "0x06",
+              "mask" : null,
+              "next_state" : "parse_tcp"
+            },
+            {
+              "value" : "0x11",
+              "mask" : null,
+              "next_state" : "parse_udp"
+            },
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : [
+            {
+              "type" : "field",
+              "value" : ["ipv6_base", "next_header"]
+            }
+          ]
+        },
+        {
+          "name" : "parse_tcp",
+          "id" : 5,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "tcp"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "local_metadata_t.l4_src_port"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["tcp", "src_port"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "local_metadata_t.l4_dst_port"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["tcp", "dst_port"]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_udp",
+          "id" : 6,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "udp"
+                }
+              ],
+              "op" : "extract"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "local_metadata_t.l4_src_port"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["udp", "src_port"]
+                }
+              ],
+              "op" : "set"
+            },
+            {
+              "parameters" : [
+                {
+                  "type" : "field",
+                  "value" : ["scalars", "local_metadata_t.l4_dst_port"]
+                },
+                {
+                  "type" : "field",
+                  "value" : ["udp", "dst_port"]
+                }
+              ],
+              "op" : "set"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_icmp",
+          "id" : 7,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "icmp_header"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_arp",
+          "id" : 8,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "arp"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : null
+            }
+          ],
+          "transition_key" : []
+        },
+        {
+          "name" : "parse_cpu_header",
+          "id" : 9,
+          "parser_ops" : [
+            {
+              "parameters" : [
+                {
+                  "type" : "regular",
+                  "value" : "packet_out"
+                }
+              ],
+              "op" : "extract"
+            }
+          ],
+          "transitions" : [
+            {
+              "value" : "default",
+              "mask" : null,
+              "next_state" : "parse_ethernet"
+            }
+          ],
+          "transition_key" : []
+        }
+      ]
+    }
+  ],
+  "deparsers" : [
+    {
+      "name" : "deparser",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "parser.p4",
+        "line" : 150,
+        "column" : 8,
+        "source_fragment" : "pkt_deparser"
+      },
+      "order" : ["packet_in", "ethernet", "vlan_tag[0]", "vlan_tag[1]", "ipv4_base", "ipv6_base", "arp", "icmp_header", "tcp", "udp"]
+    }
+  ],
+  "meter_arrays" : [
+    {
+      "name" : "punt.ingress_port_meter",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "punt.p4",
+        "line" : 29,
+        "column" : 40,
+        "source_fragment" : "ingress_port_meter"
+      },
+      "is_direct" : true,
+      "rate_count" : 2,
+      "type" : "bytes",
+      "size" : 1024,
+      "binding" : "punt.punt_table",
+      "result_target" : ["scalars", "local_metadata_t.color"]
+    }
+  ],
+  "counter_arrays" : [
+    {
+      "name" : "punt.punt_packet_counter",
+      "id" : 0,
+      "is_direct" : true,
+      "binding" : "punt.punt_table"
+    },
+    {
+      "name" : "packetio_egress.egress_port_counter",
+      "id" : 1,
+      "source_info" : {
+        "filename" : "packetio.p4",
+        "line" : 49,
+        "column" : 34,
+        "source_fragment" : "egress_port_counter"
+      },
+      "size" : 510,
+      "is_direct" : false
+    },
+    {
+      "name" : "packetio_egress.ingress_port_counter",
+      "id" : 2,
+      "source_info" : {
+        "filename" : "packetio.p4",
+        "line" : 50,
+        "column" : 34,
+        "source_fragment" : "ingress_port_counter"
+      },
+      "size" : 510,
+      "is_direct" : false
+    }
+  ],
+  "register_arrays" : [],
+  "calculations" : [
+    {
+      "name" : "calc",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "ipv4_checksum.p4",
+        "line" : 37,
+        "column" : 35,
+        "source_fragment" : "ipv4_checksum.get( ..."
+      },
+      "algo" : "csum16",
+      "input" : [
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "version"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "ihl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "diffserv"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "total_len"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "identification"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "flags"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "frag_offset"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "ttl"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "protocol"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "src_addr"]
+        },
+        {
+          "type" : "field",
+          "value" : ["ipv4_base", "dst_addr"]
+        }
+      ]
+    }
+  ],
+  "learn_lists" : [],
+  "actions" : [
+    {
+      "name" : "NoAction",
+      "id" : 0,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "NoAction",
+      "id" : 1,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "NoAction",
+      "id" : 2,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "NoAction",
+      "id" : 3,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "NoAction",
+      "id" : 4,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "vrf.set_vrf",
+      "id" : 5,
+      "runtime_data" : [
+        {
+          "name" : "vrf_id",
+          "bitwidth" : 32
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.vrf_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "vrf.p4",
+            "line" : 27,
+            "column" : 4,
+            "source_fragment" : "local_metadata.vrf_id = vrf_id"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "class_id.set_class_id",
+      "id" : 6,
+      "runtime_data" : [
+        {
+          "name" : "class_id_value",
+          "bitwidth" : 8
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.class_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "class_id.p4",
+            "line" : 22,
+            "column" : 5,
+            "source_fragment" : "local_metadata.class_id = class_id_value"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "l3_fwd.set_nexthop",
+      "id" : 7,
+      "runtime_data" : [
+        {
+          "name" : "port",
+          "bitwidth" : 9
+        },
+        {
+          "name" : "smac",
+          "bitwidth" : 48
+        },
+        {
+          "name" : "dmac",
+          "bitwidth" : 48
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 29,
+            "column" : 4,
+            "source_fragment" : "standard_metadata.egress_spec = port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 30,
+            "column" : 4,
+            "source_fragment" : "hdr.ethernet.src_addr = smac"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 31,
+            "column" : 4,
+            "source_fragment" : "hdr.ethernet.dst_addr = dmac"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ipv4_base", "ttl"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4_base", "ttl"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 33,
+            "column" : 6,
+            "source_fragment" : "hdr.ipv4_base.ttl = hdr.ipv4_base.ttl - 1"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "l3_fwd.set_nexthop",
+      "id" : 8,
+      "runtime_data" : [
+        {
+          "name" : "port",
+          "bitwidth" : 9
+        },
+        {
+          "name" : "smac",
+          "bitwidth" : 48
+        },
+        {
+          "name" : "dmac",
+          "bitwidth" : 48
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 29,
+            "column" : 4,
+            "source_fragment" : "standard_metadata.egress_spec = port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 30,
+            "column" : 4,
+            "source_fragment" : "hdr.ethernet.src_addr = smac"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 31,
+            "column" : 4,
+            "source_fragment" : "hdr.ethernet.dst_addr = dmac"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ipv4_base", "ttl"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4_base", "ttl"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 33,
+            "column" : 6,
+            "source_fragment" : "hdr.ipv4_base.ttl = hdr.ipv4_base.ttl - 1"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "l3_fwd.set_nexthop",
+      "id" : 9,
+      "runtime_data" : [
+        {
+          "name" : "port",
+          "bitwidth" : 9
+        },
+        {
+          "name" : "smac",
+          "bitwidth" : 48
+        },
+        {
+          "name" : "dmac",
+          "bitwidth" : 48
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 29,
+            "column" : 4,
+            "source_fragment" : "standard_metadata.egress_spec = port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "src_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 1
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 30,
+            "column" : 4,
+            "source_fragment" : "hdr.ethernet.src_addr = smac"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ethernet", "dst_addr"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 2
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 31,
+            "column" : 4,
+            "source_fragment" : "hdr.ethernet.dst_addr = dmac"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["ipv4_base", "ttl"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "expression",
+                    "value" : {
+                      "op" : "+",
+                      "left" : {
+                        "type" : "field",
+                        "value" : ["ipv4_base", "ttl"]
+                      },
+                      "right" : {
+                        "type" : "hexstr",
+                        "value" : "0xff"
+                      }
+                    }
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xff"
+                  }
+                }
+              }
+            }
+          ],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 33,
+            "column" : 6,
+            "source_fragment" : "hdr.ipv4_base.ttl = hdr.ipv4_base.ttl - 1"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "punt.set_queue_and_clone_to_cpu",
+      "id" : 10,
+      "runtime_data" : [
+        {
+          "name" : "queue_id",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.cpu_cos_queue_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 36,
+            "column" : 4,
+            "source_fragment" : "local_metadata.cpu_cos_queue_id = queue_id"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.egress_spec_at_punt_match"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 37,
+            "column" : 4,
+            "source_fragment" : "local_metadata.egress_spec_at_punt_match = standard_metadata.egress_spec"
+          }
+        },
+        {
+          "op" : "clone_ingress_pkt_to_egress",
+          "parameters" : [
+            {
+              "type" : "hexstr",
+              "value" : "0x000003ff"
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x0"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "punt.set_queue_and_send_to_cpu",
+      "id" : 11,
+      "runtime_data" : [
+        {
+          "name" : "queue_id",
+          "bitwidth" : 5
+        }
+      ],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.cpu_cos_queue_id"]
+            },
+            {
+              "type" : "runtime_data",
+              "value" : 0
+            }
+          ],
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 46,
+            "column" : 4,
+            "source_fragment" : "local_metadata.cpu_cos_queue_id = queue_id"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.egress_spec_at_punt_match"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 47,
+            "column" : 4,
+            "source_fragment" : "local_metadata.egress_spec_at_punt_match = standard_metadata.egress_spec"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x00ff"
+            }
+          ],
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 48,
+            "column" : 4,
+            "source_fragment" : "standard_metadata.egress_spec = 255"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "act",
+      "id" : 12,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.skip_egress"]
+            },
+            {
+              "type" : "hexstr",
+              "value" : "0x01"
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 21,
+            "column" : 6,
+            "source_fragment" : "local_metadata.skip_egress = 1"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "egress_spec"]
+            },
+            {
+              "type" : "field",
+              "value" : ["packet_out", "egress_physical_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 22,
+            "column" : 6,
+            "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_physical_port"
+          }
+        },
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "packet_out"
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 23,
+            "column" : 6,
+            "source_fragment" : "hdr.packet_out.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "act_0",
+      "id" : 13,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "remove_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "packet_out"
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 26,
+            "column" : 4,
+            "source_fragment" : "hdr.packet_out.setInvalid()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "act_1",
+      "id" : 14,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "l3_fwd_tmp_4"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "act_2",
+      "id" : 15,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "l3_fwd_tmp_4"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "act_3",
+      "id" : 16,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "l3_fwd_tmp_3"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "act_4",
+      "id" : 17,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "l3_fwd_tmp_3"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "act_5",
+      "id" : 18,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "l3_fwd_tmp_2"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : true
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "act_6",
+      "id" : 19,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "l3_fwd_tmp_2"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "b2d",
+                  "left" : null,
+                  "right" : {
+                    "type" : "bool",
+                    "value" : false
+                  }
+                }
+              }
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "name" : "act_7",
+      "id" : 20,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "drop",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 172,
+            "column" : 10,
+            "source_fragment" : "mark_to_drop()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "act_8",
+      "id" : 21,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "drop",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 93,
+            "column" : 6,
+            "source_fragment" : "mark_to_drop()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "NoAction",
+      "id" : 22,
+      "runtime_data" : [],
+      "primitives" : []
+    },
+    {
+      "name" : "packetio_egress.encap_packet_in_header",
+      "id" : 23,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "add_header",
+          "parameters" : [
+            {
+              "type" : "header",
+              "value" : "packet_in"
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 35,
+            "column" : 4,
+            "source_fragment" : "hdr.packet_in.setValid()"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["packet_in", "ingress_physical_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["standard_metadata", "ingress_port"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 36,
+            "column" : 4,
+            "source_fragment" : "hdr.packet_in.ingress_physical_port = standard_metadata.ingress_port"
+          }
+        },
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["packet_in", "target_egress_port"]
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "local_metadata_t.egress_spec_at_punt_match"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 37,
+            "column" : 4,
+            "source_fragment" : "hdr.packet_in.target_egress_port = local_metadata.egress_spec_at_punt_match"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "spoof_protection.drop_packet",
+      "id" : 24,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "drop",
+          "parameters" : [],
+          "source_info" : {
+            "filename" : "spoof_protection.p4",
+            "line" : 22,
+            "column" : 4,
+            "source_fragment" : "mark_to_drop()"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "act_9",
+      "id" : 25,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_2"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["standard_metadata", "egress_spec"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ]
+        },
+        {
+          "op" : "count",
+          "parameters" : [
+            {
+              "type" : "counter_array",
+              "value" : "packetio_egress.egress_port_counter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_2"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 56,
+            "column" : 6,
+            "source_fragment" : "egress_port_counter.count((bit<32>) standard_metadata.egress_spec)"
+          }
+        }
+      ]
+    },
+    {
+      "name" : "act_10",
+      "id" : 26,
+      "runtime_data" : [],
+      "primitives" : [
+        {
+          "op" : "assign",
+          "parameters" : [
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_3"]
+            },
+            {
+              "type" : "expression",
+              "value" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "&",
+                  "left" : {
+                    "type" : "field",
+                    "value" : ["standard_metadata", "ingress_port"]
+                  },
+                  "right" : {
+                    "type" : "hexstr",
+                    "value" : "0xffffffff"
+                  }
+                }
+              }
+            }
+          ]
+        },
+        {
+          "op" : "count",
+          "parameters" : [
+            {
+              "type" : "counter_array",
+              "value" : "packetio_egress.ingress_port_counter"
+            },
+            {
+              "type" : "field",
+              "value" : ["scalars", "tmp_3"]
+            }
+          ],
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 59,
+            "column" : 6,
+            "source_fragment" : "ingress_port_counter.count((bit<32> ) standard_metadata.ingress_port)"
+          }
+        }
+      ]
+    }
+  ],
+  "pipelines" : [
+    {
+      "name" : "ingress",
+      "id" : 0,
+      "source_info" : {
+        "filename" : "tor.p4",
+        "line" : 17,
+        "column" : 8,
+        "source_fragment" : "ingress_tor"
+      },
+      "init_table" : "node_2",
+      "tables" : [
+        {
+          "name" : "tbl_act",
+          "id" : 0,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [12],
+          "actions" : ["act"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "act" : null
+          },
+          "default_entry" : {
+            "action_id" : 12,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_act_0",
+          "id" : 1,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [13],
+          "actions" : ["act_0"],
+          "base_default_next" : "vrf.vrf_classifier_table",
+          "next_tables" : {
+            "act_0" : "vrf.vrf_classifier_table"
+          },
+          "default_entry" : {
+            "action_id" : 13,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "vrf.vrf_classifier_table",
+          "id" : 2,
+          "source_info" : {
+            "filename" : "vrf.p4",
+            "line" : 31,
+            "column" : 8,
+            "source_fragment" : "vrf_classifier_table"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "target" : ["ethernet", "ether_type"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ethernet", "src_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "diffserv"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "target" : ["standard_metadata", "ingress_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "traffic_class"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [5],
+          "actions" : ["vrf.set_vrf"],
+          "base_default_next" : "class_id.class_id_assignment_table",
+          "next_tables" : {
+            "vrf.set_vrf" : "class_id.class_id_assignment_table"
+          },
+          "default_entry" : {
+            "action_id" : 5,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "class_id.class_id_assignment_table",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "class_id.p4",
+            "line" : 26,
+            "column" : 8,
+            "source_fragment" : "class_id_assignment_table"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "target" : ["ethernet", "ether_type"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "ttl"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "hop_limit"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "protocol"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "next_header"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["scalars", "local_metadata_t.l4_src_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["scalars", "local_metadata_t.l4_dst_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["vlan_tag[0]", "vid"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["vlan_tag[0]", "pcp"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [6],
+          "actions" : ["class_id.set_class_id"],
+          "base_default_next" : "l3_fwd.l3_routing_classifier_table",
+          "next_tables" : {
+            "class_id.set_class_id" : "l3_fwd.l3_routing_classifier_table"
+          },
+          "default_entry" : {
+            "action_id" : 6,
+            "action_const" : true,
+            "action_data" : ["0x0"],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "l3_fwd.l3_routing_classifier_table",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 42,
+            "column" : 8,
+            "source_fragment" : "l3_routing_classifier_table"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "target" : ["ethernet", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [0],
+          "actions" : ["NoAction"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "tbl_act_1",
+            "__MISS__" : "tbl_act_2"
+          },
+          "default_entry" : {
+            "action_id" : 0,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_act_1",
+          "id" : 5,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [14],
+          "actions" : ["act_1"],
+          "base_default_next" : "node_11",
+          "next_tables" : {
+            "act_1" : "node_11"
+          },
+          "default_entry" : {
+            "action_id" : 14,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_act_2",
+          "id" : 6,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [15],
+          "actions" : ["act_2"],
+          "base_default_next" : "node_11",
+          "next_tables" : {
+            "act_2" : "node_11"
+          },
+          "default_entry" : {
+            "action_id" : 15,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "l3_fwd.l3_ipv4_override_table",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 56,
+            "column" : 8,
+            "source_fragment" : "l3_ipv4_override_table"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "target" : ["ipv4_base", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "indirect_ws",
+          "action_profile" : "l3_fwd.wcmp_action_profile",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [7, 1],
+          "actions" : ["l3_fwd.set_nexthop", "NoAction"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "tbl_act_3",
+            "__MISS__" : "tbl_act_4"
+          }
+        },
+        {
+          "name" : "tbl_act_3",
+          "id" : 8,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [16],
+          "actions" : ["act_3"],
+          "base_default_next" : "node_16",
+          "next_tables" : {
+            "act_3" : "node_16"
+          },
+          "default_entry" : {
+            "action_id" : 16,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_act_4",
+          "id" : 9,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [17],
+          "actions" : ["act_4"],
+          "base_default_next" : "node_16",
+          "next_tables" : {
+            "act_4" : "node_16"
+          },
+          "default_entry" : {
+            "action_id" : 17,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "l3_fwd.l3_ipv4_vrf_table",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 76,
+            "column" : 8,
+            "source_fragment" : "l3_ipv4_vrf_table"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "target" : ["scalars", "local_metadata_t.vrf_id"],
+              "mask" : null
+            },
+            {
+              "match_type" : "lpm",
+              "target" : ["ipv4_base", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "indirect_ws",
+          "action_profile" : "l3_fwd.wcmp_action_profile",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [8, 2],
+          "actions" : ["l3_fwd.set_nexthop", "NoAction"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "__HIT__" : "tbl_act_5",
+            "__MISS__" : "tbl_act_6"
+          }
+        },
+        {
+          "name" : "tbl_act_5",
+          "id" : 11,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [18],
+          "actions" : ["act_5"],
+          "base_default_next" : "node_20",
+          "next_tables" : {
+            "act_5" : "node_20"
+          },
+          "default_entry" : {
+            "action_id" : 18,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_act_6",
+          "id" : 12,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [19],
+          "actions" : ["act_6"],
+          "base_default_next" : "node_20",
+          "next_tables" : {
+            "act_6" : "node_20"
+          },
+          "default_entry" : {
+            "action_id" : 19,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "l3_fwd.l3_ipv4_fallback_table",
+          "id" : 13,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 95,
+            "column" : 8,
+            "source_fragment" : "l3_ipv4_fallback_table"
+          },
+          "key" : [
+            {
+              "match_type" : "lpm",
+              "target" : ["ipv4_base", "dst_addr"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "lpm",
+          "type" : "indirect_ws",
+          "action_profile" : "l3_fwd.wcmp_action_profile",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [9, 3],
+          "actions" : ["l3_fwd.set_nexthop", "NoAction"],
+          "base_default_next" : "node_22",
+          "next_tables" : {
+            "l3_fwd.set_nexthop" : "node_22",
+            "NoAction" : "node_22"
+          }
+        },
+        {
+          "name" : "tbl_act_7",
+          "id" : 14,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [20],
+          "actions" : ["act_7"],
+          "base_default_next" : "punt.punt_table",
+          "next_tables" : {
+            "act_7" : "punt.punt_table"
+          },
+          "default_entry" : {
+            "action_id" : 20,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "punt.punt_table",
+          "id" : 15,
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "punt_table"
+          },
+          "key" : [
+            {
+              "match_type" : "ternary",
+              "target" : ["standard_metadata", "ingress_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["standard_metadata", "egress_spec"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ethernet", "ether_type"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "diffserv"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "traffic_class"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "ttl"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "hop_limit"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "src_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "src_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "dst_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv4_base", "protocol"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["ipv6_base", "next_header"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["arp", "target_proto_addr"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["scalars", "local_metadata_t.icmp_code"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["vlan_tag[0]", "vid"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["vlan_tag[0]", "pcp"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["scalars", "local_metadata_t.class_id"],
+              "mask" : null
+            },
+            {
+              "match_type" : "ternary",
+              "target" : ["scalars", "local_metadata_t.vrf_id"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "ternary",
+          "type" : "simple",
+          "max_size" : 1024,
+          "support_timeout" : false,
+          "direct_meters" : "punt.ingress_port_meter",
+          "action_ids" : [10, 11, 4],
+          "actions" : ["punt.set_queue_and_clone_to_cpu", "punt.set_queue_and_send_to_cpu", "NoAction"],
+          "base_default_next" : "node_25",
+          "next_tables" : {
+            "punt.set_queue_and_clone_to_cpu" : "node_25",
+            "punt.set_queue_and_send_to_cpu" : "node_25",
+            "NoAction" : "node_25"
+          },
+          "default_entry" : {
+            "action_id" : 4,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        },
+        {
+          "name" : "tbl_act_8",
+          "id" : 16,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [21],
+          "actions" : ["act_8"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "act_8" : null
+          },
+          "default_entry" : {
+            "action_id" : 21,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        }
+      ],
+      "action_profiles" : [
+        {
+          "name" : "l3_fwd.wcmp_action_profile",
+          "id" : 0,
+          "max_size" : 1024,
+          "selector" : {
+            "algo" : "crc16",
+            "input" : [
+              {
+                "type" : "field",
+                "value" : ["ipv4_base", "dst_addr"]
+              },
+              {
+                "type" : "field",
+                "value" : ["ipv4_base", "src_addr"]
+              },
+              {
+                "type" : "field",
+                "value" : ["ipv4_base", "protocol"]
+              },
+              {
+                "type" : "field",
+                "value" : ["scalars", "local_metadata_t.l4_src_port"]
+              },
+              {
+                "type" : "field",
+                "value" : ["scalars", "local_metadata_t.l4_dst_port"]
+              }
+            ]
+          }
+        }
+      ],
+      "conditionals" : [
+        {
+          "name" : "node_2",
+          "id" : 0,
+          "source_info" : {
+            "filename" : "tor.p4",
+            "line" : 21,
+            "column" : 8,
+            "source_fragment" : "hdr.packet_out.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["packet_out", "$valid$"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "true_next" : "node_3",
+          "false_next" : "vrf.vrf_classifier_table"
+        },
+        {
+          "name" : "node_3",
+          "id" : 1,
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 20,
+            "column" : 8,
+            "source_fragment" : "hdr.packet_out.submit_to_ingress == 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["packet_out", "submit_to_ingress"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00"
+              }
+            }
+          },
+          "true_next" : "tbl_act",
+          "false_next" : "tbl_act_0"
+        },
+        {
+          "name" : "node_11",
+          "id" : 2,
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "d2b",
+              "left" : null,
+              "right" : {
+                "type" : "field",
+                "value" : ["scalars", "l3_fwd_tmp_4"]
+              }
+            }
+          },
+          "true_next" : "node_12",
+          "false_next" : "punt.punt_table"
+        },
+        {
+          "name" : "node_12",
+          "id" : 3,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 165,
+            "column" : 10,
+            "source_fragment" : "hdr.ipv4_base.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["ipv4_base", "$valid$"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "true_next" : "l3_fwd.l3_ipv4_override_table",
+          "false_next" : "punt.punt_table"
+        },
+        {
+          "name" : "node_16",
+          "id" : 4,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 166,
+            "column" : 11,
+            "source_fragment" : "!l3_ipv4_override_table.apply().hit"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "not",
+              "left" : null,
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["scalars", "l3_fwd_tmp_3"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "l3_fwd.l3_ipv4_vrf_table",
+          "false_next" : "node_22"
+        },
+        {
+          "name" : "node_20",
+          "id" : 5,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 167,
+            "column" : 13,
+            "source_fragment" : "!l3_ipv4_vrf_table.apply().hit"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "not",
+              "left" : null,
+              "right" : {
+                "type" : "expression",
+                "value" : {
+                  "op" : "d2b",
+                  "left" : null,
+                  "right" : {
+                    "type" : "field",
+                    "value" : ["scalars", "l3_fwd_tmp_2"]
+                  }
+                }
+              }
+            }
+          },
+          "true_next" : "l3_fwd.l3_ipv4_fallback_table",
+          "false_next" : "node_22"
+        },
+        {
+          "name" : "node_22",
+          "id" : 6,
+          "source_info" : {
+            "filename" : "l3_fwd.p4",
+            "line" : 171,
+            "column" : 11,
+            "source_fragment" : "hdr.ipv4_base.ttl == 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["ipv4_base", "ttl"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00"
+              }
+            }
+          },
+          "true_next" : "tbl_act_7",
+          "false_next" : "punt.punt_table"
+        },
+        {
+          "name" : "node_25",
+          "id" : 7,
+          "source_info" : {
+            "filename" : "punt.p4",
+            "line" : 92,
+            "column" : 7,
+            "source_fragment" : "local_metadata.color != 0"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "!=",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "local_metadata_t.color"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00"
+              }
+            }
+          },
+          "false_next" : null,
+          "true_next" : "tbl_act_8"
+        }
+      ]
+    },
+    {
+      "name" : "egress",
+      "id" : 1,
+      "source_info" : {
+        "filename" : "tor.p4",
+        "line" : 31,
+        "column" : 8,
+        "source_fragment" : "egress_tor"
+      },
+      "init_table" : "node_29",
+      "tables" : [
+        {
+          "name" : "tbl_act_9",
+          "id" : 17,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [25],
+          "actions" : ["act_9"],
+          "base_default_next" : "node_31",
+          "next_tables" : {
+            "act_9" : "node_31"
+          },
+          "default_entry" : {
+            "action_id" : 25,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_act_10",
+          "id" : 18,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [26],
+          "actions" : ["act_10"],
+          "base_default_next" : "node_33",
+          "next_tables" : {
+            "act_10" : "node_33"
+          },
+          "default_entry" : {
+            "action_id" : 26,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "tbl_packetio_egress_encap_packet_in_header",
+          "id" : 19,
+          "key" : [],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [23],
+          "actions" : ["packetio_egress.encap_packet_in_header"],
+          "base_default_next" : "node_35",
+          "next_tables" : {
+            "packetio_egress.encap_packet_in_header" : "node_35"
+          },
+          "default_entry" : {
+            "action_id" : 23,
+            "action_const" : true,
+            "action_data" : [],
+            "action_entry_const" : true
+          }
+        },
+        {
+          "name" : "spoof_protection.dhcp_spoof_protection_table",
+          "id" : 20,
+          "source_info" : {
+            "filename" : "spoof_protection.p4",
+            "line" : 30,
+            "column" : 8,
+            "source_fragment" : "dhcp_spoof_protection_table"
+          },
+          "key" : [
+            {
+              "match_type" : "exact",
+              "target" : ["scalars", "local_metadata_t.l4_dst_port"],
+              "mask" : null
+            },
+            {
+              "match_type" : "exact",
+              "target" : ["standard_metadata", "egress_spec"],
+              "mask" : null
+            }
+          ],
+          "match_type" : "exact",
+          "type" : "simple",
+          "max_size" : 1024,
+          "with_counters" : false,
+          "support_timeout" : false,
+          "direct_meters" : null,
+          "action_ids" : [24, 22],
+          "actions" : ["spoof_protection.drop_packet", "NoAction"],
+          "base_default_next" : null,
+          "next_tables" : {
+            "spoof_protection.drop_packet" : null,
+            "NoAction" : null
+          },
+          "default_entry" : {
+            "action_id" : 22,
+            "action_const" : false,
+            "action_data" : [],
+            "action_entry_const" : false
+          }
+        }
+      ],
+      "action_profiles" : [],
+      "conditionals" : [
+        {
+          "name" : "node_29",
+          "id" : 8,
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 55,
+            "column" : 8,
+            "source_fragment" : "standard_metadata.egress_port < 510"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "<",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "egress_port"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01fe"
+              }
+            }
+          },
+          "true_next" : "tbl_act_9",
+          "false_next" : "node_31"
+        },
+        {
+          "name" : "node_31",
+          "id" : 9,
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 58,
+            "column" : 8,
+            "source_fragment" : "standard_metadata.ingress_port < 510"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "<",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "ingress_port"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01fe"
+              }
+            }
+          },
+          "true_next" : "tbl_act_10",
+          "false_next" : "node_33"
+        },
+        {
+          "name" : "node_33",
+          "id" : 10,
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 63,
+            "column" : 8,
+            "source_fragment" : "standard_metadata.egress_port == 255"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["standard_metadata", "egress_port"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x00ff"
+              }
+            }
+          },
+          "true_next" : "tbl_packetio_egress_encap_packet_in_header",
+          "false_next" : "node_35"
+        },
+        {
+          "name" : "node_35",
+          "id" : 11,
+          "source_info" : {
+            "filename" : "packetio.p4",
+            "line" : 66,
+            "column" : 8,
+            "source_fragment" : "local_metadata.skip_egress == 1"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["scalars", "local_metadata_t.skip_egress"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "true_next" : null,
+          "false_next" : "node_36"
+        },
+        {
+          "name" : "node_36",
+          "id" : 12,
+          "source_info" : {
+            "filename" : "spoof_protection.p4",
+            "line" : 41,
+            "column" : 7,
+            "source_fragment" : "hdr.udp.isValid()"
+          },
+          "expression" : {
+            "type" : "expression",
+            "value" : {
+              "op" : "==",
+              "left" : {
+                "type" : "field",
+                "value" : ["udp", "$valid$"]
+              },
+              "right" : {
+                "type" : "hexstr",
+                "value" : "0x01"
+              }
+            }
+          },
+          "false_next" : null,
+          "true_next" : "spoof_protection.dhcp_spoof_protection_table"
+        }
+      ]
+    }
+  ],
+  "checksums" : [
+    {
+      "name" : "cksum",
+      "id" : 0,
+      "target" : ["ipv4_base", "hdr_checksum"],
+      "type" : "generic",
+      "calculation" : "calc"
+    }
+  ],
+  "force_arith" : [],
+  "extern_instances" : [],
+  "field_aliases" : [
+    [
+      "queueing_metadata.enq_timestamp",
+      ["standard_metadata", "enq_timestamp"]
+    ],
+    [
+      "queueing_metadata.enq_qdepth",
+      ["standard_metadata", "enq_qdepth"]
+    ],
+    [
+      "queueing_metadata.deq_timedelta",
+      ["standard_metadata", "deq_timedelta"]
+    ],
+    [
+      "queueing_metadata.deq_qdepth",
+      ["standard_metadata", "deq_qdepth"]
+    ],
+    [
+      "intrinsic_metadata.ingress_global_timestamp",
+      ["standard_metadata", "ingress_global_timestamp"]
+    ],
+    [
+      "intrinsic_metadata.lf_field_list",
+      ["standard_metadata", "lf_field_list"]
+    ],
+    [
+      "intrinsic_metadata.mcast_grp",
+      ["standard_metadata", "mcast_grp"]
+    ],
+    [
+      "intrinsic_metadata.resubmit_flag",
+      ["standard_metadata", "resubmit_flag"]
+    ],
+    [
+      "intrinsic_metadata.egress_rid",
+      ["standard_metadata", "egress_rid"]
+    ]
+  ]
+}
\ No newline at end of file
diff --git a/tools/test/p4src/tor/p4c-out/tor.p4info b/tools/test/p4src/tor/p4c-out/tor.p4info
new file mode 100644
index 0000000..44c994b
--- /dev/null
+++ b/tools/test/p4src/tor/p4c-out/tor.p4info
@@ -0,0 +1,672 @@
+tables {
+  preamble {
+    id: 33619357
+    name: "vrf.vrf_classifier_table"
+    alias: "vrf_classifier_table"
+    annotations: "@proto_package(\"vrf\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ethernet.src_addr"
+    annotations: "@proto_tag(2)"
+    bitwidth: 48
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ipv4_base.diffserv"
+    annotations: "@proto_tag(3)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(4)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "standard_metadata.ingress_port"
+    annotations: "@proto_tag(5)"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv6_base.traffic_class"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(7)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16793447
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16793447
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33592054
+    name: "class_id.class_id_assignment_table"
+    alias: "class_id_assignment_table"
+    annotations: "@proto_package(\"class_id\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ipv4_base.ttl"
+    annotations: "@proto_tag(2)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ipv6_base.hop_limit"
+    annotations: "@proto_tag(3)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(4)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(5)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv4_base.protocol"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.next_header"
+    annotations: "@proto_tag(7)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "local_metadata.l4_src_port"
+    annotations: "@proto_tag(8)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "local_metadata.l4_dst_port"
+    annotations: "@proto_tag(9)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "hdr.vlan_tag[0].vid"
+    annotations: "@proto_tag(10)"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "hdr.vlan_tag[0].pcp"
+    annotations: "@proto_tag(11)"
+    bitwidth: 3
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16778630
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16778630
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33568218
+    name: "l3_fwd.l3_routing_classifier_table"
+    alias: "l3_routing_classifier_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ethernet.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 48
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(1)"
+  }
+  const_default_action_id: 16800567
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33575570
+    name: "l3_fwd.l3_ipv4_override_table"
+    alias: "l3_ipv4_override_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33581631
+    name: "l3_fwd.l3_ipv4_vrf_table"
+    alias: "l3_ipv4_vrf_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "local_metadata.vrf_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(2)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33572896
+    name: "l3_fwd.l3_ipv4_fallback_table"
+    alias: "l3_ipv4_fallback_table"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  match_fields {
+    id: 1
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+    match_type: LPM
+  }
+  action_refs {
+    id: 16779406
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@proto_tag(2)"
+  }
+  const_default_action_id: 16800567
+  implementation_id: 285270769
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33613201
+    name: "punt.punt_table"
+    alias: "punt_table"
+    annotations: "@proto_package(\"punt\")"
+  }
+  match_fields {
+    id: 1
+    name: "standard_metadata.ingress_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 2
+    name: "standard_metadata.egress_spec"
+    annotations: "@proto_tag(2)"
+    bitwidth: 9
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 3
+    name: "hdr.ethernet.ether_type"
+    annotations: "@proto_tag(3)"
+    bitwidth: 16
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 4
+    name: "hdr.ipv4_base.diffserv"
+    annotations: "@proto_tag(4)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 5
+    name: "hdr.ipv6_base.traffic_class"
+    annotations: "@proto_tag(5)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 6
+    name: "hdr.ipv4_base.ttl"
+    annotations: "@proto_tag(6)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 7
+    name: "hdr.ipv6_base.hop_limit"
+    annotations: "@proto_tag(7)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 8
+    name: "hdr.ipv4_base.src_addr"
+    annotations: "@proto_tag(8)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 9
+    name: "hdr.ipv4_base.dst_addr"
+    annotations: "@proto_tag(9)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 10
+    name: "hdr.ipv6_base.src_addr"
+    annotations: "@proto_tag(10)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 11
+    name: "hdr.ipv6_base.dst_addr"
+    annotations: "@proto_tag(11)"
+    bitwidth: 128
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 12
+    name: "hdr.ipv4_base.protocol"
+    annotations: "@proto_tag(12)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 13
+    name: "hdr.ipv6_base.next_header"
+    annotations: "@proto_tag(13)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 14
+    name: "hdr.arp.target_proto_addr"
+    annotations: "@proto_tag(14)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 15
+    name: "local_metadata.icmp_code"
+    annotations: "@proto_tag(15)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 16
+    name: "hdr.vlan_tag[0].vid"
+    annotations: "@proto_tag(16)"
+    bitwidth: 12
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 17
+    name: "hdr.vlan_tag[0].pcp"
+    annotations: "@proto_tag(17)"
+    bitwidth: 3
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 18
+    name: "local_metadata.class_id"
+    annotations: "@proto_tag(18)"
+    bitwidth: 8
+    match_type: TERNARY
+  }
+  match_fields {
+    id: 19
+    name: "local_metadata.vrf_id"
+    annotations: "@proto_tag(19)"
+    bitwidth: 32
+    match_type: TERNARY
+  }
+  action_refs {
+    id: 16819104
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16784911
+    annotations: "@proto_tag(2)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  direct_resource_ids: 302050023
+  direct_resource_ids: 318814206
+  size: 1024
+}
+tables {
+  preamble {
+    id: 33594375
+    name: "spoof_protection.dhcp_spoof_protection_table"
+    alias: "dhcp_spoof_protection_table"
+    annotations: "@proto_package(\"spoof_protection\")"
+  }
+  match_fields {
+    id: 1
+    name: "local_metadata.l4_dst_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 16
+    match_type: EXACT
+  }
+  match_fields {
+    id: 2
+    name: "standard_metadata.egress_spec"
+    annotations: "@proto_tag(2)"
+    bitwidth: 9
+    match_type: EXACT
+  }
+  action_refs {
+    id: 16827294
+    annotations: "@proto_tag(1)"
+  }
+  action_refs {
+    id: 16800567
+    annotations: "@defaultonly()"
+  }
+  size: 1024
+}
+actions {
+  preamble {
+    id: 16800567
+    name: "NoAction"
+    alias: "NoAction"
+  }
+}
+actions {
+  preamble {
+    id: 16793447
+    name: "vrf.set_vrf"
+    alias: "set_vrf"
+    annotations: "@proto_package(\"vrf\")"
+  }
+  params {
+    id: 1
+    name: "vrf_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 32
+  }
+}
+actions {
+  preamble {
+    id: 16778630
+    name: "class_id.set_class_id"
+    alias: "set_class_id"
+    annotations: "@proto_package(\"class_id\")"
+  }
+  params {
+    id: 1
+    name: "class_id_value"
+    annotations: "@proto_tag(1)"
+    bitwidth: 8
+  }
+}
+actions {
+  preamble {
+    id: 16779406
+    name: "l3_fwd.set_nexthop"
+    alias: "set_nexthop"
+    annotations: "@proto_package(\"l3_fwd\")"
+  }
+  params {
+    id: 1
+    name: "port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  params {
+    id: 2
+    name: "smac"
+    annotations: "@proto_tag(2)"
+    bitwidth: 48
+  }
+  params {
+    id: 3
+    name: "dmac"
+    annotations: "@proto_tag(3)"
+    bitwidth: 48
+  }
+}
+actions {
+  preamble {
+    id: 16819104
+    name: "punt.set_queue_and_clone_to_cpu"
+    alias: "set_queue_and_clone_to_cpu"
+    annotations: "@proto_package(\"punt\")"
+  }
+  params {
+    id: 1
+    name: "queue_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 16784911
+    name: "punt.set_queue_and_send_to_cpu"
+    alias: "set_queue_and_send_to_cpu"
+    annotations: "@proto_package(\"punt\")"
+  }
+  params {
+    id: 1
+    name: "queue_id"
+    annotations: "@proto_tag(1)"
+    bitwidth: 5
+  }
+}
+actions {
+  preamble {
+    id: 16792485
+    name: "packetio_egress.encap_packet_in_header"
+    alias: "encap_packet_in_header"
+  }
+}
+actions {
+  preamble {
+    id: 16827294
+    name: "spoof_protection.drop_packet"
+    alias: "drop_packet"
+    annotations: "@proto_package(\"spoof_protection\")"
+  }
+}
+action_profiles {
+  preamble {
+    id: 285270769
+    name: "l3_fwd.wcmp_action_profile"
+    alias: "wcmp_action_profile"
+  }
+  table_ids: 33572896
+  table_ids: 33575570
+  table_ids: 33581631
+  with_selector: true
+  size: 1024
+}
+counters {
+  preamble {
+    id: 302001476
+    name: "packetio_egress.egress_port_counter"
+    alias: "egress_port_counter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 510
+}
+counters {
+  preamble {
+    id: 302037457
+    name: "packetio_egress.ingress_port_counter"
+    alias: "ingress_port_counter"
+  }
+  spec {
+    unit: BYTES
+  }
+  size: 510
+}
+direct_counters {
+  preamble {
+    id: 302050023
+    name: "punt.punt_packet_counter"
+    alias: "punt_packet_counter"
+    annotations: "@proto_package(\"punt\")"
+  }
+  spec {
+    unit: PACKETS
+  }
+  direct_table_id: 33613201
+}
+direct_meters {
+  preamble {
+    id: 318814206
+    name: "punt.ingress_port_meter"
+    alias: "ingress_port_meter"
+    annotations: "@proto_package(\"punt\")"
+  }
+  spec {
+    unit: BYTES
+  }
+  direct_table_id: 33613201
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868941301
+    name: "packet_in"
+    annotations: "@controller_header(\"packet_in\")"
+  }
+  metadata {
+    id: 1
+    name: "ingress_physical_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 2
+    name: "padding1"
+    annotations: "@proto_tag(4)"
+    bitwidth: 7
+  }
+  metadata {
+    id: 3
+    name: "ingress_logical_port"
+    annotations: "@proto_tag(2)"
+    bitwidth: 32
+  }
+  metadata {
+    id: 4
+    name: "target_egress_port"
+    annotations: "@proto_tag(3)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 5
+    name: "padding2"
+    annotations: "@proto_tag(5)"
+    bitwidth: 7
+  }
+}
+controller_packet_metadata {
+  preamble {
+    id: 2868916615
+    name: "packet_out"
+    annotations: "@not_extracted_in_egress()"
+    annotations: "@controller_header(\"packet_out\")"
+  }
+  metadata {
+    id: 1
+    name: "egress_physical_port"
+    annotations: "@proto_tag(1)"
+    bitwidth: 9
+  }
+  metadata {
+    id: 2
+    name: "submit_to_ingress"
+    annotations: "@proto_tag(2)"
+    bitwidth: 1
+  }
+  metadata {
+    id: 3
+    name: "padding"
+    annotations: "@proto_tag(3)"
+    bitwidth: 6
+  }
+}
diff --git a/tools/test/p4src/tor/packetio.p4 b/tools/test/p4src/tor/packetio.p4
index 75b84d8..65f073a 100644
--- a/tools/test/p4src/tor/packetio.p4
+++ b/tools/test/p4src/tor/packetio.p4
@@ -44,7 +44,22 @@
     // from the P4 packet_in header.
   }
 
+  // L123-DEMO-HACK: BEGIN
+  #define MAX_PORTS 510
+  counter(MAX_PORTS, CounterType.bytes) egress_port_counter;
+  counter(MAX_PORTS, CounterType.bytes) ingress_port_counter;
+  // L123-DEMO-HACK: END
+
   apply {
+    // L123-DEMO-HACK: BEGIN
+    if (standard_metadata.egress_port < MAX_PORTS) {
+      egress_port_counter.count((bit<32>) standard_metadata.egress_spec);
+    }
+    if (standard_metadata.ingress_port < MAX_PORTS) {
+      ingress_port_counter.count((bit<32> ) standard_metadata.ingress_port);
+    }
+    // L123-DEMO-HACK: END
+
     if (standard_metadata.egress_port == CPU_PORT) {
       encap_packet_in_header();
     }