Fixing packet_io and regenerating default.p4 for tofino

Change-Id: I5c2c6565f71a13b375a8ec8da864e9157b8e56ed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
index 6caf282..253cf9e 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/default/mavericks/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Thu Sep  7 13:56:08 2017                               |
+|  Created on: Fri Sep  8 08:23:45 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -60,7 +60,7 @@
 -----------------------------------------------
 
 -----------------------------------------------
-   Eliminating unused metadata (98 instances)
+   Eliminating unused metadata (99 instances)
 -----------------------------------------------
 Removing standard_metadata.ingress_port in ingress
 Removing standard_metadata.packet_length in ingress
@@ -80,6 +80,7 @@
 Removing ig_intr_md_for_tm.qid in ingress
 Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
 Removing ig_intr_md_for_tm._pad2 in ingress
+Removing ig_intr_md_for_tm.copy_to_cpu in ingress
 Removing ig_intr_md_for_tm.packet_color in ingress
 Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
 Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
@@ -174,10 +175,10 @@
 --------------------------------------------
   ingress field instance bit width histogram
 --------------------------------------------
-   Total fields: 49
+   Total fields: 48
    Max value: 13
 
-    1 : xxxxxxxxxx (10)
+    1 : xxxxxxxxx (9)
     2 : x (1)
     3 : xxxxx (5)
     4 : xxx (3)
@@ -193,17 +194,17 @@
 --------------------------------------------
   egress field instance bit width histogram
 --------------------------------------------
-   Total fields: 46
+   Total fields: 44
    Max value: 13
 
-    1 : xxxxxxx (7)
+    1 : xxxxxx (6)
     3 : xxxx (4)
     4 : xxx (3)
     5 : x (1)
     6 : x (1)
     7 : xxx (3)
     8 : xxx (3)
-    9 : xxxx (4)
+    9 : xxx (3)
    13 : x (1)
    16 : xxxxxxxxxxxxx (13)
    32 : xxxx (4)
@@ -265,7 +266,7 @@
 -----------------------------------------------
 
 -----------------------------------------------
-   Eliminating unused metadata (98 instances)
+   Eliminating unused metadata (99 instances)
 -----------------------------------------------
 Removing standard_metadata.ingress_port in ingress
 Removing standard_metadata.packet_length in ingress
@@ -285,6 +286,7 @@
 Removing ig_intr_md_for_tm.qid in ingress
 Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
 Removing ig_intr_md_for_tm._pad2 in ingress
+Removing ig_intr_md_for_tm.copy_to_cpu in ingress
 Removing ig_intr_md_for_tm.packet_color in ingress
 Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
 Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
@@ -379,10 +381,10 @@
 --------------------------------------------
   ingress field instance bit width histogram
 --------------------------------------------
-   Total fields: 49
+   Total fields: 48
    Max value: 13
 
-    1 : xxxxxxxxxx (10)
+    1 : xxxxxxxxx (9)
     2 : x (1)
     3 : xxxxx (5)
     4 : xxx (3)
@@ -398,17 +400,17 @@
 --------------------------------------------
   egress field instance bit width histogram
 --------------------------------------------
-   Total fields: 46
+   Total fields: 44
    Max value: 13
 
-    1 : xxxxxxx (7)
+    1 : xxxxxx (6)
     3 : xxxx (4)
     4 : xxx (3)
     5 : x (1)
     6 : x (1)
     7 : xxx (3)
     8 : xxx (3)
-    9 : xxxx (4)
+    9 : xxx (3)
    13 : x (1)
    16 : xxxxxxxxxxxxx (13)
    32 : xxxx (4)
@@ -419,7 +421,7 @@
 ---------------------------------------------------------------------------------------------------------------------------------
 |      --validity_check--ethernet     |     1     |   egress  |    x    |     x     |           |              |               |
 |        --validity_check--ipv4       |     1     |   egress  |    x    |     x     |           |              |               |
-|   --validity_check--packet_in_hdr   |     1     |   egress  |    x    |     x     |           |              |       x       |
+|   --validity_check--packet_in_hdr   |     1     |   egress  |    x    |     x     |           |              |               |
 |   --validity_check--packet_out_hdr  |     1     |   egress  |    x    |     x     |           |              |               |
 |        --validity_check--tcp        |     1     |   egress  |    x    |     x     |           |              |               |
 |        --validity_check--udp        |     1     |   egress  |    x    |     x     |           |              |               |
@@ -430,8 +432,6 @@
 |           ethernet.dstAddr          |     48    |   egress  |    x    |     x     |           |              |               |
 |          ethernet.etherType         |     16    |   egress  |    x    |     x     |           |              |               |
 |           ethernet.srcAddr          |     48    |   egress  |    x    |     x     |           |              |               |
-|       ig_intr_md.ingress_port       |     9     |   egress  |    x    |           |     x     |      x       |               |
-|    ig_intr_md_for_tm.copy_to_cpu    |     1     |   egress  |    x    |           |     x     |      x       |               |
 |            ipv4.diffserv            |     8     |   egress  |    x    |     x     |           |              |               |
 |             ipv4.dstAddr            |     32    |   egress  |    x    |     x     |           |              |               |
 |              ipv4.flags             |     3     |   egress  |    x    |     x     |           |              |               |
@@ -445,7 +445,7 @@
 |               ipv4.ttl              |     8     |   egress  |    x    |     x     |           |              |               |
 |             ipv4.version            |     4     |   egress  |    x    |     x     |           |              |               |
 |        packet_in_hdr._padding       |     7     |   egress  |    x    |     x     |           |              |               |
-|      packet_in_hdr.ingress_port     |     9     |   egress  |    x    |     x     |           |              |       x       |
+|      packet_in_hdr.ingress_port     |     9     |   egress  |    x    |     x     |           |              |               |
 |       packet_out_hdr._padding       |     7     |   egress  |    x    |     x     |           |              |               |
 |      packet_out_hdr.egress_port     |     9     |   egress  |    x    |     x     |           |              |               |
 |              tcp.ackNo              |     32    |   egress  |    x    |     x     |           |              |               |
@@ -466,7 +466,7 @@
 |      --validity_check--ethernet     |     1     |  ingress  |    x    |     x     |           |              |               |
 |        --validity_check--ipv4       |     1     |  ingress  |    x    |     x     |           |              |               |
 |  --validity_check--metadata_bridge  |     1     |  ingress  |    x    |     x     |           |              |               |
-|   --validity_check--packet_in_hdr   |     1     |  ingress  |    x    |     x     |           |              |               |
+|   --validity_check--packet_in_hdr   |     1     |  ingress  |    x    |     x     |           |              |       x       |
 |   --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     |           |              |               |
@@ -478,7 +478,6 @@
 |           ig_intr_md._pad3          |     3     |  ingress  |    x    |           |     x     |              |               |
 |       ig_intr_md.ingress_port       |     9     |  ingress  |    x    |     x     |     x     |      x       |               |
 |       ig_intr_md.resubmit_flag      |     1     |  ingress  |    x    |           |     x     |              |               |
-|    ig_intr_md_for_tm.copy_to_cpu    |     1     |  ingress  |         |     x     |     x     |              |       x       |
 |      ig_intr_md_for_tm.drop_ctl     |     3     |  ingress  |         |     x     |     x     |              |       x       |
 | ig_intr_md_for_tm.ucast_egress_port |     9     |  ingress  |         |     x     |     x     |      x       |       x       |
 |            ipv4.diffserv            |     8     |  ingress  |    x    |     x     |           |              |               |
@@ -494,7 +493,7 @@
 |               ipv4.ttl              |     8     |  ingress  |    x    |     x     |           |              |               |
 |             ipv4.version            |     4     |  ingress  |    x    |     x     |           |              |               |
 |        packet_in_hdr._padding       |     7     |  ingress  |    x    |     x     |           |              |               |
-|      packet_in_hdr.ingress_port     |     9     |  ingress  |    x    |     x     |           |              |               |
+|      packet_in_hdr.ingress_port     |     9     |  ingress  |    x    |     x     |           |              |       x       |
 |       packet_out_hdr._padding       |     7     |  ingress  |    x    |     x     |           |              |               |
 |      packet_out_hdr.egress_port     |     9     |  ingress  |    x    |     x     |           |      x       |               |
 |              tcp.ackNo              |     32    |  ingress  |    x    |     x     |           |              |               |
@@ -550,19 +549,19 @@
   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 1504792570.39
+>>Event 'pa_init' at time 1504859028.15
    Took 0.01 seconds
 --------------------------------------------
-PHV MAU Groups: 93
+PHV MAU Groups: 90
 --------------------------------------------
 Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
