Count bytes not packets

Change-Id: I3c28044b246408e74de641eb24930da059e67c35
diff --git a/tools/test/p4src/p4-14/include/port_counters.p4 b/tools/test/p4src/p4-14/include/port_counters.p4
index 44a2b0e..d3a9785 100644
--- a/tools/test/p4src/p4-14/include/port_counters.p4
+++ b/tools/test/p4src/p4-14/include/port_counters.p4
@@ -3,13 +3,13 @@
 #include "defines.p4"
 
 counter ingress_port_counter {
-    type : packets; // bmv2 always counts both bytes and packets
+    type : bytes; // bmv2 always counts both bytes and packets
     instance_count : MAX_PORTS;
     min_width : 32;
 }
 
 counter egress_port_counter {
-    type: packets;
+    type: bytes;
     instance_count : MAX_PORTS;
     min_width : 32;
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/default.p4info b/tools/test/p4src/p4-14/p4c-out/default.p4info
index 35d6c00..e07fdf4 100644
--- a/tools/test/p4src/p4-14/p4c-out/default.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/default.p4info
@@ -140,7 +140,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -152,7 +152,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/ecmp.json b/tools/test/p4src/p4-14/p4c-out/ecmp.json
index 60d929c..12aeec7 100644
--- a/tools/test/p4src/p4-14/p4c-out/ecmp.json
+++ b/tools/test/p4src/p4-14/p4c-out/ecmp.json
@@ -468,11 +468,11 @@
         },
         {
           "type" : "field",
-          "value" : ["udp", "srcPort"]
+          "value" : ["tcp", "srcPort"]
         },
         {
           "type" : "field",
-          "value" : ["udp", "dstPort"]
+          "value" : ["tcp", "dstPort"]
         }
       ]
     }
diff --git a/tools/test/p4src/p4-14/p4c-out/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/ecmp.p4info
index 6e7b749..1219cd0 100644
--- a/tools/test/p4src/p4-14/p4c-out/ecmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/ecmp.p4info
@@ -183,7 +183,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -195,7 +195,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json
index ac56604..c0996d5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 00:58:27 2017", 
+    "build_date": "Wed Sep 13 01:39:28 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -18363,10 +18363,10 @@
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18399,17 +18399,17 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18442,7 +18442,7 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json
index 2228613..016a5bb 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "default", 
-    "BuildDate": "Wed Sep 13 00:58:27 2017", 
+    "BuildDate": "Wed Sep 13 01:39:28 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -18666,7 +18666,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18678,7 +18678,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18690,7 +18690,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18702,7 +18702,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18729,15 +18729,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
@@ -18774,7 +18774,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18786,7 +18786,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18798,7 +18798,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18810,7 +18810,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18837,15 +18837,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info
index 168bd3b..2948723 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/default.p4info
@@ -140,7 +140,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -152,7 +152,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log
index 420c745..e6fd32c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log
index 1b5b65c..95afb11 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log
index f4265ee..4ac479c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -1004,18 +1004,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
@@ -1023,8 +1023,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=2].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=2].mau_ad_stats_virt_lt be 0x1.
@@ -1088,18 +1089,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
@@ -1107,8 +1108,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=3].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=3].mau_ad_stats_virt_lt be 0x2.
@@ -2010,7 +2012,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 1617
+|  Number of configuration field values set in Match-Action Stages: 1619
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log
index 952f9be..37649c9 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -752,7 +752,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f676a5b8390>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f6e27a390>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -1121,7 +1121,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f676a5e9790>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f6e283750>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2279,7 +2279,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f676ebf5c50>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f724aac50>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2664,7 +2664,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f676a5e4d10>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f2f6e287d10>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log
index 85360a8..84cafe3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f676f2f9d10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f2f72baed10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f676f2f9d10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f2f72baed10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f676f2f9d10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f2f72baed10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log
index fafa4be..6214e7f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -886,7 +886,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f676a5e4cd0>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f2f6e287cd0>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1135,7 +1135,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f676aee2590>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f2f6e95a590>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log
index 40c1f20..8d1b489 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log
index 199843c..2280721 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log
index ad41f60..cdcb467 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log
index 2fa5a20..a07a0b8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
index 5ce958d..7649173 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log
index 8b718f1..3f67cd5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log
index 0178132..69d95e6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log
index ec9c0e6..dd299de 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
index ad01943..c949607 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -549,7 +549,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505264293.79
+>>Event 'pa_init' at time 1505266755.52
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 90
@@ -827,7 +827,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505264293.79
+>>Event 'pa_resv' at time 1505266755.52
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -869,7 +869,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505264293.83
+>>Event 'pa_bridge' at time 1505266755.56
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -922,7 +922,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505264293.84
+>>Event 'pa_phase0' at time 1505266755.56
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -975,7 +975,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505264293.84
+>>Event 'pa_critical' at time 1505266755.57
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2023,8 +2023,8 @@
 |     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505264302.89
