Count bytes not packets

Change-Id: I3c28044b246408e74de641eb24930da059e67c35
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