+  ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
+  packet_in_hdr.ingress_port <9 bits ingress parsed W>
+
+Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
   ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
   packet_out_hdr.egress_port <9 bits ingress parsed R>
 
-Phv Mau Group (egress) -- 2 instances for total bit width of 18.
-  packet_in_hdr.ingress_port <9 bits egress parsed W>
-  ig_intr_md.ingress_port <9 bits egress parsed imeta R>
-
 Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
   ig_intr_md.resubmit_flag <1 bits ingress parsed imeta>
 
@@ -575,20 +574,11 @@
 Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
   ig_intr_md._pad3 <3 bits ingress parsed imeta>
 
-Phv Mau Group (ingress) -- 1 instance for total bit width of 9.
-  ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
-
 Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
   ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
 
 Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
-  ig_intr_md_for_tm.copy_to_cpu <1 bits ingress imeta W>
-
-Phv Mau Group (ingress) -- 1 instance for total bit width of 9.
-  packet_in_hdr.ingress_port <9 bits ingress parsed tagalong>
-
-Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
-  --validity_check--packet_in_hdr <1 bits ingress parsed pov>
+  --validity_check--packet_in_hdr <1 bits ingress parsed pov W>
 
 Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
   packet_in_hdr._padding <7 bits ingress parsed tagalong>
@@ -704,8 +694,11 @@
 Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
   --validity_check--metadata_bridge <1 bits ingress parsed pov>
 
+Phv Mau Group (egress) -- 1 instance for total bit width of 9.
+  packet_in_hdr.ingress_port <9 bits egress parsed tagalong>
+
 Phv Mau Group (egress) -- 1 instance for total bit width of 1.
-  --validity_check--packet_in_hdr <1 bits egress parsed pov W>
+  --validity_check--packet_in_hdr <1 bits egress parsed pov>
 
 Phv Mau Group (egress) -- 1 instance for total bit width of 7.
   packet_in_hdr._padding <7 bits egress parsed tagalong>
@@ -821,9 +814,6 @@
 Phv Mau Group (egress) -- 1 instance for total bit width of 16.
   udp.checksum <16 bits egress parsed tagalong>
 
-Phv Mau Group (egress) -- 1 instance for total bit width of 1.
-  ig_intr_md_for_tm.copy_to_cpu <1 bits egress parsed imeta R>
-
 Phv Mau Group (egress) -- 1 instance for total bit width of 7.
   eg_intr_md._pad0 <7 bits egress parsed imeta>
 
@@ -837,7 +827,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1504792570.39
+>>Event 'pa_resv' at time 1504859028.15
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -879,239 +869,14 @@
   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 1504792570.43
+>>Event 'pa_bridge' at time 1504859028.19
    Took 0.04 seconds
 
 -----------------------------------------------
   Allocating fields related to bridged metadata
 -----------------------------------------------
 Allocation Step
-  ig_intr_md.ingress_port <9 bits ingress parsed imeta R> and ig_intr_md.ingress_port <9 bits egress parsed imeta R>
-  ig_intr_md_for_tm.copy_to_cpu <1 bits ingress imeta W> and ig_intr_md_for_tm.copy_to_cpu <1 bits egress parsed imeta R>
-
-
-Allowed alignment for fields:
-  ig_intr_md.ingress_port -> [0, 8, 16, 24]
-  ig_intr_md_for_tm.copy_to_cpu -> [0, 1, 2, 3, 4, 5, 6, 7]
-
-Required packing for bridged metadata: 1
-  ig_intr_md.ingress_port (ingress)
-    phv[15:15] = ig_intr_md.resubmit_flag[0:0]
-    phv[14:14] = ig_intr_md._pad1[0:0]
-    phv[13:12] = ig_intr_md._pad2[1:0]
-    phv[11:9] = ig_intr_md._pad3[2:0]
-    phv[8:0] = ig_intr_md.ingress_port[8:0]
-ig_intr_md_for_tm.copy_to_cpu cannot share with any fields:  total bits 1
-
-
-All combinations = 1
-Valid combinations = 1
-Choosing to pack non-byte multiple metadata as below, which wastes 0 bits
-
-Sharing capabilities of groups: (2)
-Group ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port'] can share with 0 other groups:
-Group ['ig_intr_md_for_tm.copy_to_cpu'] can share with 0 other groups:
-
-Merged sharing capabilities of groups: (2)
-Group ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port'] can share with 0 other groups (16 bits):
-Group ['ig_intr_md_for_tm.copy_to_cpu'] can share with 0 other groups (1 bits):
-
-Final group packing:
-Group 0:
-  ['ig_intr_md_for_tm.copy_to_cpu']
-Group 1:
-  ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port']
-Preferred packing is [8, 16]
-
-Final ingress bridged metadata packing: 24 bits (3 bytes)
-  -pad-0- / 7 bits
-  ig_intr_md_for_tm.copy_to_cpu / 1 bits
-  ig_intr_md.resubmit_flag / 1 bits
-  ig_intr_md._pad1 / 1 bits
-  ig_intr_md._pad2 / 2 bits
-  ig_intr_md._pad3 / 3 bits
-  ig_intr_md.ingress_port / 9 bits
-
-Final egress bridged metadata packing: 24 bits (3 bytes)
-  -pad-0- / 7 bits
-  ig_intr_md_for_tm.copy_to_cpu / 1 bits
-  -pad-1- / 7 bits
-  ig_intr_md.ingress_port / 9 bits
-
--------------------------------------------
-Allocating parsed header: pkt fields (7) / meta fields (0) using extraction bandwidth 224
--------------------------------------------
-Extracted bits: 24
-Set metadata bits: 0
-Gress: ingress
-bits_will_need_to_parse = 24
-unused_metadata_container_bits = 0
-min_parse_states = 1
-bits_per_state = 24
-Parse state 0 (24 bits)
-  -pad-0- [6:0]
-  ig_intr_md_for_tm.copy_to_cpu [0:0]
-  ig_intr_md.resubmit_flag [0:0]
-  ig_intr_md._pad1 [0:0]
-  ig_intr_md._pad2 [1:0]
-  ig_intr_md._pad3 [2:0]
-  ig_intr_md.ingress_port [8:0]
-----------------------------------------------------------------------------------------------------
-|              Name             | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------------------
-|            -pad-0-            | 7  |    True   |  -  |  -   |     -     |   None   |     1      |
-| ig_intr_md_for_tm.copy_to_cpu | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
-|    ig_intr_md.resubmit_flag   | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
-|        ig_intr_md._pad1       | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
-|        ig_intr_md._pad2       | 2  |   False   |  -  |  -   |     -     |    1     |     1      |
-|        ig_intr_md._pad3       | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
-|    ig_intr_md.ingress_port    | 9  |   False   |  -  |  -   |     -     |    2     |     1      |
-----------------------------------------------------------------------------------------------------
-
-Packing options: 5
-MAU containers available:
-  8-bit: 48
-  16-bit: 80
-  32-bit: 47
-Tagalong containers available:
-  8-bit: 32
-  16-bit: 48
-  32-bit: 32
-Initial packing options: 5
-
-Packing option 0:  [8, 16]
-MAU containers after:
-  8-bit: 47
-  16-bit: 79
-  32-bit: 47
-+----------------------------------------+
-|  -pad-0- [6:0]                         |
-|  ig_intr_md_for_tm.copy_to_cpu [0:0]   |
-+----------------------------------------+
-|  ig_intr_md.resubmit_flag [0:0]        |
-|  ig_intr_md._pad1 [0:0]                |
-|  ig_intr_md._pad2 [1:0]                |
-|  ig_intr_md._pad3 [2:0]                |
-|  ig_intr_md.ingress_port [8:0]         |
-+----------------------------------------+
-
-Looking at -pad-0- (ingress) [6:0], with test_alloc = False
-Looking at ig_intr_md_for_tm.copy_to_cpu (ingress) [0:0], with test_alloc = True
-----> ig_intr_md_for_tm.copy_to_cpu (ingress) is allocated? False
-Checking if can overlay metadata field.
-No required PHV group.
-Could not find container to overlay in.
-
-MAU groups: 3
-  Group 4 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv64
-  Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
-  Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
-***Allocating phv64[7:1] for -pad-0-[6:0]
-***Allocating phv64[0:0] for ig_intr_md_for_tm.copy_to_cpu[0:0]
-Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
-----> ig_intr_md.resubmit_flag (ingress) is allocated? False
-Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
-Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
-Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
-Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
-Checking if can overlay metadata field.
-No required PHV group.
-Could not find container to overlay in.
-
-MAU groups: 5
-  Group 8 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv128
-  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
-  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
-  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
-  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
-***Allocating phv128[15:15] for ig_intr_md.resubmit_flag[0:0]
-***Allocating phv128[14:14] for ig_intr_md._pad1[0:0]
-***Allocating phv128[13:12] for ig_intr_md._pad2[1:0]
-***Allocating phv128[11:9] for ig_intr_md._pad3[2:0]
-***Allocating phv128[8:0] for ig_intr_md.ingress_port[8:0]
-Packing options tried: 1
-Packing options skipped: 0
-
-
--------------------------------------------
-Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
--------------------------------------------
-Extracted bits: 24
-Set metadata bits: 0
-Gress: egress
-bits_will_need_to_parse = 24
-unused_metadata_container_bits = 0
-min_parse_states = 1
-bits_per_state = 24
-Parse state 0 (24 bits)
-  -pad-0- [6:0]
-  ig_intr_md_for_tm.copy_to_cpu [0:0]
-  -pad-1- [6:0]
-  ig_intr_md.ingress_port [8:0]
-----------------------------------------------------------------------------------------------------
-|              Name             | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------------------
-|            -pad-0-            | 7  |    True   |  -  |  -   |     -     |   None   |     1      |
-| ig_intr_md_for_tm.copy_to_cpu | 1  |   False   |  -  |  -   |     -     |   None   |     1      |
-|            -pad-1-            | 7  |    True   |  -  |  -   |     -     |   None   |     1      |
-|    ig_intr_md.ingress_port    | 9  |   False   |  -  |  -   |    [32]   |   None   |     2      |
-----------------------------------------------------------------------------------------------------
-
-Packing options: 5
-MAU containers available:
-  8-bit: 48
-  16-bit: 80
-  32-bit: 48
-Tagalong containers available:
-  8-bit: 32
-  16-bit: 48
-  32-bit: 32
-Initial packing options: 5
-
-Packing option 0:  [8, 16]
-MAU containers after:
-  8-bit: 47
-  16-bit: 78
-  32-bit: 48
-+----------------------------------------+
-|  -pad-0- [6:0]                         |
-|  ig_intr_md_for_tm.copy_to_cpu [0:0]   |
-+----------------------------------------+
-|  -pad-1- [6:0]                         |
-|  ig_intr_md.ingress_port [8:0]         |
-+----------------------------------------+
-
-Looking at -pad-0- (egress) [6:0], with test_alloc = False
-Looking at ig_intr_md_for_tm.copy_to_cpu (egress) [0:0], with test_alloc = True
-----> ig_intr_md_for_tm.copy_to_cpu (egress) is allocated? False
-Checking if can overlay metadata field.
-No required PHV group.
-Could not find container to overlay in.
-
-MAU groups: 3
-  Group 5 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv80
-  Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
-  Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
-***Allocating phv80[7:1] for -pad-0-[6:0]
-***Allocating phv80[0:0] for ig_intr_md_for_tm.copy_to_cpu[0:0]
-Looking at -pad-1- (egress) [6:0], with test_alloc = False
-Looking at ig_intr_md.ingress_port (egress) [8:0], with test_alloc = True
-----> ig_intr_md.ingress_port (egress) is allocated? False
-Checking if can overlay metadata field.
-No required PHV group.
-Could not find container to overlay in.
-
-MAU groups: 5
-  Group 9 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv144
-  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv160
-  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv176
-  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv192
-  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv208
-***Allocating phv144[15:9] for -pad-1-[6:0]
-***Allocating phv144[8:0] for ig_intr_md.ingress_port[8:0]
-Packing options tried: 1
-Packing options skipped: 0
-
+  No bridged metadata field instances required
 
 After allocating bridged metadata:
 Allocation state: Final Allocation
