Fixed p4-14 ecmp program and compiler outputs

Change-Id: Ib0201f0574ee1d1f69abb9a961fae021a388cdba
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 30d3dc5..feb4272 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 5ecbe0e..7507e27 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 Match+Action Resource Usage
@@ -220,35 +220,35 @@
   entry_number : 7
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [127:112]
+       Field group_id [15:0]   : in bits [127:112]
   entry_number : 6
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [111:96]
+       Field group_id [15:0]   : in bits [111:96]
   entry_number : 5
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [95:80]
+       Field group_id [15:0]   : in bits [95:80]
   entry_number : 4
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [79:64]
+       Field group_id [15:0]   : in bits [79:64]
   entry_number : 3
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [63:48]
+       Field group_id [15:0]   : in bits [63:48]
   entry_number : 2
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [47:32]
+       Field group_id [15:0]   : in bits [47:32]
   entry_number : 1
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [31:16]
+       Field group_id [15:0]   : in bits [31:16]
   entry_number : 0
   field_list : [
     ]
-       Field groupId [15:0]   : in bits [15:0]
+       Field group_id [15:0]   : in bits [15:0]
 ]
 
 
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 498c30d..0e2f924 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 Final Stage dependencies are:
@@ -864,11 +864,11 @@
 Configuring dp.xbar_hash.xbar.match_input_xbar_816b_ctl[word_group=0][output_byte=2].match_input_xbar_816b_ctl_address to be 22.
 Configuring dp.xbar_hash.xbar.match_input_xbar_816b_ctl[word_group=0][output_byte=2].match_input_xbar_816b_ctl_enable to be 1.
 Configuring match input crossbar byte 2 to come from 16-bit PHV container 6.
-  That PHV byte contains {ecmp_metadata.groupId[7:0]}.
+  That PHV byte contains {ecmp_metadata.group_id[7:0]}.
 Configuring dp.xbar_hash.xbar.match_input_xbar_816b_ctl[word_group=0][output_byte=3].match_input_xbar_816b_ctl_address to be 22.
 Configuring dp.xbar_hash.xbar.match_input_xbar_816b_ctl[word_group=0][output_byte=3].match_input_xbar_816b_ctl_enable to be 1.
 Configuring match input crossbar byte 3 to come from 16-bit PHV container 6.
-  That PHV byte contains {ecmp_metadata.groupId[15:8]}.
+  That PHV byte contains {ecmp_metadata.group_id[15:8]}.
 Configuring dp.match_input_xbar_din_power_ctl[14_byte_group=0][byte_position=8].match_input_xbar_din_power_ctl to be 0xc0.  (previous value = 0x0  OR new value = 0xc0)
 Configuring dp.xbar_hash.hash.hash_seed[output_bit=2].hash_seed to be 0x1 (previous value = 0x0  OR  new value = 0x1)
 Configuring dp.xbar_hash.hash.hash_seed[output_bit=3].hash_seed to be 0x1 (previous value = 0x0  OR  new value = 0x1)
@@ -1041,22 +1041,22 @@
   [13] =  (field_bit=13, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 13))
   [14] =  (field_bit=14, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 14))
   [15] =  (field_bit=15, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 15))