-   Took 9.06 seconds
+>>Event 'pa_overlay' at time 1505266764.66
+   Took 9.09 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2288,8 +2288,8 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505264303.41
-   Took 0.52 seconds
+>>Event 'pa_meta1' at time 1505266765.17
+   Took 0.51 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 1)
@@ -2433,7 +2433,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505264303.48
+>>Event 'pa_pov' at time 1505266765.24
    Took 0.07 seconds
 
 -----------------------------------------------
@@ -2590,7 +2590,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505264303.60
+>>Event 'pa_meta2' at time 1505266765.36
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2733,7 +2733,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv67[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505264303.67
+>>Event 'pa_meta_init' at time 1505266765.43
    Took 0.06 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log
index 183e5f9..450f48c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log
index 36d2ffd..2e10b28 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -19,19 +19,19 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 10
 Number of reachable states from state <Shim start state> : 11
 parser_state_calculations:[
-	parse_tcp_140082152353168
-	parse_tcp_140082146911312
-	parse_udp_140082146910352
-	parse_ipv4_140082146912144
-	parse_ethernet_140082151783440
-	parse_pkt_in_140082146912336
-	parse_pkt_out_140082150511504
-	default_parser_140082150511312
-	start_140082146912976
-	<Phase 0>_140082147044688
-	<Ingress intrinsic metadata>_140082147044368
-	<POV initialization>_140082147045072
-	<Shim start state>_140082147151952
+	parse_tcp_139841695493520
+	parse_tcp_139841693410384
+	parse_udp_139841693409424
+	parse_ipv4_139841693411216
+	parse_ethernet_139841693019280
+	parse_pkt_in_139841693411408
+	parse_pkt_out_139841693238160
+	default_parser_139841693237968
+	start_139841693412048
+	<Phase 0>_139841684561232
+	<Ingress intrinsic metadata>_139841684560912
+	<POV initialization>_139841684561616
+	<Shim start state>_139841684525136
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log
index 7b374ec..ca7b6af 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log
index ce117bf..5853dfc 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log
index 6c9a764..a400a89 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140082151784016)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140082151783824)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140082151783248)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140082151783120)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140082151782992)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140082151783056)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140082151782928)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140082151782864)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139841693019728)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139841693019536)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139841693018960)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139841693018832)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139841693018704)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139841693018768)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139841693018640)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139841693018576)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log
index 30cdc12..dca16f4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log
index 029bc74..e3be3b6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:11 2017                               |
+|  Created on: Wed Sep 13 01:39:13 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin
index 465447d..534fe4e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html
index 44136ea..27aec8b 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 00:58:27 2017</i>
+<br><i>Created on Wed Sep 13 01:39:29 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html
index 54922a5..566189e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/mau.html
@@ -32002,7 +32002,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 00:58:24 2017</i>
+<br><i>Created on Wed Sep 13 01:39:26 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html
index 83ee52d..52b294d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 00:58:27 2017</i>
+<br><i>Created on Wed Sep 13 01:39:29 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html
index eb4009c..788187c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/parser.ingress.html
@@ -7420,7 +7420,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 00:58:27 2017</i>
+<br><i>Created on Wed Sep 13 01:39:29 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html
index 0db92aa..3b140f3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/phv_allocation.html
@@ -31212,7 +31212,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 00:58:25 2017</i>
+<br><i>Created on Wed Sep 13 01:39:26 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html
index ea188a6..fe435f2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/visualization/table_placement.html
@@ -1459,7 +1459,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 00:58:24 2017</i>
+<br><i>Created on Wed Sep 13 01:39:26 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json
index 4450ef9..53ee840 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 00:59:11 2017", 
+    "build_date": "Wed Sep 13 01:40:13 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -18363,10 +18363,10 @@
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18399,17 +18399,17 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -18442,7 +18442,7 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json
index 1ace548..5e6c26d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "default", 
-    "BuildDate": "Wed Sep 13 00:59:11 2017", 
+    "BuildDate": "Wed Sep 13 01:40:13 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -18666,7 +18666,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18678,7 +18678,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18690,7 +18690,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18702,7 +18702,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18729,15 +18729,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
@@ -18774,7 +18774,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18786,7 +18786,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18798,7 +18798,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18810,7 +18810,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -18837,15 +18837,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info
index 168bd3b..2948723 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/default.p4info
@@ -140,7 +140,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -152,7 +152,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log
index 3c40129..d941ab9 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log
index 02d1e5c..9470df8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log
index e6c99a9..4c4626d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -1004,18 +1004,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
@@ -1023,8 +1023,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=2].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=2].mau_ad_stats_virt_lt be 0x1.
@@ -1088,18 +1089,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
@@ -1107,8 +1108,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=3].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=3].mau_ad_stats_virt_lt be 0x2.
@@ -2010,7 +2012,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 1617
+|  Number of configuration field values set in Match-Action Stages: 1619
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log
index 2a1b0c2..fe41064 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -752,7 +752,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7ff9ed740390>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f420e0d6390>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -1121,7 +1121,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7ff9ed9d1790>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f420d9d6790>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2279,7 +2279,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7ff9f1742c50>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f4211e6ac50>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2664,7 +2664,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7ff9ed76bd10>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f420e0cbd10>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log
index f7b547f..ed8477e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7ff9f1e46d10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f421256ed10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7ff9f1e46d10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f421256ed10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7ff9f1e46d10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f421256ed10>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log
index 7cf0b8d..3d3630d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -886,7 +886,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7ff9ed76bcd0>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f420e0cbcd0>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1135,7 +1135,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7ff9ed752590>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f420d85e590>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log
index 7ee6b09..6cc39de 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log
index 4f65b6b..4ba39da 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log
index 606da50..9683552 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log
index 221e0cf..cde7e2a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log
index 069309e..e23e4c2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log
index e6b17ae..6ad45f2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log
index dabf298..82ed841 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log
index b01c3da..203f934 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log
index c36f6b92..93c5de0 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -549,7 +549,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505264338.44
+>>Event 'pa_init' at time 1505266800.29
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 90
@@ -827,7 +827,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505264338.44
+>>Event 'pa_resv' at time 1505266800.29
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -869,7 +869,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505264338.48
+>>Event 'pa_bridge' at time 1505266800.33
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -922,7 +922,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505264338.48
+>>Event 'pa_phase0' at time 1505266800.33
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -975,7 +975,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505264338.49
+>>Event 'pa_critical' at time 1505266800.33
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2023,8 +2023,8 @@
 |     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505264347.52