@@ -1125,19 +890,19 @@
 |         3 (32)         |    0 (0.00%)    | 0 (0.00%)  |      512       |
 |    Total for 32 bit    |    1 (1.56%)    | 32 (1.56%) |      2048      |
 |                        |                 |            |                |
-|         4 (8)          |    1 (6.25%)    | 8 (6.25%)  |      128       |
-|         5 (8)          |    1 (6.25%)    | 8 (6.25%)  |      128       |
+|         4 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|         5 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
 |         6 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
 |         7 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|    Total for 8 bit     |    2 (3.12%)    | 16 (3.12%) |      512       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      512       |
 |                        |                 |            |                |
-|         8 (16)         |    1 (6.25%)    | 16 (6.25%) |      256       |
-|         9 (16)         |    1 (6.25%)    | 16 (6.25%) |      256       |
+|         8 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|         9 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        10 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        11 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        12 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        13 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|    Total for 16 bit    |    2 (2.08%)    | 32 (2.08%) |      1536      |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      1536      |
 |                        |                 |            |                |
 |       14 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
 |       15 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
@@ -1152,13 +917,13 @@
 |       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
 |                        |                 |            |                |
-|       MAU total        |    5 (2.23%)    | 80 (1.95%) |      4096      |
+|       MAU total        |    1 (0.45%)    | 32 (0.78%) |      4096      |
 |     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
-|     Overall total      |    5 (1.49%)    | 80 (1.30%) |      6144      |
+|     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_phase0' at time 1504792570.84
-   Took 0.41 seconds
+>>Event 'pa_phase0' at time 1504859028.19
+   Took 0.00 seconds
 
 -----------------------------------------------
   Allocating Phase 0-related metadata
@@ -1178,19 +943,19 @@
 |         3 (32)         |    0 (0.00%)    | 0 (0.00%)  |      512       |
 |    Total for 32 bit    |    1 (1.56%)    | 32 (1.56%) |      2048      |
 |                        |                 |            |                |
-|         4 (8)          |    1 (6.25%)    | 8 (6.25%)  |      128       |
-|         5 (8)          |    1 (6.25%)    | 8 (6.25%)  |      128       |
+|         4 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|         5 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
 |         6 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
 |         7 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|    Total for 8 bit     |    2 (3.12%)    | 16 (3.12%) |      512       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      512       |
 |                        |                 |            |                |
-|         8 (16)         |    1 (6.25%)    | 16 (6.25%) |      256       |
-|         9 (16)         |    1 (6.25%)    | 16 (6.25%) |      256       |
+|         8 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|         9 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        10 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        11 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        12 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |        13 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|    Total for 16 bit    |    2 (2.08%)    | 32 (2.08%) |      1536      |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      1536      |
 |                        |                 |            |                |
 |       14 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
 |       15 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
@@ -1205,12 +970,12 @@
 |       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
 |                        |                 |            |                |
-|       MAU total        |    5 (2.23%)    | 80 (1.95%) |      4096      |
+|       MAU total        |    1 (0.45%)    | 32 (0.78%) |      4096      |
 |     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
-|     Overall total      |    5 (1.49%)    | 80 (1.30%) |      6144      |
+|     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_critical' at time 1504792570.84
+>>Event 'pa_critical' at time 1504859028.20
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -1219,6 +984,7 @@
 Allocation Step
 
 All Sorted parse nodes:
+  ingress_intrinsic_metadata (ingress) with bits = 16 and max = 2
   parse_pkt_out (ingress) with bits = 16 and max = 2
   parse_ipv4 (ingress) with bits = 160 and max = 1
   parse_tcp (ingress) with bits = 160 and max = 1
@@ -1227,7 +993,6 @@
   parse_ethernet (ingress) with bits = 112 and max = 1
   parse_ethernet (egress) with bits = 112 and max = 1
   egress_intrinsic_metadata (egress) with bits = 24 and max = 1
-  ingress_intrinsic_metadata (ingress) with bits = 16 and max = 1
   parse_pkt_out (egress) with bits = 16 and max = 1
   start () with bits = 0 and max = 0
   default_parser () with bits = 0 and max = 0
@@ -1239,6 +1004,85 @@
 Total packet bits: 936
 Total meta bits: 0
 Total bits: 936