-  [16] =  (field_bit=0, hash_match_group_bit=16, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 0))
-  [17] =  (field_bit=1, hash_match_group_bit=17, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 1))
-  [18] =  (field_bit=2, hash_match_group_bit=18, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 2))
-  [19] =  (field_bit=3, hash_match_group_bit=19, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 3))
-  [20] =  (field_bit=4, hash_match_group_bit=20, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 4))
-  [21] =  (field_bit=5, hash_match_group_bit=21, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 5))
-  [22] =  (field_bit=6, hash_match_group_bit=22, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 6))
-  [23] =  (field_bit=7, hash_match_group_bit=23, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 7))
-  [24] =  (field_bit=8, hash_match_group_bit=24, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 8))
-  [25] =  (field_bit=9, hash_match_group_bit=25, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 9))
-  [26] =  (field_bit=10, hash_match_group_bit=26, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 10))
-  [27] =  (field_bit=11, hash_match_group_bit=27, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 11))
-  [28] =  (field_bit=12, hash_match_group_bit=28, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 12))
-  [29] =  (field_bit=13, hash_match_group_bit=29, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 13))
-  [30] =  (field_bit=14, hash_match_group_bit=30, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 14))
-  [31] =  (field_bit=15, hash_match_group_bit=31, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 15))
+  [16] =  (field_bit=0, hash_match_group_bit=16, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 0))
+  [17] =  (field_bit=1, hash_match_group_bit=17, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 1))
+  [18] =  (field_bit=2, hash_match_group_bit=18, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 2))
+  [19] =  (field_bit=3, hash_match_group_bit=19, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 3))
+  [20] =  (field_bit=4, hash_match_group_bit=20, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 4))
+  [21] =  (field_bit=5, hash_match_group_bit=21, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 5))
+  [22] =  (field_bit=6, hash_match_group_bit=22, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 6))
+  [23] =  (field_bit=7, hash_match_group_bit=23, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 7))
+  [24] =  (field_bit=8, hash_match_group_bit=24, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 8))
+  [25] =  (field_bit=9, hash_match_group_bit=25, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 9))
+  [26] =  (field_bit=10, hash_match_group_bit=26, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 10))
+  [27] =  (field_bit=11, hash_match_group_bit=27, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 11))
+  [28] =  (field_bit=12, hash_match_group_bit=28, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 12))
+  [29] =  (field_bit=13, hash_match_group_bit=29, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 13))
+  [30] =  (field_bit=14, hash_match_group_bit=30, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 14))
+  [31] =  (field_bit=15, hash_match_group_bit=31, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 15))
   [32] = None
   [33] = None
   [34] =  (field_bit=10, hash_match_group_bit=10, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.selector', 10))
@@ -1247,22 +1247,22 @@
   [13] =  (field_bit=13, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 13))
   [14] =  (field_bit=14, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 14))
   [15] =  (field_bit=15, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 15))
-  [16] =  (field_bit=0, hash_match_group_bit=16, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 0))
-  [17] =  (field_bit=1, hash_match_group_bit=17, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 1))
-  [18] =  (field_bit=2, hash_match_group_bit=18, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 2))
-  [19] =  (field_bit=3, hash_match_group_bit=19, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 3))
-  [20] =  (field_bit=4, hash_match_group_bit=20, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 4))
-  [21] =  (field_bit=5, hash_match_group_bit=21, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 5))
-  [22] =  (field_bit=6, hash_match_group_bit=22, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 6))
-  [23] =  (field_bit=7, hash_match_group_bit=23, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 7))
-  [24] =  (field_bit=8, hash_match_group_bit=24, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 8))
-  [25] =  (field_bit=9, hash_match_group_bit=25, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 9))
-  [26] =  (field_bit=10, hash_match_group_bit=26, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 10))
-  [27] =  (field_bit=11, hash_match_group_bit=27, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 11))
-  [28] =  (field_bit=12, hash_match_group_bit=28, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 12))
-  [29] =  (field_bit=13, hash_match_group_bit=29, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 13))
-  [30] =  (field_bit=14, hash_match_group_bit=30, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 14))
-  [31] =  (field_bit=15, hash_match_group_bit=31, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 15))
+  [16] =  (field_bit=0, hash_match_group_bit=16, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 0))
+  [17] =  (field_bit=1, hash_match_group_bit=17, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 1))
+  [18] =  (field_bit=2, hash_match_group_bit=18, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 2))
+  [19] =  (field_bit=3, hash_match_group_bit=19, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 3))
+  [20] =  (field_bit=4, hash_match_group_bit=20, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 4))
+  [21] =  (field_bit=5, hash_match_group_bit=21, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 5))
+  [22] =  (field_bit=6, hash_match_group_bit=22, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 6))
+  [23] =  (field_bit=7, hash_match_group_bit=23, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 7))
+  [24] =  (field_bit=8, hash_match_group_bit=24, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 8))
+  [25] =  (field_bit=9, hash_match_group_bit=25, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 9))
+  [26] =  (field_bit=10, hash_match_group_bit=26, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 10))
+  [27] =  (field_bit=11, hash_match_group_bit=27, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 11))
+  [28] =  (field_bit=12, hash_match_group_bit=28, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 12))
+  [29] =  (field_bit=13, hash_match_group_bit=29, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 13))
+  [30] =  (field_bit=14, hash_match_group_bit=30, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 14))
+  [31] =  (field_bit=15, hash_match_group_bit=31, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 15))
   [32] = None
   [33] = None
   [34] =  (field_bit=10, hash_match_group_bit=10, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.selector', 10))
@@ -1453,22 +1453,22 @@
   [13] =  (field_bit=13, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 13))
   [14] =  (field_bit=14, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 14))
   [15] =  (field_bit=15, hash_match_group_bit=-1, entry_in_ram_word=0, entry_in_wide_word=0, data_type=overhead, mg=0, field_tuple=('--entry-overhead-0----immediate--', 15))