-   Took 9.03 seconds
+>>Event 'pa_overlay' at time 1505266809.39
+   Took 9.06 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2288,7 +2288,7 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505264348.03
+>>Event 'pa_meta1' at time 1505266809.91
    Took 0.51 seconds
 
 -----------------------------------------------
@@ -2433,7 +2433,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505264348.10
+>>Event 'pa_pov' at time 1505266809.98
    Took 0.07 seconds
 
 -----------------------------------------------
@@ -2590,7 +2590,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505264348.22
+>>Event 'pa_meta2' at time 1505266810.10
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2733,7 +2733,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv67[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505264348.28
+>>Event 'pa_meta_init' at time 1505266810.16
    Took 0.06 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log
index ca2c03f..0869a51 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 Program: default
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log
index 5e040e1..8d68aa8 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -19,19 +19,19 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 10
 Number of reachable states from state <Shim start state> : 11
 parser_state_calculations:[
-	parse_tcp_140711407463824
-	parse_tcp_140711409960016
-	parse_udp_140711409959056
-	parse_ipv4_140711409960848
-	parse_ethernet_140711405223056
-	parse_pkt_in_140711409961040
-	parse_pkt_out_140711409828752
-	default_parser_140711409828560
-	start_140711409961680
-	<Phase 0>_140711400881488
-	<Ingress intrinsic metadata>_140711400881168
-	<POV initialization>_140711400881872
-	<Shim start state>_140711400968272
+	parse_tcp_139921671450000
+	parse_tcp_139921680729168
+	parse_udp_139921680728208
+	parse_ipv4_139921680730000
+	parse_ethernet_139921673362576
+	parse_pkt_in_139921680730192
+	parse_pkt_out_139921680761744
+	default_parser_139921680761552
+	start_139921680730832
+	<Phase 0>_139921680518480
+	<Ingress intrinsic metadata>_139921680518160
+	<POV initialization>_139921680518864
+	<Shim start state>_139921680564304
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log
index faca781..662b656 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log
index 8d9e1e5..44a9378 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log
index e7c0177..bb5dace 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:57 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140711405223504)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140711405223312)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140711405222736)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140711405222608)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140711405222480)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140711405222544)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140711405222416)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140711405222352)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139921673363024)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139921673362832)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139921673362256)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139921673362128)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139921673362000)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139921673362064)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139921673361936)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139921673361872)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log
index 7542705..875ca31 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log
index d589e9a..2dc324b 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:58:56 2017                               |
+|  Created on: Wed Sep 13 01:39:58 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin
index ab65327..4671dbe 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html
index 54c0e30..22872df 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 00:59:12 2017</i>
+<br><i>Created on Wed Sep 13 01:40:14 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html
index ba6c17f..be5fb74 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/mau.html
@@ -32002,7 +32002,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 00:59:09 2017</i>
+<br><i>Created on Wed Sep 13 01:40:11 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html
index 5db9132..ac7f627 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 00:59:12 2017</i>
+<br><i>Created on Wed Sep 13 01:40:14 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html
index 79553ab..2cb157a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/parser.ingress.html
@@ -7420,7 +7420,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 00:59:12 2017</i>
+<br><i>Created on Wed Sep 13 01:40:14 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html
index 5998f62..a5e79ed 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/phv_allocation.html
@@ -31212,7 +31212,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 00:59:09 2017</i>
+<br><i>Created on Wed Sep 13 01:40:11 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html
index d754d6b..acfbcc0 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/montara/visualization/table_placement.html
@@ -1459,7 +1459,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 00:59:09 2017</i>
+<br><i>Created on Wed Sep 13 01:40:11 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json
index 9663dae..fc52f75 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 00:59:57 2017", 
+    "build_date": "Wed Sep 13 01:40:59 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -23035,10 +23035,10 @@
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23071,17 +23071,17 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23114,7 +23114,7 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json
index f4b8f76..b1814d5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "ecmp", 
-    "BuildDate": "Wed Sep 13 00:59:57 2017", 
+    "BuildDate": "Wed Sep 13 01:40:59 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -25618,7 +25618,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25630,7 +25630,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25642,7 +25642,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25654,7 +25654,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25681,15 +25681,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
@@ -25726,7 +25726,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25738,7 +25738,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25750,7 +25750,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25762,7 +25762,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25789,15 +25789,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.json
index c995bf3..053728c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.json
@@ -468,11 +468,11 @@
         },
         {
           "type" : "field",
-          "value" : ["udp", "srcPort"]
+          "value" : ["tcp", "srcPort"]
         },
         {
           "type" : "field",
-          "value" : ["udp", "dstPort"]
+          "value" : ["tcp", "dstPort"]
         }
       ]
     }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info