+Working on parse node ingress_intrinsic_metadata (9) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (5) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+  ig_intr_md.resubmit_flag [0:0]
+  ig_intr_md._pad1 [0:0]
+  ig_intr_md._pad2 [1:0]
+  ig_intr_md._pad3 [2:0]
+  ig_intr_md.ingress_port [8:0]
+-----------------------------------------------------------------------------------------------
+|           Name           | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------------------
+| ig_intr_md.resubmit_flag | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
+|     ig_intr_md._pad1     | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
+|     ig_intr_md._pad2     | 2  |   False   |  -  |  -   |     -     |    1     |     1      |
+|     ig_intr_md._pad3     | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
+| ig_intr_md.ingress_port  | 9  |   False   |  -  |  -   |    [32]   |    2     |     2      |
+-----------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 2
+MAU containers available:
+  8-bit: 48
+  16-bit: 80
+  32-bit: 47
+Tagalong containers available:
+  8-bit: 32
+  16-bit: 48
+  32-bit: 32
+Initial packing options: 2
+
+Packing option 0:  [16]
+MAU containers after:
+  8-bit: 48
+  16-bit: 78
+  32-bit: 47
++-----------------------------------+
+|  ig_intr_md.resubmit_flag [0:0]   |
+|  ig_intr_md._pad1 [0:0]           |
+|  ig_intr_md._pad2 [1:0]           |
+|  ig_intr_md._pad3 [2:0]           |
+|  ig_intr_md.ingress_port [8:0]    |
++-----------------------------------+
+
+Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
+----> ig_intr_md.resubmit_flag (ingress) is allocated? False
+Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
+Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
+Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
+Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
+Checking if can overlay metadata field.
+No required PHV group.
+Could not find container to overlay in.
+
+MAU groups: 5
+  Group 8 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv128
+  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+***Allocating phv128[15:15] for ig_intr_md.resubmit_flag[0:0]
+***Allocating phv128[14:14] for ig_intr_md._pad1[0:0]
+***Allocating phv128[13:12] for ig_intr_md._pad2[1:0]
+***Allocating phv128[11:9] for ig_intr_md._pad3[2:0]
+***Allocating phv128[8:0] for ig_intr_md.ingress_port[8:0]
+Packing options tried: 1
+Packing options skipped: 0
+
 Working on parse node parse_pkt_out (4) (ingress)
 
 -------------------------------------------
@@ -1266,8 +1110,8 @@
 min_extracts[32] = 1
 Packing options: 2
 MAU containers available:
-  8-bit: 47
-  16-bit: 79
+  8-bit: 48
+  16-bit: 78
   32-bit: 47
 Tagalong containers available:
   8-bit: 32
@@ -1277,8 +1121,8 @@
 
 Packing option 0:  [16]
 MAU containers after:
-  8-bit: 47
-  16-bit: 77
+  8-bit: 48
+  16-bit: 76
   32-bit: 47
 +-------------------------------------+
 |  packet_out_hdr.egress_port [8:0]   |
@@ -1347,7 +1191,7 @@
 min_extracts[32] = 1
 Packing options: 5196
 MAU containers available:
-  8-bit: 47
+  8-bit: 48
   16-bit: 77
   32-bit: 47
 Tagalong containers available:
@@ -1358,7 +1202,7 @@
 
 Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
 MAU containers after:
-  8-bit: 47
+  8-bit: 48
   16-bit: 77
   32-bit: 47
 +------------------------------+
@@ -1463,7 +1307,7 @@
 min_extracts[32] = 1
 Packing options: 5196
 MAU containers available:
-  8-bit: 47
+  8-bit: 48
   16-bit: 77
   32-bit: 47
 Tagalong containers available:
@@ -1472,9 +1316,9 @@
   32-bit: 29
 Initial packing options: 5196
 
-Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
+Packing option 0:  [8, 8, 8, 8, 16, 16, 16, 16, 32, 32]
 MAU containers after:
-  8-bit: 47
+  8-bit: 48
   16-bit: 77
   32-bit: 47
 +-------------------------+
@@ -1482,13 +1326,17 @@
 +-------------------------+
 |  tcp.srcPort [7:0]      |
 +-------------------------+
-|  tcp.dstPort [15:0]     |
+|  tcp.dstPort [15:8]     |
++-------------------------+
+|  tcp.dstPort [7:0]      |
 +-------------------------+
 |  tcp.seqNo [31:16]      |
 +-------------------------+
 |  tcp.seqNo [15:0]       |
 +-------------------------+
-|  tcp.ackNo [31:0]       |
+|  tcp.ackNo [31:16]      |
++-------------------------+
+|  tcp.ackNo [15:0]       |
 +-------------------------+
 |  tcp.dataOffset [3:0]   |
 |  tcp.res [2:0]          |
@@ -1506,34 +1354,40 @@
 Looking at tcp.srcPort (ingress) [7:0], with test_alloc = True
 ----> tcp.srcPort (ingress) is allocated? False
 ***Allocating phv291[7:0] for tcp.srcPort[7:0]
-Looking at tcp.dstPort (ingress) [15:0], with test_alloc = True
+Looking at tcp.dstPort (ingress) [15:8], with test_alloc = True
 ----> tcp.dstPort (ingress) is allocated? False
-***Allocating phv323[15:0] for tcp.dstPort[15:0]
+***Allocating phv292[7:0] for tcp.dstPort[15:8]
+Looking at tcp.dstPort (ingress) [7:0], with test_alloc = True
+----> tcp.dstPort (ingress) is allocated? False
+***Allocating phv293[7:0] for tcp.dstPort[7:0]
 Looking at tcp.seqNo (ingress) [31:16], with test_alloc = True
 ----> tcp.seqNo (ingress) is allocated? False
-***Allocating phv324[15:0] for tcp.seqNo[31:16]
+***Allocating phv323[15:0] for tcp.seqNo[31:16]
 Looking at tcp.seqNo (ingress) [15:0], with test_alloc = True
 ----> tcp.seqNo (ingress) is allocated? False
-***Allocating phv325[15:0] for tcp.seqNo[15:0]
-Looking at tcp.ackNo (ingress) [31:0], with test_alloc = True
+***Allocating phv324[15:0] for tcp.seqNo[15:0]
+Looking at tcp.ackNo (ingress) [31:16], with test_alloc = True
 ----> tcp.ackNo (ingress) is allocated? False
-***Allocating phv259[31:0] for tcp.ackNo[31:0]
+***Allocating phv325[15:0] for tcp.ackNo[31:16]
+Looking at tcp.ackNo (ingress) [15:0], with test_alloc = True
+----> tcp.ackNo (ingress) is allocated? False
+***Allocating phv326[15:0] for tcp.ackNo[15:0]
 Looking at tcp.dataOffset (ingress) [3:0], with test_alloc = True
 ----> tcp.dataOffset (ingress) is allocated? False
 Looking at tcp.res (ingress) [2:0], with test_alloc = True
 Looking at tcp.ecn (ingress) [2:0], with test_alloc = True
 Looking at tcp.ctrl (ingress) [5:0], with test_alloc = True
 Looking at tcp.window (ingress) [15:0], with test_alloc = True
-***Allocating phv260[31:28] for tcp.dataOffset[3:0]
-***Allocating phv260[27:25] for tcp.res[2:0]
-***Allocating phv260[24:22] for tcp.ecn[2:0]
-***Allocating phv260[21:16] for tcp.ctrl[5:0]
-***Allocating phv260[15:0] for tcp.window[15:0]
+***Allocating phv259[31:28] for tcp.dataOffset[3:0]
+***Allocating phv259[27:25] for tcp.res[2:0]
+***Allocating phv259[24:22] for tcp.ecn[2:0]
+***Allocating phv259[21:16] for tcp.ctrl[5:0]
+***Allocating phv259[15:0] for tcp.window[15:0]
 Looking at tcp.checksum (ingress) [15:0], with test_alloc = True
 ----> tcp.checksum (ingress) is allocated? False
 Looking at tcp.urgentPtr (ingress) [15:0], with test_alloc = True
-***Allocating phv261[31:16] for tcp.checksum[15:0]
-***Allocating phv261[15:0] for tcp.urgentPtr[15:0]
+***Allocating phv260[31:16] for tcp.checksum[15:0]
+***Allocating phv260[15:0] for tcp.urgentPtr[15:0]
 Packing options tried: 1
 Packing options skipped: 0
 
@@ -1584,8 +1438,8 @@
 min_extracts[32] = 1
 Packing options: 5196
 MAU containers available:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 Tagalong containers available:
   8-bit: 24
@@ -1595,8 +1449,8 @@
 
 Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
 MAU containers after:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 +------------------------------+
 |  ipv4.version [3:0]          |
@@ -1700,8 +1554,8 @@
 min_extracts[32] = 1
 Packing options: 5196
 MAU containers available:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 Tagalong containers available:
   8-bit: 22
@@ -1711,8 +1565,8 @@
 
 Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
 MAU containers after:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 +-------------------------+
 |  tcp.srcPort [15:8]     |
@@ -1803,18 +1657,18 @@
 min_extracts[32] = 1
 Packing options: 604
 MAU containers available:
-  8-bit: 47
+  8-bit: 48
   16-bit: 77
   32-bit: 47
 Tagalong containers available:
-  8-bit: 20
-  16-bit: 30
-  32-bit: 18
+  8-bit: 18
+  16-bit: 29
+  32-bit: 19
 Initial packing options: 604
 
 Packing option 0:  [8, 32, 16, 8, 32, 16]
 MAU containers after:
-  8-bit: 45
+  8-bit: 46
   16-bit: 75
   32-bit: 45
 +-----------------------------+
@@ -1836,10 +1690,10 @@
 ----> ethernet.dstAddr (ingress) is allocated? False
 
 MAU groups: 3
-  Group 4 8 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv65
+  Group 4 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv64
   Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
   Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
-***Allocating phv65[7:0] for ethernet.dstAddr[47:40]
+***Allocating phv64[7:0] for ethernet.dstAddr[47:40]
 Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
 ----> ethernet.dstAddr (ingress) is allocated? False
 
@@ -1864,10 +1718,10 @@
 ----> ethernet.srcAddr (ingress) is allocated? False
 
 MAU groups: 3
-  Group 4 8 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv66
+  Group 4 8 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv65
   Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
   Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
-***Allocating phv66[7:0] for ethernet.srcAddr[39:32]
+***Allocating phv65[7:0] for ethernet.srcAddr[39:32]
 Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
 ----> ethernet.srcAddr (ingress) is allocated? False
 
@@ -1918,8 +1772,8 @@
 min_extracts[32] = 1
 Packing options: 604
 MAU containers available:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 Tagalong containers available:
   8-bit: 20
@@ -1929,8 +1783,8 @@
 
 Packing option 0:  [8, 32, 16, 8, 32, 16]
 MAU containers after:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 +-----------------------------+
 |  ethernet.dstAddr [47:40]   |
@@ -2001,8 +1855,8 @@
 min_extracts[32] = 1
 Packing options: 3
 MAU containers available:
-  8-bit: 47
-  16-bit: 78
+  8-bit: 48
+  16-bit: 80
   32-bit: 48
 Tagalong containers available:
   8-bit: 18
@@ -2012,8 +1866,8 @@
 
 Packing option 1:  [16, 8]
 MAU containers after:
-  8-bit: 46
-  16-bit: 77
+  8-bit: 47
+  16-bit: 79
   32-bit: 48
 +---------------------------------+
 |  eg_intr_md._pad0 [6:0]         |
@@ -2028,31 +1882,29 @@
 Looking at eg_intr_md.egress_port (egress) [8:0], with test_alloc = True
 Checking if can overlay metadata field.
 No required PHV group.
-  Group 9 16 bits -- deparsed True -- avail 15 and promised 2 -- ingress promised 0 and remain 0 and req 8 -- egress promised 2 and remain 13 and req 2 -- act like deparsed True -- container_to_use phv146 -- fails False
 Could not find container to overlay in.
 
 MAU groups: 5
-  Group 9 16 bits -- avail 15 -- ingress avail 8 and remain 8 and promised 0 and req 0 -- egress avail 15 and remain 13 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv146
+  Group 9 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv144
   Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv160
   Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv176
   Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv192
   Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv208
-***Allocating phv146[15:9] for eg_intr_md._pad0[6:0]
-***Allocating phv146[8:0] for eg_intr_md.egress_port[8:0]
+***Allocating phv144[15:9] for eg_intr_md._pad0[6:0]
+***Allocating phv144[8:0] for eg_intr_md.egress_port[8:0]
 Looking at eg_intr_md._pad7 (egress) [4:0], with test_alloc = True
 ----> eg_intr_md._pad7 (egress) is allocated? False
 Looking at eg_intr_md.egress_cos (egress) [2:0], with test_alloc = True
 Checking if can overlay metadata field.
 No required PHV group.
-  Group 5 8 bits -- deparsed True -- avail 15 and promised 1 -- ingress promised 0 and remain 0 and req 8 -- egress promised 1 and remain 14 and req 1 -- act like deparsed True -- container_to_use phv81 -- fails False
 Could not find container to overlay in.
 
 MAU groups: 3
-  Group 5 8 bits -- avail 15 -- ingress avail 8 and remain 8 and promised 0 and req 0 -- egress avail 15 and remain 14 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv81
+  Group 5 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv80
   Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
   Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
-***Allocating phv81[7:3] for eg_intr_md._pad7[4:0]
-***Allocating phv81[2:0] for eg_intr_md.egress_cos[2:0]
+***Allocating phv80[7:3] for eg_intr_md._pad7[4:0]
+***Allocating phv80[2:0] for eg_intr_md.egress_cos[2:0]
 Packing options tried: 2
 Packing options skipped: 0
 Failure Reasons:
@@ -2065,86 +1917,6 @@
       ContainerAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- field_bit: 0 -- bits_list: [0, 1, 2, 3, 4, 5, 6, 7]
 ]
 
-Working on parse node ingress_intrinsic_metadata (9) (ingress)
-
--------------------------------------------
-Allocating parsed header: pkt fields (5) / meta fields (0) using extraction bandwidth 224
--------------------------------------------
-Extracted bits: 16
-Set metadata bits: 0
-Gress: ingress
-bits_will_need_to_parse = 16
-unused_metadata_container_bits = 0
-min_parse_states = 1
-bits_per_state = 16
-Already allocated? ig_intr_md.resubmit_flag (ingress)
-Already allocated? ig_intr_md._pad1 (ingress)
-Already allocated? ig_intr_md._pad2 (ingress)
-Already allocated? ig_intr_md._pad3 (ingress)
-Already allocated? ig_intr_md.ingress_port (ingress)
-Already allocated? ig_intr_md.ingress_port (ingress)
-Parse state 0 (16 bits)
-  ig_intr_md.resubmit_flag [0:0]
-  ig_intr_md._pad1 [0:0]
-  ig_intr_md._pad2 [1:0]
-  ig_intr_md._pad3 [2:0]
-  ig_intr_md.ingress_port [8:0]
------------------------------------------------------------------------------------------------------
-|           Name           | BW | Tagalong? |    Req    | Pref | Not Allow | MaxSplit | Group Size |
------------------------------------------------------------------------------------------------------
-| ig_intr_md.resubmit_flag | 1  |   False   | [(16, 1)] |  -   |     -     |    1     |     1      |
-|     ig_intr_md._pad1     | 1  |   False   | [(16, 1)] |  -   |     -     |    1     |     1      |
-|     ig_intr_md._pad2     | 2  |   False   | [(16, 2)] |  -   |     -     |    1     |     1      |
-|     ig_intr_md._pad3     | 3  |   False   | [(16, 3)] |  -   |     -     |    1     |     1      |
-| ig_intr_md.ingress_port  | 9  |   False   | [(16, 9)] |  -   |     -     |    2     |     1      |
------------------------------------------------------------------------------------------------------
-
-min_extracts[8] = 1
-min_extracts[16] = 6
-min_extracts[32] = 1
-Packing options: 2
-MAU containers available:
-  8-bit: 45
-  16-bit: 75
-  32-bit: 45
-Tagalong containers available:
-  8-bit: 20
-  16-bit: 30
-  32-bit: 18
-Initial packing options: 2
-
-Packing option 0:  [16]
-MAU containers after:
-  8-bit: 45
-  16-bit: 75
-  32-bit: 45
-+-----------------------------------+
-|  ig_intr_md.resubmit_flag [0:0]   |
-|  ig_intr_md._pad1 [0:0]           |
-|  ig_intr_md._pad2 [1:0]           |
-|  ig_intr_md._pad3 [2:0]           |
-|  ig_intr_md.ingress_port [8:0]    |
-+-----------------------------------+
-
-Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
-----> ig_intr_md.resubmit_flag (ingress) is allocated? True
-Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
-----> ig_intr_md._pad1 (ingress) is allocated? True
-Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
-----> ig_intr_md._pad2 (ingress) is allocated? True
-Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
-----> ig_intr_md._pad3 (ingress) is allocated? True
-Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
-----> ig_intr_md.ingress_port (ingress) is allocated? True
-Fields for container 16 at index 0 already allocated.  No need to overlay or allocate new.
-  ig_intr_md.resubmit_flag[0:0]
-  ig_intr_md._pad1[0:0]
-  ig_intr_md._pad2[1:0]
-  ig_intr_md._pad3[2:0]
-  ig_intr_md.ingress_port[8:0]
-Packing options tried: 1
-Packing options skipped: 0
-
 Working on parse node parse_pkt_out (4) (egress)
 
 -------------------------------------------
@@ -2172,8 +1944,8 @@
 min_extracts[32] = 1
 Packing options: 2
 MAU containers available:
-  8-bit: 46
-  16-bit: 77
+  8-bit: 47
+  16-bit: 79
   32-bit: 48
 Tagalong containers available:
   8-bit: 18
@@ -2183,8 +1955,8 @@
 
 Packing option 0:  [16]
 MAU containers after:
-  8-bit: 46
-  16-bit: 77
+  8-bit: 47
+  16-bit: 79
   32-bit: 48
 +-------------------------------------+
 |  packet_out_hdr.egress_port [8:0]   |
@@ -2209,50 +1981,50 @@
 
 After allocating critical parse paths:
 Allocation state: Final Allocation
-------------------------------------------------------------------------------
-|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
-| (container bit widths) |     (% used)    |    (% used)   |                |
-------------------------------------------------------------------------------
-|         0 (32)         |    3 (18.75%)   |  96 (18.75%)  |      512       |
-|         1 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         2 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |    3 (4.69%)    |   96 (4.69%)  |      2048      |
-|                        |                 |               |                |
-|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
-|         6 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|         7 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    5 (7.81%)    |   40 (7.81%)  |      512       |
-|                        |                 |               |                |
-|         8 (16)         |    4 (25.00%)   |  64 (25.00%)  |      256       |
-|         9 (16)         |    2 (12.50%)   |  32 (12.50%)  |      256       |
-|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |    6 (6.25%)    |   96 (6.25%)  |      1536      |
-|                        |                 |               |                |
-|       14 (32) T        |   14 (87.50%)   |  448 (87.50%) |      512       |
-|       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   14 (43.75%)   |  448 (43.75%) |      1024      |
-|                        |                 |               |                |
-|        16 (8) T        |   10 (62.50%)   |  80 (62.50%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |   10 (31.25%)   |  80 (31.25%)  |      256       |
-|                        |                 |               |                |
-|       18 (16) T        |   10 (62.50%)   |  160 (62.50%) |      256       |
-|       19 (16) T        |    5 (31.25%)   |  80 (31.25%)  |      256       |
-|       20 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
-|                        |                 |               |                |
-|       MAU total        |    14 (6.25%)   |  232 (5.66%)  |      4096      |
-|     Tagalong total     |   39 (34.82%)   |  768 (37.50%) |      2048      |
-|     Overall total      |   53 (15.77%)   | 1000 (16.28%) |      6144      |
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |   (% used)   |                |
+-----------------------------------------------------------------------------
+|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
+|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
+|                        |                 |              |                |
+|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
+|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
+|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
+|                        |                 |              |                |
+|         8 (16)         |    4 (25.00%)   | 64 (25.00%)  |      256       |
+|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |    5 (5.21%)    |  80 (5.21%)  |      1536      |
+|                        |                 |              |                |
+|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
+|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
+|                        |                 |              |                |
+|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
+|                        |                 |              |                |
+|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
+|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
+|                        |                 |              |                |
+|       MAU total        |    11 (4.91%)   | 200 (4.88%)  |      4096      |
+|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
+|     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
+-----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1504792579.77
-   Took 8.93 seconds
+>>Event 'pa_overlay' at time 1504859037.24
+   Took 9.05 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2260,21 +2032,21 @@
 Allocation Step
 
 All Sorted parse nodes (non-critical):
-  parse_pkt_in (egress) with bits = 16 and max = 2
+  parse_pkt_in (ingress) with bits = 16 and max = 2
   parse_udp (ingress) with bits = 64 and max = 1
   parse_udp (egress) with bits = 64 and max = 1
-  parse_pkt_in (ingress) with bits = 16 and max = 1
+  parse_pkt_in (egress) with bits = 16 and max = 1
 Total packet bits: 160
 Total meta bits: 0
 Total bits: 160
-Working on parse node parse_pkt_in (2) (egress)
+Working on parse node parse_pkt_in (2) (ingress)
 
 -------------------------------------------
 Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
 -------------------------------------------
 Extracted bits: 16
 Set metadata bits: 0
-Gress: egress
+Gress: ingress
 bits_will_need_to_parse = 16
 unused_metadata_container_bits = 0
 min_parse_states = 1
@@ -2291,18 +2063,18 @@
 
 MAU containers available:
   8-bit: 46
-  16-bit: 77
-  32-bit: 48
+  16-bit: 75
+  32-bit: 45
 Packing options: 2
 Initial packing options: 2
 
 Packing option 0:  [16]
->>Can pack using [16] if open up 1 new containers.
-Packing options tried: 2
+>>Can pack using [16] if open up 0 new containers.
+Packing options tried: 1
 Packing options skipped: 0
 Trying to place using best packing [16]
-***Allocating phv145[15:7] for packet_in_hdr.ingress_port[8:0]
-***Allocating phv145[6:0] for packet_in_hdr._padding[6:0]
+***Allocating phv129[15:7] for packet_in_hdr.ingress_port[8:0]
+***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
 Working on parse node parse_udp (8) (ingress)
 
 -------------------------------------------
@@ -2330,7 +2102,7 @@
 -----------------------------------------------------------------------------------
 
 MAU containers available:
-  8-bit: 45
+  8-bit: 46
   16-bit: 75
   32-bit: 45
 Packing options: 47
@@ -2373,8 +2145,8 @@
 -----------------------------------------------------------------------------------
 
 MAU containers available:
-  8-bit: 46
-  16-bit: 77
+  8-bit: 47
+  16-bit: 79
   32-bit: 48
 Packing options: 47
 Initial packing options: 47
@@ -2389,14 +2161,14 @@
 ***Allocating phv336[15:0] for udp.dstPort[15:0]
 ***Allocating phv267[31:16] for udp.length_[15:0]
 ***Allocating phv267[15:0] for udp.checksum[15:0]
-Working on parse node parse_pkt_in (2) (ingress)
+Working on parse node parse_pkt_in (2) (egress)
 
 -------------------------------------------
 Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
 -------------------------------------------
 Extracted bits: 16
 Set metadata bits: 0
-Gress: ingress
+Gress: egress
 bits_will_need_to_parse = 16
 unused_metadata_container_bits = 0
 min_parse_states = 1
@@ -2412,9 +2184,9 @@
 -------------------------------------------------------------------------------------------------
 
 MAU containers available:
-  8-bit: 45
-  16-bit: 75
-  32-bit: 45
+  8-bit: 47
+  16-bit: 79
+  32-bit: 48
 Packing options: 2
 Initial packing options: 2
 
@@ -2423,109 +2195,113 @@
 Packing options tried: 1
 Packing options skipped: 0
 Trying to place using best packing [16]
-***Allocating phv129[15:7] for packet_in_hdr.ingress_port[8:0]
-***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
+***Allocating phv340[15:7] for packet_in_hdr.ingress_port[8:0]
+***Allocating phv340[6:0] for packet_in_hdr._padding[6:0]
 
 After allocating remaining parse nodes:
 Allocation state: Final Allocation
-------------------------------------------------------------------------------
-|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
-| (container bit widths) |     (% used)    |    (% used)   |                |
-------------------------------------------------------------------------------
-|         0 (32)         |    3 (18.75%)   |  96 (18.75%)  |      512       |
-|         1 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         2 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |    3 (4.69%)    |   96 (4.69%)  |      2048      |
-|                        |                 |               |                |
-|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
-|         6 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|         7 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    5 (7.81%)    |   40 (7.81%)  |      512       |
-|                        |                 |               |                |
-|         8 (16)         |    4 (25.00%)   |  64 (25.00%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
-|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |    7 (7.29%)    |  112 (7.29%)  |      1536      |
-|                        |                 |               |                |
-|       14 (32) T        |   14 (87.50%)   |  448 (87.50%) |      512       |
-|       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   14 (43.75%)   |  448 (43.75%) |      1024      |
-|                        |                 |               |                |
-|        16 (8) T        |   10 (62.50%)   |  80 (62.50%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |   10 (31.25%)   |  80 (31.25%)  |      256       |
-|                        |                 |               |                |
-|       18 (16) T        |   10 (62.50%)   |  160 (62.50%) |      256       |
-|       19 (16) T        |    5 (31.25%)   |  80 (31.25%)  |      256       |
-|       20 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
-|                        |                 |               |                |
-|       MAU total        |    15 (6.70%)   |  248 (6.05%)  |      4096      |
-|     Tagalong total     |   39 (34.82%)   |  768 (37.50%) |      2048      |
-|     Overall total      |   54 (16.07%)   | 1016 (16.54%) |      6144      |
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |   (% used)   |                |
+-----------------------------------------------------------------------------
+|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
+|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
+|                        |                 |              |                |
+|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
+|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
+|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
+|                        |                 |              |                |
+|         8 (16)         |    4 (25.00%)   | 64 (25.00%)  |      256       |
+|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |    5 (5.21%)    |  80 (5.21%)  |      1536      |
+|                        |                 |              |                |
+|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
+|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
+|                        |                 |              |                |
+|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
+|                        |                 |              |                |
+|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
+|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
+|                        |                 |              |                |
+|       MAU total        |    11 (4.91%)   | 200 (4.88%)  |      4096      |
+|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
+|     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
+-----------------------------------------------------------------------------
 
 
 
 Difference in allocation between critical parse path and overlaying headers:
 Allocation state: Diff
----------------------------------------------------------------------------
-|       PHV Group        | Containers Used | Bits Used  | Bits Available |
-| (container bit widths) |     (% used)    |  (% used)  |                |
----------------------------------------------------------------------------
-|         0 (32)         |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|         1 (32)         |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|         2 (32)         |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|         3 (32)         |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%)  |      2048      |
-|                        |                 |            |                |
-|         4 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|         5 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|         6 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|         7 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|                        |                 |            |                |
-|         8 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|         9 (16)         |    1 (6.25%)    | 16 (6.25%) |      256       |
-|        10 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|        11 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|        12 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|        13 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|    Total for 16 bit    |    1 (1.04%)    | 16 (1.04%) |      1536      |
-|                        |                 |            |                |
-|       14 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|       15 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
-|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%)  |      1024      |
-|                        |                 |            |                |
-|        16 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
-|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|                        |                 |            |                |
-|       18 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|       19 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
-|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
-|                        |                 |            |                |
-|       MAU total        |    1 (0.45%)    | 16 (0.39%) |      4096      |
-|     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
-|     Overall total      |    1 (0.30%)    | 16 (0.26%) |      6144      |
----------------------------------------------------------------------------
+--------------------------------------------------------------------------
+|       PHV Group        | Containers Used | Bits Used | Bits Available |
+| (container bit widths) |     (% used)    |  (% used) |                |
+--------------------------------------------------------------------------
+|         0 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         1 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         2 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         3 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      2048      |
+|                        |                 |           |                |
+|         4 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         5 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         6 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         7 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      512       |
+|                        |                 |           |                |
+|         8 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|         9 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        10 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        11 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        12 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        13 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      1536      |
+|                        |                 |           |                |
+|       14 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
+|       15 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      1024      |
+|                        |                 |           |                |
+|        16 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
+|        17 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      256       |
+|                        |                 |           |                |
+|       18 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|       19 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|       20 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      768       |
+|                        |                 |           |                |
+|       MAU total        |    0 (0.00%)    | 0 (0.00%) |      4096      |
+|     Tagalong total     |    0 (0.00%)    | 0 (0.00%) |      2048      |
+|     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
+--------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1504792580.28
-   Took 0.50 seconds
+>>Event 'pa_meta1' at time 1504859037.76
+   Took 0.51 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 1)
 -----------------------------------------------
 Allocation Step