-  [16] =  (field_bit=0, hash_match_group_bit=16, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 0))
-  [17] =  (field_bit=1, hash_match_group_bit=17, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 1))
-  [18] =  (field_bit=2, hash_match_group_bit=18, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 2))
-  [19] =  (field_bit=3, hash_match_group_bit=19, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 3))
-  [20] =  (field_bit=4, hash_match_group_bit=20, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 4))
-  [21] =  (field_bit=5, hash_match_group_bit=21, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 5))
-  [22] =  (field_bit=6, hash_match_group_bit=22, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 6))
-  [23] =  (field_bit=7, hash_match_group_bit=23, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 7))
-  [24] =  (field_bit=8, hash_match_group_bit=24, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 8))
-  [25] =  (field_bit=9, hash_match_group_bit=25, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 9))
-  [26] =  (field_bit=10, hash_match_group_bit=26, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 10))
-  [27] =  (field_bit=11, hash_match_group_bit=27, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 11))
-  [28] =  (field_bit=12, hash_match_group_bit=28, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 12))
-  [29] =  (field_bit=13, hash_match_group_bit=29, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 13))
-  [30] =  (field_bit=14, hash_match_group_bit=30, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 14))
-  [31] =  (field_bit=15, hash_match_group_bit=31, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.groupId', 15))
+  [16] =  (field_bit=0, hash_match_group_bit=16, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 0))
+  [17] =  (field_bit=1, hash_match_group_bit=17, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 1))
+  [18] =  (field_bit=2, hash_match_group_bit=18, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 2))
+  [19] =  (field_bit=3, hash_match_group_bit=19, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 3))
+  [20] =  (field_bit=4, hash_match_group_bit=20, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 4))
+  [21] =  (field_bit=5, hash_match_group_bit=21, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 5))
+  [22] =  (field_bit=6, hash_match_group_bit=22, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 6))
+  [23] =  (field_bit=7, hash_match_group_bit=23, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 7))
+  [24] =  (field_bit=8, hash_match_group_bit=24, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 8))
+  [25] =  (field_bit=9, hash_match_group_bit=25, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 9))
+  [26] =  (field_bit=10, hash_match_group_bit=26, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 10))
+  [27] =  (field_bit=11, hash_match_group_bit=27, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 11))
+  [28] =  (field_bit=12, hash_match_group_bit=28, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 12))
+  [29] =  (field_bit=13, hash_match_group_bit=29, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 13))
+  [30] =  (field_bit=14, hash_match_group_bit=30, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 14))
+  [31] =  (field_bit=15, hash_match_group_bit=31, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.group_id', 15))
   [32] = None
   [33] = None
   [34] =  (field_bit=10, hash_match_group_bit=10, entry_in_ram_word=0, entry_in_wide_word=0, data_type=match_data, mg=0, field_tuple=('--entry-0--ecmp_metadata.selector', 10))
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 abe1470..e39e190 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 0x7f7a2415a190>, 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 0x7f7446718210>, 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 0x7f7a2370eb50>, 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 0x7f74466ffbd0>, 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 0x7f7a27906250>, 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 0x7f744a26a2d0>, 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 0x7f7a23e259d0>, 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 0x7f7446a9aa50>, 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 cb1e05b..2a00faa 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 0x7f7a28437c10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f744ad95cd0>]) 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 0x7f7a28437c10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f744ad95cd0>]) 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 0x7f7a28437c10>]) and and xor_fields is OrderedSet()
+fields = OrderedSet([<p4_hlir.hlir.p4_headers.p4_field object at 0x7f744ad95cd0>]) 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 4628e6b..3494ab0 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 Match Table table0 did not specify the number of entries required. A default value (512) will be used.
@@ -219,8 +219,8 @@
 Overhead bit width for table ecmp_group_table is 0 bits.
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 
 ---------------------------------------------
 Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