index ed07da5..2bf5394 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/ecmp.p4info
@@ -183,7 +183,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -195,7 +195,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log
index 8d36d53..8f08dae 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log
index a096fd4..9b2a584 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log
index 0e6c149..202db08 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -2122,18 +2122,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
@@ -2141,8 +2141,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=2].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=2].mau_ad_stats_virt_lt be 0x1.
@@ -2206,18 +2207,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
@@ -2225,8 +2226,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=3].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=3].mau_ad_stats_virt_lt be 0x2.
@@ -3076,7 +3078,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 2186
+|  Number of configuration field values set in Match-Action Stages: 2188
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log
index 88fe123..76d7d2a 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -757,7 +757,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7faa2f2f0f10>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9400807f10>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -1126,7 +1126,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7faa2f2cc910>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9400541910>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -2294,7 +2294,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7faa32fe2250>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9404811250>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2679,7 +2679,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7faa2f4d0790>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f9400d2a790>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log
index 84d4242..e838837 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7faa33b02c50>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f9405353c50>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7faa33b02c50>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f9405353c50>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7faa33b02c50>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f9405353c50>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log
index bf2704f..ce12c78 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -1210,7 +1210,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7faa2f4d0750>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f9400d2a750>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1459,7 +1459,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7faa2f064690>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f9400d0a690>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log
index bc6238e..2e381bb 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log
index 84b376e..dadd8d9 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log
index 3f740f7..d79b866 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log
index 6f4718a..c73f37f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log
index f83cb22..d7a4235 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log
index bc61355..a453940 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log
index 6e4a8ae..343868f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log
index cc28af3..86b6fbe 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
index 83138b1..f9510a5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -553,7 +553,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505264383.13
+>>Event 'pa_init' at time 1505266845.03
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 92
@@ -837,7 +837,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505264383.13
+>>Event 'pa_resv' at time 1505266845.03
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -879,7 +879,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505264383.17
+>>Event 'pa_bridge' at time 1505266845.07
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -932,7 +932,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505264383.17
+>>Event 'pa_phase0' at time 1505266845.07
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -985,7 +985,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505264383.17
+>>Event 'pa_critical' at time 1505266845.08
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2081,8 +2081,8 @@
 |     Overall total      |   50 (14.88%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505264392.23
-   Took 9.06 seconds
+>>Event 'pa_overlay' at time 1505266854.37
+   Took 9.29 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2346,7 +2346,7 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505264392.74
+>>Event 'pa_meta1' at time 1505266854.88
    Took 0.51 seconds
 
 -----------------------------------------------
@@ -2502,7 +2502,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505264392.84
+>>Event 'pa_pov' at time 1505266854.99
    Took 0.11 seconds
 
 -----------------------------------------------
@@ -2659,7 +2659,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505264392.97
+>>Event 'pa_meta2' at time 1505266855.11
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2886,7 +2886,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505264393.13
+>>Event 'pa_meta_init' at time 1505266855.27
    Took 0.16 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log
index 5d2349e..a8587a4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log
index 2aec839..1b257c7 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -18,18 +18,18 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 9
 Number of reachable states from state <Shim start state> : 10
 parser_state_calculations:[
-	parse_tcp_140368914071184
-	parse_udp_140368914018832
-	parse_ipv4_140368914067984
-	parse_ethernet_140368916524560
-	parse_pkt_in_140368914070288
-	parse_pkt_out_140368914019920
-	default_parser_140368914019728
-	start_140368914069328
-	<Phase 0>_140368913928272
-	<Ingress intrinsic metadata>_140368913952464
-	<POV initialization>_140368913928656
-	<Shim start state>_140368913928976
+	parse_tcp_140273647394448
+	parse_udp_140273647464976
+	parse_ipv4_140273647391312
+	parse_ethernet_140273640811920
+	parse_pkt_in_140273647393552
+	parse_pkt_out_140273647466064
+	default_parser_140273647465872
+	start_140273647392592
+	<Phase 0>_140273647325264
+	<Ingress intrinsic metadata>_140273647431376
+	<POV initialization>_140273647325648
+	<Shim start state>_140273647325968
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log
index e6fce26..e0dca57 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log
index f633e91..a807e42 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log
index 9eca7bc..58ec476 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140368916524624)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140368916524176)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140368914068240)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140368914067920)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140368914068304)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140368914067536)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140368914068368)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140368914068432)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140273640812112)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140273640811664)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140273647391504)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140273647391184)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140273647391568)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140273647390800)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140273647391632)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140273647391696)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log
index c48a218..6004be2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log
index d50b7f3..78369a6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 00:59:40 2017                               |
+|  Created on: Wed Sep 13 01:40:42 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin
index f1122fa..7d2720e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html
index eff550f..0875b97 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 00:59:58 2017</i>
+<br><i>Created on Wed Sep 13 01:41:00 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html
index 89076e7..96a0b9e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/mau.html
@@ -32262,7 +32262,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 00:59:54 2017</i>
+<br><i>Created on Wed Sep 13 01:40:56 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html
index b65220b..a977f32 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 00:59:58 2017</i>
+<br><i>Created on Wed Sep 13 01:41:00 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html
index 370291f..21cc796 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/parser.ingress.html
@@ -7030,7 +7030,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 00:59:58 2017</i>
+<br><i>Created on Wed Sep 13 01:41:00 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html
index 8a13a77..86b21e1 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/phv_allocation.html
@@ -31435,7 +31435,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 00:59:55 2017</i>
+<br><i>Created on Wed Sep 13 01:40:57 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html
index 6d0bec7..5c2d7a2 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/visualization/table_placement.html
@@ -1501,7 +1501,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 00:59:54 2017</i>
+<br><i>Created on Wed Sep 13 01:40:56 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json
index 008d972..aeb1557 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/context.json
@@ -1,5 +1,5 @@
 {
-    "build_date": "Wed Sep 13 01:00:43 2017", 
+    "build_date": "Wed Sep 13 01:41:45 2017", 
     "phv_allocation": [
         {
             "ingress": [
@@ -23035,10 +23035,10 @@
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108865, 
             "name": "ingress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23071,17 +23071,17 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
         }, 
         {
             "direction": "ingress", 
-            "statistics_type": "packets", 
+            "statistics_type": "bytes", 
             "handle": 67108866, 
             "name": "egress_port_counter", 
-            "byte_counter_resolution": 0, 
+            "byte_counter_resolution": 32, 
             "table_type": "statistics", 
             "stage_tables": [
                 {
@@ -23114,7 +23114,7 @@
                 }
             ], 
             "enable_pfe": true, 
-            "packet_counter_resolution": 32, 
+            "packet_counter_resolution": 0, 
             "pfe_bit_position": 19, 
             "how_referenced": "indirect", 
             "size": 512
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json
index dc5a92e..372ee6c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/context/mau.context.json
@@ -1,7 +1,7 @@
 {
   "ProgramInfo": {
     "ProgramName": "ecmp", 
-    "BuildDate": "Wed Sep 13 01:00:43 2017", 
+    "BuildDate": "Wed Sep 13 01:41:45 2017", 
     "CompilerVersion": "5.1.0"
   }, 
   "HashJsonNode": {
@@ -25618,7 +25618,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25630,7 +25630,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25642,7 +25642,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25654,7 +25654,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25681,15 +25681,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 0, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
@@ -25726,7 +25726,7 @@
                     "entry_number": 0, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 0, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25738,7 +25738,7 @@
                     "entry_number": 1, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 32, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25750,7 +25750,7 @@
                     "entry_number": 2, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 64, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25762,7 +25762,7 @@
                     "entry_number": 3, 
                     "field_list": [
                       {
-                        "name": "packets_0", 
+                        "name": "bytes_0", 
                         "start_offset": 96, 
                         "start_bit": 0, 
                         "bit_width": 32, 
@@ -25789,15 +25789,15 @@
                 }
               ]
             }, 
-            "pkt_width": 32, 
-            "byte_width": 0, 
+            "pkt_width": 0, 
+            "byte_width": 32, 
             "stage_table_handle": 1, 
             "how_referenced": "indirect", 
-            "stat_type": "packets", 
+            "stat_type": "bytes", 
             "default_lower_huffman_bits_included": 0
           }
         ], 
-        "statistics_type": "packets", 
+        "statistics_type": "bytes", 
         "statistics_precision": 32, 
         "lrt_enable": true, 
         "saturating": false, 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.json b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.json
index c995bf3..053728c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.json
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.json
@@ -468,11 +468,11 @@
         },
         {
           "type" : "field",
-          "value" : ["udp", "srcPort"]
+          "value" : ["tcp", "srcPort"]
         },
         {
           "type" : "field",
-          "value" : ["udp", "dstPort"]
+          "value" : ["tcp", "dstPort"]
         }
       ]
     }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