+@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md.resubmit_flag (ingress) will require table injection to initialize.
+@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad1 (ingress) will require table injection to initialize.
+@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad2 (ingress) will require table injection to initialize.
+@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad3 (ingress) will require table injection to initialize.
 Total metadata field instances to allocate: 2  / 12 bits (12 ingress bits and 0 egress bits)
 Promised metadata field instances to allocate: 1 / 9 bits (9 ingress bits and 0 egress bits)
-     0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=3, earliest_use=0, latest_use=12)
+     0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=2, earliest_use=0, latest_use=12)
 
 --------------
 Working on:
@@ -2570,47 +2346,47 @@
 ***Allocating phv130[8:0] for ig_intr_md_for_tm.ucast_egress_port[8:0]
 Allocation state after promised meta allocated:
 Allocation state: Final Allocation
-------------------------------------------------------------------------------
-|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
-| (container bit widths) |     (% used)    |    (% used)   |                |
-------------------------------------------------------------------------------
-|         0 (32)         |    3 (18.75%)   |  96 (18.75%)  |      512       |
-|         1 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         2 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |    3 (4.69%)    |   96 (4.69%)  |      2048      |
-|                        |                 |               |                |
-|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
-|         6 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|         7 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    5 (7.81%)    |   40 (7.81%)  |      512       |
-|                        |                 |               |                |
-|         8 (16)         |    5 (31.25%)   |  73 (28.52%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
-|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |    8 (8.33%)    |  121 (7.88%)  |      1536      |
-|                        |                 |               |                |
-|       14 (32) T        |   14 (87.50%)   |  448 (87.50%) |      512       |
-|       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   14 (43.75%)   |  448 (43.75%) |      1024      |
-|                        |                 |               |                |
-|        16 (8) T        |   10 (62.50%)   |  80 (62.50%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |   10 (31.25%)   |  80 (31.25%)  |      256       |
-|                        |                 |               |                |
-|       18 (16) T        |   10 (62.50%)   |  160 (62.50%) |      256       |
-|       19 (16) T        |    5 (31.25%)   |  80 (31.25%)  |      256       |
-|       20 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
-|                        |                 |               |                |
-|       MAU total        |    16 (7.14%)   |  257 (6.27%)  |      4096      |
-|     Tagalong total     |   39 (34.82%)   |  768 (37.50%) |      2048      |
-|     Overall total      |   55 (16.37%)   | 1025 (16.68%) |      6144      |
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |   (% used)   |                |
+-----------------------------------------------------------------------------
+|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
+|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
+|                        |                 |              |                |
+|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
+|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
+|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
+|                        |                 |              |                |
+|         8 (16)         |    5 (31.25%)   | 73 (28.52%)  |      256       |
+|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |    6 (6.25%)    |  89 (5.79%)  |      1536      |
+|                        |                 |              |                |
+|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
+|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
+|                        |                 |              |                |
+|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
+|                        |                 |              |                |
+|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
+|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
+|                        |                 |              |                |
+|       MAU total        |    12 (5.36%)   | 209 (5.10%)  |      4096      |
+|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
+|     Overall total      |   53 (15.77%)   | 977 (15.90%) |      6144      |
+-----------------------------------------------------------------------------
 
 Allocation state difference after promised meta allocated:
 Allocation state: Diff
@@ -2657,55 +2433,55 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1504792580.33
-   Took 0.05 seconds
+>>Event 'pa_pov' at time 1504859037.83
+   Took 0.07 seconds
 
 -----------------------------------------------
   Allocating POV
 -----------------------------------------------
 Allocation Step
 Allocation state: Final Allocation
-------------------------------------------------------------------------------
-|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
-| (container bit widths) |     (% used)    |    (% used)   |                |
-------------------------------------------------------------------------------
-|         0 (32)         |    3 (18.75%)   |  96 (18.75%)  |      512       |
-|         1 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         2 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |    3 (4.69%)    |   96 (4.69%)  |      2048      |
-|                        |                 |               |                |
-|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
-|         6 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|         7 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    5 (7.81%)    |   40 (7.81%)  |      512       |
-|                        |                 |               |                |
-|         8 (16)         |    5 (31.25%)   |  73 (28.52%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
-|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |    8 (8.33%)    |  121 (7.88%)  |      1536      |
-|                        |                 |               |                |
-|       14 (32) T        |   14 (87.50%)   |  448 (87.50%) |      512       |
-|       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   14 (43.75%)   |  448 (43.75%) |      1024      |
-|                        |                 |               |                |
-|        16 (8) T        |   10 (62.50%)   |  80 (62.50%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |   10 (31.25%)   |  80 (31.25%)  |      256       |
-|                        |                 |               |                |
-|       18 (16) T        |   10 (62.50%)   |  160 (62.50%) |      256       |
-|       19 (16) T        |    5 (31.25%)   |  80 (31.25%)  |      256       |
-|       20 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
-|                        |                 |               |                |
-|       MAU total        |    16 (7.14%)   |  257 (6.27%)  |      4096      |
-|     Tagalong total     |   39 (34.82%)   |  768 (37.50%) |      2048      |
-|     Overall total      |   55 (16.37%)   | 1025 (16.68%) |      6144      |
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |   (% used)   |                |
+-----------------------------------------------------------------------------
+|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
+|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
+|                        |                 |              |                |
+|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
+|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
+|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
+|                        |                 |              |                |
+|         8 (16)         |    5 (31.25%)   | 73 (28.52%)  |      256       |
+|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |    6 (6.25%)    |  89 (5.79%)  |      1536      |
+|                        |                 |              |                |
+|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
+|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
+|                        |                 |              |                |
+|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
+|                        |                 |              |                |
+|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
+|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
+|                        |                 |              |                |
+|       MAU total        |    12 (5.36%)   | 209 (5.10%)  |      4096      |
+|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
+|     Overall total      |   53 (15.77%)   | 977 (15.90%) |      6144      |
+-----------------------------------------------------------------------------
 
 Sorted POV field instances to allocate (with best pack): 13
     0: --validity_check--packet_in_hdr (ingress)  -- max pov share 6 / best pack 5
@@ -2723,25 +2499,25 @@
    12: --validity_check--udp (egress)  -- max pov share 5 / best pack 4
 
 Working on
---validity_check--packet_in_hdr <1 bits ingress parsed pov>
+--validity_check--packet_in_hdr <1 bits ingress parsed pov W>
 Call to _allocate_pov_helper for:
   --validity_check--packet_in_hdr (ingress)
   Best pack group: (6)
 
 Looking for container to share POV bit in from already allocated containers for POV.
-Container availability (not used yet for POV): total 197 / partial 1
+Container availability (not used yet for POV): total 198 / partial 1
 
 Looking for container to share POV bit in from already allocated containers that have not been used for POV.
->>Choose container phv67, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
+>>Choose container phv66, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
   >> Decided to allocate new container
-Required container phv67
-***Allocating phv67[0:0] for --validity_check--packet_in_hdr[0:0]
-***Allocating phv67[1:1] for --validity_check--packet_out_hdr[0:0]
-***Allocating phv67[2:2] for --validity_check--ethernet[0:0]
-***Allocating phv67[3:3] for --validity_check--ipv4[0:0]
-***Allocating phv67[4:4] for --validity_check--tcp[0:0]
-***Allocating phv67[5:5] for --validity_check--udp[0:0]
-***Allocating phv67[6:6] for --validity_check--metadata_bridge[0:0]
+Required container phv66
+***Allocating phv66[0:0] for --validity_check--packet_in_hdr[0:0]
+***Allocating phv66[1:1] for --validity_check--packet_out_hdr[0:0]
+***Allocating phv66[2:2] for --validity_check--ethernet[0:0]
+***Allocating phv66[3:3] for --validity_check--ipv4[0:0]
+***Allocating phv66[4:4] for --validity_check--tcp[0:0]
+***Allocating phv66[5:5] for --validity_check--udp[0:0]
+***Allocating phv66[6:6] for --validity_check--metadata_bridge[0:0]
 
 Working on
 --validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
@@ -2768,24 +2544,24 @@
   Already allocated.
 
 Working on
---validity_check--packet_in_hdr <1 bits egress parsed pov W>
+--validity_check--packet_in_hdr <1 bits egress parsed pov>
 Call to _allocate_pov_helper for:
   --validity_check--packet_in_hdr (egress)
   Best pack group: (5)
 
 Looking for container to share POV bit in from already allocated containers for POV.
-Container availability (not used yet for POV): total 199 / partial 0
+Container availability (not used yet for POV): total 202 / partial 0
 
 Looking for container to share POV bit in from already allocated containers that have not been used for POV.
->>Choose container phv82, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 6).
+>>Choose container phv81, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 6).
   >> Decided to allocate new container
-Required container phv82
-***Allocating phv82[0:0] for --validity_check--packet_in_hdr[0:0]
-***Allocating phv82[1:1] for --validity_check--packet_out_hdr[0:0]
-***Allocating phv82[2:2] for --validity_check--ethernet[0:0]
-***Allocating phv82[3:3] for --validity_check--ipv4[0:0]
-***Allocating phv82[4:4] for --validity_check--tcp[0:0]
-***Allocating phv82[5:5] for --validity_check--udp[0:0]
+Required container phv81
+***Allocating phv81[0:0] for --validity_check--packet_in_hdr[0:0]
+***Allocating phv81[1:1] for --validity_check--packet_out_hdr[0:0]
+***Allocating phv81[2:2] for --validity_check--ethernet[0:0]
+***Allocating phv81[3:3] for --validity_check--ipv4[0:0]
+***Allocating phv81[4:4] for --validity_check--tcp[0:0]
+***Allocating phv81[5:5] for --validity_check--udp[0:0]
 
 Working on
 --validity_check--packet_out_hdr <1 bits egress parsed pov>
@@ -2809,12 +2585,12 @@
 
 Sum of container bit widths POVs found in: 16
  ingress
-    phv67 (8 bits)
+    phv66 (8 bits)
   >> 8 total bits
  egress
-    phv82 (8 bits)
+    phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1504792580.45
+>>Event 'pa_meta2' at time 1504859037.95
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -2825,47 +2601,47 @@
 Promised metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
 Allocation state after promised meta allocated:
 Allocation state: Final Allocation
-------------------------------------------------------------------------------
-|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
-| (container bit widths) |     (% used)    |    (% used)   |                |
-------------------------------------------------------------------------------
-|         0 (32)         |    3 (18.75%)   |  96 (18.75%)  |      512       |
-|         1 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         2 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |    3 (4.69%)    |   96 (4.69%)  |      2048      |
-|                        |                 |               |                |
-|         4 (8)          |    4 (25.00%)   |  31 (24.22%)  |      128       |
-|         5 (8)          |    3 (18.75%)   |  22 (17.19%)  |      128       |
-|         6 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|         7 (8)          |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    7 (10.94%)   |  53 (10.35%)  |      512       |
-|                        |                 |               |                |
-|         8 (16)         |    5 (31.25%)   |  73 (28.52%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
-|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |    8 (8.33%)    |  121 (7.88%)  |      1536      |
-|                        |                 |               |                |
-|       14 (32) T        |   14 (87.50%)   |  448 (87.50%) |      512       |
-|       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   14 (43.75%)   |  448 (43.75%) |      1024      |
-|                        |                 |               |                |
-|        16 (8) T        |   10 (62.50%)   |  80 (62.50%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |   10 (31.25%)   |  80 (31.25%)  |      256       |
-|                        |                 |               |                |
-|       18 (16) T        |   10 (62.50%)   |  160 (62.50%) |      256       |
-|       19 (16) T        |    5 (31.25%)   |  80 (31.25%)  |      256       |
-|       20 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      256       |
-|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
-|                        |                 |               |                |
-|       MAU total        |    18 (8.04%)   |  270 (6.59%)  |      4096      |
-|     Tagalong total     |   39 (34.82%)   |  768 (37.50%) |      2048      |
-|     Overall total      |   57 (16.96%)   | 1038 (16.89%) |      6144      |
-------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
+|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |   (% used)   |                |
+-----------------------------------------------------------------------------
+|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
+|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
+|                        |                 |              |                |
+|         4 (8)          |    3 (18.75%)   | 23 (17.97%)  |      128       |
+|         5 (8)          |    2 (12.50%)   | 14 (10.94%)  |      128       |
+|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |    5 (7.81%)    |  37 (7.23%)  |      512       |
+|                        |                 |              |                |
+|         8 (16)         |    5 (31.25%)   | 73 (28.52%)  |      256       |
+|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |    6 (6.25%)    |  89 (5.79%)  |      1536      |
+|                        |                 |              |                |
+|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
+|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
+|                        |                 |              |                |
+|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
+|                        |                 |              |                |
+|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
+|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
+|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
+|                        |                 |              |                |
+|       MAU total        |    14 (6.25%)   | 222 (5.42%)  |      4096      |
+|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
+|     Overall total      |   55 (16.37%)   | 990 (16.11%) |      6144      |
+-----------------------------------------------------------------------------
 
 Allocation state difference after promised meta allocated:
 Allocation state: Diff
@@ -2912,7 +2688,7 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 1 / 3 bits (3 ingress bits and 0 egress bits)
-     0: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=0, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=1, latest_use=12)
+     0: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=0, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=0, latest_use=12)
 
 ---------------------------------------
 Working on:
@@ -2939,12 +2715,12 @@
   Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
   Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv32 -- fails False
   Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv48 -- fails False
-  Group 4 8 bits -- avail 12 and promised 1 -- ingress promised 1 and remain 11 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv68 -- fails False
-  Group 5 8 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+  Group 4 8 bits -- avail 13 and promised 1 -- ingress promised 1 and remain 12 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv67 -- fails False
+  Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
   Group 6 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv96 -- fails False
   Group 7 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv112 -- fails False
   Group 8 16 bits -- avail 11 and promised 1 -- ingress promised 1 and remain 10 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv133 -- fails False
-  Group 9 16 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+  Group 9 16 bits -- avail 15 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
   Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv160 -- fails False
   Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv176 -- fails False
   Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv192 -- fails False
@@ -2956,9 +2732,9 @@
   case 2: looking at allowed start bits [0, 1, 2, 3, 4, 5, 6, 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 1504792580.52
-   Took 0.07 seconds
+***Allocating phv67[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
+>>Event 'pa_meta_init' at time 1504859038.01
+   Took 0.06 seconds
 
 -----------------------------------------------
   Adding metadata initialization