@@ -228,8 +228,8 @@
 Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 Overhead SRAMs to use = 3
   Entries requested = 1024  and match entries get = 3072
 ram_size_matrix = 
@@ -276,8 +276,8 @@
 Overhead bit width for table ecmp_group_table is 0 bits.
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 
 ---------------------------------------------
 Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
@@ -285,8 +285,8 @@
 Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 Overhead SRAMs to use = 3
   Entries requested = 1024  and match entries get = 3072
 ram_size_matrix = 
@@ -331,8 +331,8 @@
 Overhead bit width for table ecmp_group_table is 0 bits.
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 
 ---------------------------------------------
 Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
@@ -340,8 +340,8 @@
 Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 Overhead SRAMs to use = 3
   Entries requested = 1024  and match entries get = 3072
 ram_size_matrix = 
@@ -386,8 +386,8 @@
 Overhead bit width for table ecmp_group_table is 0 bits.
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 
 ---------------------------------------------
 Call to can_any_match_key_fields_be_shared(stage=0, table=ecmp_group_table)
@@ -395,8 +395,8 @@
 Decided way to allocate for table ecmp_group_table in stage 0 WAS non_shared
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 Overhead SRAMs to use = 3
   Entries requested = 1024  and match entries get = 3072
 ram_size_matrix = 
@@ -971,8 +971,8 @@
 
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 
 ---------------------------------------------
 Call to can_any_match_key_fields_be_shared(stage=1, table=ecmp_group_table)
@@ -980,8 +980,8 @@
 Decided way to allocate for table ecmp_group_table in stage 1 WAS non_shared
 Allocating: Byte 0 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[7:0]}.
 Allocating: Byte 1 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.selector[15:8]}.
-Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[7:0]}.
-Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.groupId[15:8]}.
+Allocating: Byte 2 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[7:0]}.
+Allocating: Byte 3 is of type exact and member of group 0 (parity group 0) with 16 bytes. for {ecmp_metadata.group_id[15:8]}.
 Packing choices are:
 Choice 0
   entries_per_table_word : 1
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 cf8d0f1..f845959 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 9107514..92054d9 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 072047b..52527ff 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 b2d4dcc..cd4e13b 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 61320e1..b314530 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 2e1efbd..55dbc6a 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
@@ -194,7 +194,7 @@
 |   phv133  | ingress |                                          |       |  |   |    |   |   |   |   |   |   |   |   |   |    |    |   |
 |   [15:0]  | ingress |         ethernet.etherType[15:0]         |  pkt  |  | W | R  | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~ | ~  | ~  | R |
 |   phv134  | ingress |                                          |       |  |   |    |   |   |   |   |   |   |   |   |   |    |    |   |
-|   [15:0]  | ingress |       ecmp_metadata.groupId[15:0]        |  meta |  |   | W  | R |   |   |   |   |   |   |   |   |    |    |   |
+|   [15:0]  | ingress |       ecmp_metadata.group_id[15:0]       |  meta |  |   | W  | R |   |   |   |   |   |   |   |   |    |    |   |
 |   phv135  | ingress |                                          |       |  |   |    |   |   |   |   |   |   |   |   |   |    |    |   |
 |   [15:0]  | ingress |       ecmp_metadata.selector[15:0]       |  meta |  |   | W  | R |   |   |   |   |   |   |   |   |    |    |   |
 |   phv136  |    -    |                                          |       |  |   |    |   |   |   |   |   |   |   |   |   |    |    |   |
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 f45834a..13d6041 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 0401716..37549c5 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 4cab7bd..0eaf2fe 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -472,7 +472,7 @@
 |   --validity_check--packet_out_hdr  |     1     |  ingress  |    x    |     x     |           |      x       |       x       |
 |        --validity_check--tcp        |     1     |  ingress  |    x    |     x     |           |              |               |
 |        --validity_check--udp        |     1     |  ingress  |    x    |     x     |           |              |               |