index ed07da5..2bf5394 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/ecmp.p4info
@@ -183,7 +183,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -195,7 +195,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log
index 531e6d1..b3e4b13 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/asm.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: asm.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log
index b783c5e..8cf3dab 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.characterize.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log
index 0840a7f..22a2d01 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.config.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -2122,18 +2122,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=2].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=2].mau_cfg_stats_alu_lt to be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=0].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=2].stats_lrt_fsm_sweep_size to be 0x0.
@@ -2141,8 +2141,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=2].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=4].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=2].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=2].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=2].movereg_stats_ctl_lt be 0x0.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=0].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x6.  ( previous value = 0x0  OR  new value = 0x6)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=2].mau_ad_stats_virt_lt be 0x1.
@@ -2206,18 +2207,18 @@
   eqn(b_cur) = 4294964039.26
   max_counter_value = 4294967295
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=0].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=0].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=1].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=1].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_threshold[threshold_index=2].lrt_threshold to be 0x169e89a.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0xfffffff.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.lrt_update_interval[threshold_index=2].lrt_update_interval to be 0x169e89.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_entries_per_word to be 4.
-Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_packets to be 1.
+Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_process_bytes to be 1.
 Configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.lrt_enable to be 1.
 TODO: Temporarily configuring rams.map_alu.stats_wrap[stats_group_index=3].stats.statistics_ctl.stats_alu_error_enable to be 0.
 Configuring cfg_regs.mau_cfg_stats_alu_lt.[stats_group_index=3].mau_cfg_stats_alu_lt to be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_entries_per_word be 0x4.
-Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_packets be 0x1.
+Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_has_bytes be 0x1.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_offset be 0x0.
 Configuring cfg_regs.stats_dump_ctl[logical_table=1].stats_dump_size be 0x0.
 Configuring rams.match.adrdist.stats_lrt_fsm_sweep_size[stats_group_index=3].stats_lrt_fsm_sweep_size to be 0x0.
@@ -2225,8 +2226,9 @@
 Configuring rams.match.adrdist.stats_lrt_sweep_adr[stats_group_index=3].stats_lrt_sweep_adr to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_base to be 0x0.
 Configuring rams.map_alu.row[row=6].i2portctl.synth2port_vpn_ctl.synth2port_vpn_limit to be 0x0.
-Configuring rams.match.adrdist.packet_action_at_headertime[type_index=0][alu_index=3].packet_action_at_headertime be 1.
+Configuring rams.match.adrdist.deferred_ram_ctl[deferred_ram_type=0][deferred_ram_index=3].deferred_ram_en to be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_size be 3.
+Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_deferred be 1.
 Configuring rams.match.adrdist.movereg_stats_ctl[stat_alu_index=3].movereg_stats_ctl_lt be 0x1.
 Configuring rams.match.adrdist.movereg_ad_stats_alu_to_logical_xbar_ctl[logical_index=3].movereg_ad_stats_alu_to_logical_xbar_ctl be 0x3e.  ( previous value = 0x6  OR  new value = 0x38)
 Configuring rams.match.adrdist.mau_ad_stats_virt_lt[meter_alu_index=3].mau_ad_stats_virt_lt be 0x2.
@@ -3076,7 +3078,7 @@
 Configuring dp.phv_fifo_enable.phv_fifo_egress_final_output_enable to be 0.
 
 +------------------------------------------------------------------------
-|  Number of configuration field values set in Match-Action Stages: 2186
+|  Number of configuration field values set in Match-Action Stages: 2188
 +------------------------------------------------------------------------
 
 +------------------------------------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
index 0af5f70..41b4ab6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gateway.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gateway.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 
@@ -757,7 +757,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f1961006f50>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbcd6bef50>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -1126,7 +1126,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f1960a1a950>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [1], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbcd6a8950>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table process_packet_out_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [1]) and hash group 0 for gateway 14.
@@ -2294,7 +2294,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f1964aa7290>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbd0fbc290>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
@@ -2679,7 +2679,7 @@
 Gateway 14
 ------- Phase 0 -------------
 Looking at gateway table 14
-match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7f1960def7d0>, 0)])), (1, (None, [], None, [], []))])
+match_groups_attached_to_gateway = OrderedDict([(0, (0, [0], 0, [0], [(<p4c_tofino.target.tofino.device.pipeline.mau.match_keys.packed_gateway_key.PackedGatewayKey object at 0x7efbcd5607d0>, 0)])), (1, (None, [], None, [], []))])
 Search bus 0 on row 7
 ----------------------------
  Trying to place Gateway Resource Request for table egress_port_count_table_always_true_condition needs access to 0 input bits in exact match group 0 (parity groups [0]) and hash group 0 for gateway 14.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log