-|        ecmp_metadata.groupId        |     16    |  ingress  |         |           |     x     |      x       |       x       |
+|        ecmp_metadata.group_id       |     16    |  ingress  |         |           |     x     |      x       |       x       |
 |        ecmp_metadata.selector       |     16    |  ingress  |         |           |     x     |      x       |       x       |
 |           ethernet.dstAddr          |     48    |  ingress  |    x    |     x     |           |      x       |               |
 |          ethernet.etherType         |     16    |  ingress  |    x    |     x     |           |      x       |               |
@@ -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 1504859166.85
+>>Event 'pa_init' at time 1505215004.27
    Took 0.01 seconds
 --------------------------------------------
 PHV MAU Groups: 92
@@ -696,7 +696,7 @@
   udp.checksum <16 bits ingress parsed tagalong>
 
 Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
-  ecmp_metadata.groupId <16 bits ingress meta R W>
+  ecmp_metadata.group_id <16 bits ingress meta R W>
 
 Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
   ecmp_metadata.selector <16 bits ingress meta R W>
@@ -837,7 +837,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1504859166.85
+>>Event 'pa_resv' at time 1505215004.27
    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 1504859166.89
+>>Event 'pa_bridge' at time 1505215004.31
    Took 0.04 seconds
 
 -----------------------------------------------
@@ -932,7 +932,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1504859166.89
+>>Event 'pa_phase0' at time 1505215004.31
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -985,7 +985,7 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1504859166.90
+>>Event 'pa_critical' at time 1505215004.31
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -2068,8 +2068,8 @@
 |     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
 -----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1504859175.96
-   Took 9.06 seconds
+>>Event 'pa_overlay' at time 1505215013.40
+   Took 9.09 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2685,8 +2685,8 @@
 |     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1504859179.69
-   Took 3.73 seconds
+>>Event 'pa_meta1' at time 1505215017.16
+   Took 3.76 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 1)
@@ -2841,7 +2841,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1504859179.79
+>>Event 'pa_pov' at time 1505215017.27
    Took 0.10 seconds
 
 -----------------------------------------------
@@ -2998,7 +2998,7 @@
  egress
     phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1504859179.91
+>>Event 'pa_meta2' at time 1505215017.39
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -3096,13 +3096,13 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 3 / 35 bits (35 ingress bits and 0 egress bits)
-     0: ecmp_metadata.groupId (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
+     0: ecmp_metadata.group_id (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
      1: ecmp_metadata.selector (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
      2: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=2, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=0, latest_use=12)
 
 ---------------------------------------
 Working on:
-ecmp_metadata.groupId <16 bits ingress meta R W>
+ecmp_metadata.group_id <16 bits ingress meta R W>
 max_split = None, adj = None
 Of remaining metadata fields to allocate
    max_overlay = 0 (0 bits)
@@ -3112,12 +3112,12 @@
 min_parse_states = 1
 bits_per_state = 16
 Parse state 0 (16 bits)
-  ecmp_metadata.groupId [15:0]
---------------------------------------------------------------------------------------------
-|          Name         | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
-| ecmp_metadata.groupId | 16 |   False   |  -  |  -   |     -     |   None   |     1      |
---------------------------------------------------------------------------------------------
+  ecmp_metadata.group_id [15:0]
+---------------------------------------------------------------------------------------------
+|          Name          | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+---------------------------------------------------------------------------------------------
+| ecmp_metadata.group_id | 16 |   False   |  -  |  -   |     -     |   None   |     1      |
+---------------------------------------------------------------------------------------------
 
   req packing: [None]
   disallowed packing: [None]
@@ -3135,11 +3135,11 @@
   Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
   Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
   Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
-Metadata instance: ecmp_metadata.groupId <16 bits ingress meta R W>
+Metadata instance: ecmp_metadata.group_id <16 bits ingress meta R W>
 >>req_alignment = None
 >>allowed_container_start_bits = None
 >>req_container = None
-***Allocating phv134[15:0] for ecmp_metadata.groupId[15:0]
+***Allocating phv134[15:0] for ecmp_metadata.group_id[15:0]
 
 ---------------------------------------
 Working on:
@@ -3225,7 +3225,7 @@
     final start_bit = 5
   (1) msb_offset = 8
 ***Allocating phv68[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1504859180.07
+>>Event 'pa_meta_init' at time 1505215017.55
    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 8a7bb15..2c662cf 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 Program: ecmp
@@ -105,7 +105,7 @@
   16-bit PHV 132 (ingress): phv132[15:8] = ethernet.dstAddr[7:0] (deparsed)
   16-bit PHV 132 (ingress): phv132[7:0] = ethernet.srcAddr[47:40] (deparsed)
   16-bit PHV 133 (ingress): phv133[15:0] = ethernet.etherType[15:0] (deparsed)
-  16-bit PHV 134 (ingress): phv134[15:0] = ecmp_metadata.groupId[15:0]
+  16-bit PHV 134 (ingress): phv134[15:0] = ecmp_metadata.group_id[15:0]
   16-bit PHV 135 (ingress): phv135[15:0] = ecmp_metadata.selector[15:0]
   >> 8 in ingress and 0 in egress
 
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 0e60adf..3377828 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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_140162566980432
-	parse_tcp_140162565529552
-	parse_udp_140162565528592
-	parse_ipv4_140162562411728
-	parse_ethernet_140162562408656
-	parse_pkt_in_140162562411664
-	parse_pkt_out_140162565527504
-	default_parser_140162565527696
-	start_140162562410704
-	<Phase 0>_140162562277968
-	<Ingress intrinsic metadata>_140162562277648
-	<POV initialization>_140162562278352
-	<Shim start state>_140162562278672
+	parse_tcp_140137374004176
+	parse_tcp_140137367945424
+	parse_udp_140137367946384
+	parse_ipv4_140137373101392
+	parse_ethernet_140137373098256
+	parse_pkt_in_140137373101328
+	parse_pkt_out_140137367947472
+	default_parser_140137367947280
+	start_140137373100368
+	<Phase 0>_140137372910288
+	<Ingress intrinsic metadata>_140137372909968
+	<POV initialization>_140137372910672
+	<Shim start state>_140137372910992
 ]
 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 3bfe6a7..23dd4fa 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 Configuring deparser.inp.iim.ii_phv_csum.csum_cfg[0].csum_cfg_entry[0].zero_m_s_b = 1
@@ -16133,7 +16133,7 @@
  131 | I g4w3:   [ipv4.srcAddr[15:0]]
  132 | I g4w4:   [ethernet.dstAddr[7:0], ethernet.srcAddr[47:40]]
  133 | I g4w5:   [ethernet.etherType]
- 134 | I g4w6:   [ecmp_metadata.groupId]
+ 134 | I g4w6:   [ecmp_metadata.group_id]
  135 | I g4w7:   [ecmp_metadata.selector]
  136 |   g4w8:   
  137 |   g4w9:   
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 e6b473b..10e9c8b 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 1c409b9..c9e0bcf 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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, 140162565357008)'
-Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140162565357072)'
-Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140162562409616)'
-Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140162562408912)'
-Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140162562409680)'
-Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140162562408528)'
-Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140162562409744)'
-Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140162562409808)'
+Creating shadow state: 'p4_parse_state.start' -> 'shadow_state (start, 140137368047184)'
+Creating shadow state: 'p4_parse_state.parse_pkt_in' -> 'shadow_state (parse_pkt_in, 140137373098640)'
+Creating shadow state: 'p4_parse_state.parse_ethernet' -> 'shadow_state (parse_ethernet, 140137373099280)'
+Creating shadow state: 'p4_parse_state.parse_ipv4' -> 'shadow_state (parse_ipv4, 140137373098448)'
+Creating shadow state: 'p4_parse_state.parse_tcp' -> 'shadow_state (parse_tcp, 140137373099344)'
+Creating shadow state: 'p4_parse_state.parse_udp' -> 'shadow_state (parse_udp, 140137373098064)'
+Creating shadow state: 'p4_parse_state.default_parser' -> 'shadow_state (default_parser, 140137373099408)'
+Creating shadow state: 'p4_parse_state.parse_pkt_out' -> 'shadow_state (parse_pkt_out, 140137373099472)'
 ># End unroll of HLIR parse graph
 ># Begin deparser init
 >## Create records for gress 0