index 8d1cfa2..5ea31d6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.gw.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.gw.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 cond _condition_0: not valid packet_out_hdr
@@ -16,7 +16,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f19655c8c90>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7efbd1b02c90>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -30,7 +30,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f19655c8c90>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7efbd1b02c90>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _condition_0: not valid packet_out_hdr
      not valid packet_out_hdr
@@ -44,7 +44,7 @@
 cond _condition_2 can be gateway (9+0)x1
 cond !_condition_2 can be gateway (9+0)x1
 _condition_2 is gateway for ingress_port_count_table
-fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f19655c8c90>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7efbd1b02c90>]) and and xor_fields is OrderedSet()
 fields = OrderedSet() and and xor_fields is OrderedSet()
 cond _always_true: True == True
      True
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log
index b5a583e..0e52d95 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.log                                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -1210,7 +1210,7 @@
     ('ig_intr_md.ingress_port', 6) -> 6
     ('ig_intr_md.ingress_port', 7) -> 7
     ('ig_intr_md.ingress_port', 8) -> 8
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f1960def790>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7efbcd560790>)])
   hash_group_id: 0
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
@@ -1459,7 +1459,7 @@
     ('ig_intr_md_for_tm.ucast_egress_port', 6) -> 70
     ('ig_intr_md_for_tm.ucast_egress_port', 7) -> 71
     ('ig_intr_md_for_tm.ucast_egress_port', 8) -> 72
-  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7f1960df4450>)])
+  hash_function_dictionary: OrderedDict([(0, <p4c_tofino.target.tofino.llir.mau.stage.resources.hash_function.HashFunction object at 0x7efbcd585450>)])
   hash_group_id: 1
   seed: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
   table_direction: ingress
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log
index 04bc42d..7a07ee3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.resources.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.resources.log                                        |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log
index a33304f..522dbab 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.rf.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.rf.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log
index 5a4f373..4ba29db 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.sram.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.sram.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log
index 395d98f..50096df 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tcam.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tcam.log                                             |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log
index 13edc9e..28e4636 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/mau.tp.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: mau.tp.log                                               |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 ----- Stage 0 ------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log
index d7a5067..1b8c407 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.characterize.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.characterize.log                                      |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log
index 85e1d6e..d7a5066 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.constraints.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.constraints.log                                       |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 To populate this log file, include --print-pa-constraints as a compiler argument.
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log
index d367040..4ecded4 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.liveness.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.liveness.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log
index a7b42aa..8b570b5 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -553,7 +553,7 @@
   parse_pkt_in and parse_pkt_out are exclusive parse states
   parse_tcp and parse_udp are exclusive parse states
 
->>Event 'pa_init' at time 1505264429.10
+>>Event 'pa_init' at time 1505266891.04
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 92
@@ -837,7 +837,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1505264429.10
+>>Event 'pa_resv' at time 1505266891.04
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -879,7 +879,7 @@
   Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
   Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
 Reserving 32-bit container for ingress: phv0
->>Event 'pa_bridge' at time 1505264429.14
+>>Event 'pa_bridge' at time 1505266891.08
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -932,7 +932,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1505264429.14
+>>Event 'pa_phase0' at time 1505266891.08
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -985,7 +985,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1505264429.14
+>>Event 'pa_critical' at time 1505266891.09
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2081,8 +2081,8 @@
 |     Overall total      |   50 (14.88%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1505264438.27
-   Took 9.12 seconds
+>>Event 'pa_overlay' at time 1505266900.34
+   Took 9.25 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2346,8 +2346,8 @@
 |     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
 --------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1505264438.77
-   Took 0.51 seconds
+>>Event 'pa_meta1' at time 1505266900.86
+   Took 0.52 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 1)
@@ -2502,8 +2502,8 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1505264438.88
-   Took 0.10 seconds
+>>Event 'pa_pov' at time 1505266900.96
+   Took 0.11 seconds
 
 -----------------------------------------------
   Allocating POV
@@ -2659,8 +2659,8 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1505264439.00
-   Took 0.12 seconds
+>>Event 'pa_meta2' at time 1505266901.09
+   Took 0.13 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 2)
@@ -2886,7 +2886,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1505264439.16
+>>Event 'pa_meta_init' at time 1505266901.25
    Took 0.16 seconds
 
 -----------------------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log