@@ -91,13 +91,13 @@
 ># Begin scraping deparser POV allocation from raw PHV allocation
 PHV layout: [0, 0, 0, 0, 67, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
 >## Scraping individual POV records
+POV 32 -> packet_in_hdr
+POV 33 -> packet_out_hdr
 POV 34 -> ethernet
 POV 35 -> ipv4
 POV 36 -> tcp
-POV 37 -> udp
 POV 38 -> pov_bmeta
-POV 32 -> packet_in_hdr
-POV 33 -> packet_out_hdr
+POV 37 -> udp
 >## Setting up array bits
 ># End scraping deparser POV allocation from raw PHV allocation
 ># Begin parser POV rewrite
@@ -118,12 +118,12 @@
 ># Begin scraping deparser POV allocation from raw PHV allocation
 PHV layout: [81, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
 >## Scraping individual POV records
+POV 0 -> packet_in_hdr
+POV 1 -> packet_out_hdr
 POV 2 -> ethernet
 POV 3 -> ipv4
 POV 4 -> tcp
 POV 5 -> udp
-POV 0 -> packet_in_hdr
-POV 1 -> packet_out_hdr
 >## Setting up array bits
 ># End scraping deparser POV allocation from raw PHV allocation
 ># Begin parser POV rewrite
@@ -237,9 +237,9 @@
 outputs[addr, width]: ([67, 8], [288, 8], [320, 16], [321, 16], [256, 32], [1, 32], [64, 8], [131, 16], [2, 32])
 branch on = fragOffset, offset = 51b, dst = parse_ipv4
 branch on = protocol, offset = 72b, dst = parse_ipv4
-match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)]
-match key = [0, 1, 2, 3, 4, 5, 6, 7]
+match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
 match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
+match key = [0, 1, 2, 3, 4, 5, 6, 7]
 next state parse_tcp val 6 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
 next state parse_udp val 17 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
 parent state parse_ethernet
@@ -290,9 +290,9 @@
 branch on = None, offset = 0b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
 branch on = None, offset = 64b, dst = <POV initialization>_<Ingress intrinsic metadata>_<Phase 0>
 branch promise on = ingress_port, offset = 7b, dst = default_parser
-match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)]
-match key = [0, 1, 2, 3, 4, 5, 6, 7]
+match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
 match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, 8]
+match key = [0, 1, 2, 3, 4, 5, 6, 7]
 next state start val 0 mask [False]
 parent state <Shim start state>
 
@@ -451,9 +451,9 @@
 outputs[addr, width]: ([81, 8], [296, 8], [297, 8], [332, 16], [333, 16], [334, 16], [264, 32], [265, 32], [266, 32])
 branch on = fragOffset, offset = 51b, dst = parse_ipv4
 branch on = protocol, offset = 72b, dst = parse_ipv4
-match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16)]
-match key = [0, 1, 2, 3, 4, 5, 6, 7]
+match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8)]
 match key = [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, None, None, None]
+match key = [0, 1, 2, 3, 4, 5, 6, 7]
 next state parse_tcp val 6 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
 next state parse_udp val 17 mask [True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True]
 parent state parse_ethernet
@@ -503,9 +503,9 @@
 branch on = None, offset = 24b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
 branch on = None, offset = 168b, dst = <POV initialization>_<Egress intrinsic metadata>_<POV skip>_<_parse_bridged_ingress_intrinsic_metadata>_start
 branch promise on = ingress_port, offset = 63b, dst = default_parser
-match_extractions: [match_window(hw_id=2, width=8), match_window(hw_id=0, width=16), match_window(hw_id=3, width=8)]
-match key = [8, 9, 10, 11, 12, 13, 14, 15]
+match_extractions: [match_window(hw_id=0, width=16), match_window(hw_id=2, width=8), match_window(hw_id=3, width=8)]
 match key = [None, None, None, None, None, None, None, None, None, None, None, None, None, None, None, None]
+match key = [8, 9, 10, 11, 12, 13, 14, 15]
 match key = [0, 1, 2, 3, 4, 5, 6, 7]
 next state parse_pkt_in val 0 mask [True, True, True, True, True, True, True, True]
 next state default_parser val 0 mask [False]
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 71507d1..7e22359 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 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 1f4cd19..5cd34c4 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: Fri Sep  8 08:26:04 2017                               |
+|  Created on: Tue Sep 12 11:16:41 2017                               |
 +---------------------------------------------------------------------+
 
 -------------------------------