index b6bce54..423c8bf 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/pa.results.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.results.log                                           |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log
index e9b6845..2fe7295 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.calcfields.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.calcfields.log                                     |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Reserving 0 16-bit ingress tphvs for residual checksums
@@ -18,18 +18,18 @@
 Number of reachable states from state <POV initialization>_<Ingress intrinsic metadata>_<Phase 0> : 9
 Number of reachable states from state <Shim start state> : 10
 parser_state_calculations:[
-	parse_tcp_139746977017552
-	parse_udp_139746976764496
-	parse_ipv4_139746977014096
-	parse_ethernet_139746977279504
-	parse_pkt_in_139746977016656
-	parse_pkt_out_139746976765584
-	default_parser_139746976765392
-	start_139746977016208
-	<Phase 0>_139746976989328
-	<Ingress intrinsic metadata>_139746977013520
-	<POV initialization>_139746976989712
-	<Shim start state>_139746976990032
+	parse_tcp_139619948449488
+	parse_udp_139619948458576
+	parse_ipv4_139619948446032
+	parse_ethernet_139619946425872
+	parse_pkt_in_139619948448592
+	parse_pkt_out_139619948459664
+	default_parser_139619948459472
+	start_139619948448144
+	<Phase 0>_139619948527760
+	<Ingress intrinsic metadata>_139619948576528
+	<POV initialization>_139619948528144
+	<Shim start state>_139619948528464
 ]
 parser_calculations: [
 	
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log
index 17a34dc..3a4796d 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.config.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.config.log                                         |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log
index cc9ca4f..409bfdb 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.error.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.error.log                                          |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log
index a0b09fd..b48f47c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parde.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: parde.log                                                |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 ># Begin digest init (pre-PHV)
@@ -18,14 +18,14 @@
 ># Begin unroll of HLIR parse graph
 >## Create shadow parse graph and find loops
 >## Entrypoint 'p4_parse_state.start'
-Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139746977279568)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139746977279376)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139746977014608)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139746977014224)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139746977014672)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139746977013840)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139746977014736)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139746977014800)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 139619946425936)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 139619946425744)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 139619948446544)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 139619948446160)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 139619948446608)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 139619948445776)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 139619948446672)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 139619948446736)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log
index 15b2723..b1eb0cd 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/parser.characterize.log
@@ -1,6 +1,6 @@
 +---------------------------------------------------------------------+
 |  Log file: parser.characterize.log                                  |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log
index 7994e7e..226ed4e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/logs/transform.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: transform.log                                            |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Wed Sep 13 01:00:26 2017                               |
+|  Created on: Wed Sep 13 01:41:28 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin
index 182b15d..7f4ed1f 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/tofino.bin
Binary files differ
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html
index 22d55c7..c93390c 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/deparser.html
@@ -569,7 +569,7 @@
 </div></div><br><br>
 </td></tr>
 </table>
-<br><i>Created on Wed Sep 13 01:00:44 2017</i>
+<br><i>Created on Wed Sep 13 01:41:46 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html
index 62496e9..cb7e288 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/mau.html
@@ -32262,7 +32262,7 @@
 </svg><br>
 
 
-<br><i>Created on Wed Sep 13 01:00:40 2017</i>
+<br><i>Created on Wed Sep 13 01:41:42 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </div>
 </body>
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html
index d6ececa..80692c3 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.egress.html
@@ -6639,7 +6639,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:00:44 2017</i>
+<br><i>Created on Wed Sep 13 01:41:46 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html
index 70eed06..c8a8359 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/parser.ingress.html
@@ -7030,7 +7030,7 @@
 <br></td></tr>
 
 </table>
-<br><i>Created on Wed Sep 13 01:00:44 2017</i>
+<br><i>Created on Wed Sep 13 01:41:46 2017</i>
 
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html
index dd55b9e..080f1b7 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/phv_allocation.html
@@ -31435,7 +31435,7 @@
 <text x="1010" y="178" textLength="16" lengthAdjust="spacingAndGlyphs" textHeight="16" heightAdjust="spacingAndGlyphs" style="fill:black;">16</text>
 <rect x="0" y="0" width="1053" height="198" style="stroke:black; stroke-width:2; fill:none""></rect>
 </svg><br>
-<br><i>Created on Wed Sep 13 01:00:41 2017</i>
+<br><i>Created on Wed Sep 13 01:41:43 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html
index 79cd7cb..47aad20 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/montara/visualization/table_placement.html
@@ -1501,7 +1501,7 @@
 <td align="center">0</td>
 </tr>
 </table>
-<br><i>Created on Wed Sep 13 01:00:40 2017</i>
+<br><i>Created on Wed Sep 13 01:41:42 2017</i>
 <br><i>Compiler version: 5.1.0 (fca32d1)</i>
 </body>
 </html>
\ No newline at end of file
diff --git a/tools/test/p4src/p4-14/p4c-out/wcmp.p4info b/tools/test/p4src/p4-14/p4c-out/wcmp.p4info
index 848e9d5..6295882 100644
--- a/tools/test/p4src/p4-14/p4c-out/wcmp.p4info
+++ b/tools/test/p4src/p4-14/p4c-out/wcmp.p4info
@@ -205,7 +205,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }
@@ -217,7 +217,7 @@
     annotations: "@min_width(32)"
   }
   spec {
-    unit: PACKETS
+    unit: BYTES
   }
   size: 254
 }