Fixing packet_io and regenerating default.p4 for tofino

Change-Id: I5c2c6565f71a13b375a8ec8da864e9157b8e56ed
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
index b6941b9..7aecfb6 100644
--- a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
@@ -1,7 +1,7 @@
 +---------------------------------------------------------------------+
 |  Log file: pa.log                                                   |
 |  Compiler version: 5.1.0 (fca32d1)                                  |
-|  Created on: Thu Sep  7 14:48:49 2017                               |
+|  Created on: Fri Sep  8 08:25:15 2017                               |
 +---------------------------------------------------------------------+
 
 HLIR Version: 0.10.5
@@ -60,7 +60,7 @@
 -----------------------------------------------
 
 -----------------------------------------------
-   Eliminating unused metadata (99 instances)
+   Eliminating unused metadata (100 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
@@ -175,10 +176,10 @@
 --------------------------------------------
   ingress field instance bit width histogram
 --------------------------------------------
-   Total fields: 51
+   Total fields: 50
    Max value: 15
 
-    1 : xxxxxxxxxx (10)
+    1 : xxxxxxxxx (9)
     2 : x (1)
     3 : xxxxx (5)
     4 : xxx (3)
@@ -194,17 +195,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)
@@ -266,7 +267,7 @@
 -----------------------------------------------
 
 -----------------------------------------------
-   Eliminating unused metadata (99 instances)
+   Eliminating unused metadata (100 instances)
 -----------------------------------------------
 Removing standard_metadata.ingress_port in ingress
 Removing standard_metadata.packet_length in ingress
@@ -286,6 +287,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
@@ -381,10 +383,10 @@
 --------------------------------------------
   ingress field instance bit width histogram
 --------------------------------------------
-   Total fields: 51
+   Total fields: 50
    Max value: 15
 
-    1 : xxxxxxxxxx (10)
+    1 : xxxxxxxxx (9)
     2 : x (1)
     3 : xxxxx (5)
     4 : xxx (3)
@@ -400,17 +402,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)
@@ -421,7 +423,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     |           |              |               |
@@ -432,8 +434,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     |           |              |               |
@@ -447,7 +447,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     |           |              |               |
@@ -468,7 +468,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     |           |              |               |
@@ -482,7 +482,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     |           |              |               |
@@ -498,7 +497,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     |           |              |               |
@@ -554,19 +553,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 1504795731.64
+>>Event 'pa_init' at time 1504859117.63
    Took 0.01 seconds
 --------------------------------------------
-PHV MAU Groups: 95
+PHV MAU Groups: 92
 --------------------------------------------
 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>
 
@@ -579,20 +578,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>
@@ -714,8 +704,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>
@@ -831,9 +824,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>
 
@@ -847,7 +837,7 @@
   eg_intr_md.egress_cos <3 bits egress parsed imeta>
 
 
->>Event 'pa_resv' at time 1504795731.64
+>>Event 'pa_resv' at time 1504859117.63
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -889,239 +879,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 1504795731.68
+>>Event 'pa_bridge' at time 1504859117.67
    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
@@ -1135,19 +900,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       |
@@ -1162,13 +927,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 1504795732.08
-   Took 0.40 seconds
+>>Event 'pa_phase0' at time 1504859117.67
+   Took 0.00 seconds
 
 -----------------------------------------------
   Allocating Phase 0-related metadata
@@ -1188,19 +953,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       |
@@ -1215,12 +980,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 1504795732.09
+>>Event 'pa_critical' at time 1504859117.68
    Took 0.00 seconds
 
 -----------------------------------------------
@@ -1229,6 +994,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
@@ -1237,7 +1003,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
@@ -1249,6 +1014,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)
 
 -------------------------------------------
@@ -1276,8 +1120,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
@@ -1287,8 +1131,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]   |
@@ -1298,6 +1142,7 @@
 Looking at packet_out_hdr.egress_port (ingress) [8:0], with test_alloc = True
 ----> packet_out_hdr.egress_port (ingress) is allocated? False
 Looking at packet_out_hdr._padding (ingress) [6:0], with test_alloc = True
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
 
 MAU groups: 5
   Group 8 16 bits -- avail 15 -- ingress avail 15 and remain 13 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv129
@@ -1357,7 +1202,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:
@@ -1368,7 +1213,7 @@
 
 Packing option 0:  [8, 16, 16, 32, 32, 8, 16, 32]
 MAU containers after:
-  8-bit: 46
+  8-bit: 47
   16-bit: 76
   32-bit: 45
 +------------------------------+
@@ -1437,10 +1282,10 @@
 ----> ipv4.srcAddr (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 ipv4.srcAddr[23:16]
+***Allocating phv64[7:0] for ipv4.srcAddr[23:16]
 Looking at ipv4.srcAddr (ingress) [15:0], with test_alloc = True
 ----> ipv4.srcAddr (ingress) is allocated? False
 
@@ -1507,7 +1352,7 @@
 min_extracts[32] = 1
 Packing options: 5196
 MAU containers available:
-  8-bit: 46
+  8-bit: 47
   16-bit: 76
   32-bit: 45
 Tagalong containers available:
@@ -1516,9 +1361,9 @@
   32-bit: 31
 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: 46
+  8-bit: 47
   16-bit: 76
   32-bit: 45
 +-------------------------+
@@ -1526,13 +1371,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]          |
@@ -1550,34 +1399,40 @@
 Looking at tcp.srcPort (ingress) [7:0], with test_alloc = True
 ----> tcp.srcPort (ingress) is allocated? False
 ***Allocating phv290[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 phv322[15:0] for tcp.dstPort[15:0]
+***Allocating phv291[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 phv292[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 phv323[15:0] for tcp.seqNo[31:16]
+***Allocating phv322[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 phv324[15:0] for tcp.seqNo[15:0]
-Looking at tcp.ackNo (ingress) [31:0], with test_alloc = True
+***Allocating phv323[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 phv257[31:0] for tcp.ackNo[31:0]
+***Allocating phv324[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 phv325[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 phv258[31:28] for tcp.dataOffset[3:0]
-***Allocating phv258[27:25] for tcp.res[2:0]
-***Allocating phv258[24:22] for tcp.ecn[2:0]
-***Allocating phv258[21:16] for tcp.ctrl[5:0]
-***Allocating phv258[15:0] for tcp.window[15:0]
+***Allocating phv257[31:28] for tcp.dataOffset[3:0]
+***Allocating phv257[27:25] for tcp.res[2:0]
+***Allocating phv257[24:22] for tcp.ecn[2:0]
+***Allocating phv257[21:16] for tcp.ctrl[5:0]
+***Allocating phv257[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 phv259[31:16] for tcp.checksum[15:0]
-***Allocating phv259[15:0] for tcp.urgentPtr[15:0]
+***Allocating phv258[31:16] for tcp.checksum[15:0]
+***Allocating phv258[15:0] for tcp.urgentPtr[15:0]
 Packing options tried: 1
 Packing options skipped: 0
 
@@ -1628,19 +1483,19 @@
 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: 28
-  16-bit: 42
-  32-bit: 28
+  8-bit: 24
+  16-bit: 36
+  32-bit: 24
 Initial packing options: 5196
 
 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]          |
@@ -1667,35 +1522,35 @@
 Looking at ipv4.version (egress) [3:0], with test_alloc = True
 ----> ipv4.version (egress) is allocated? False
 Looking at ipv4.ihl (egress) [3:0], with test_alloc = True
-***Allocating phv292[7:4] for ipv4.version[3:0]
-***Allocating phv292[3:0] for ipv4.ihl[3:0]
+***Allocating phv296[7:4] for ipv4.version[3:0]
+***Allocating phv296[3:0] for ipv4.ihl[3:0]
 Looking at ipv4.diffserv (egress) [7:0], with test_alloc = True
 ----> ipv4.diffserv (egress) is allocated? False
-***Allocating phv293[7:0] for ipv4.diffserv[7:0]
+***Allocating phv297[7:0] for ipv4.diffserv[7:0]
 Looking at ipv4.totalLen (egress) [15:0], with test_alloc = True
 ----> ipv4.totalLen (egress) is allocated? False
-***Allocating phv326[15:0] for ipv4.totalLen[15:0]
+***Allocating phv332[15:0] for ipv4.totalLen[15:0]
 Looking at ipv4.identification (egress) [15:0], with test_alloc = True
 ----> ipv4.identification (egress) is allocated? False
-***Allocating phv327[15:0] for ipv4.identification[15:0]
+***Allocating phv333[15:0] for ipv4.identification[15:0]
 Looking at ipv4.flags (egress) [2:0], with test_alloc = True
 ----> ipv4.flags (egress) is allocated? False
 Looking at ipv4.fragOffset (egress) [12:0], with test_alloc = True
-***Allocating phv328[15:13] for ipv4.flags[2:0]
-***Allocating phv328[12:0] for ipv4.fragOffset[12:0]
+***Allocating phv334[15:13] for ipv4.flags[2:0]
+***Allocating phv334[12:0] for ipv4.fragOffset[12:0]
 Looking at ipv4.ttl (egress) [7:0], with test_alloc = True
 ----> ipv4.ttl (egress) is allocated? False
 Looking at ipv4.protocol (egress) [7:0], with test_alloc = True
 Looking at ipv4.hdrChecksum (egress) [15:0], with test_alloc = True
-***Allocating phv260[31:24] for ipv4.ttl[7:0]
-***Allocating phv260[23:16] for ipv4.protocol[7:0]
-***Allocating phv260[15:0] for ipv4.hdrChecksum[15:0]
+***Allocating phv264[31:24] for ipv4.ttl[7:0]
+***Allocating phv264[23:16] for ipv4.protocol[7:0]
+***Allocating phv264[15:0] for ipv4.hdrChecksum[15:0]
 Looking at ipv4.srcAddr (egress) [31:0], with test_alloc = True
 ----> ipv4.srcAddr (egress) is allocated? False
-***Allocating phv261[31:0] for ipv4.srcAddr[31:0]
+***Allocating phv265[31:0] for ipv4.srcAddr[31:0]
 Looking at ipv4.dstAddr (egress) [31:0], with test_alloc = True
 ----> ipv4.dstAddr (egress) is allocated? False
-***Allocating phv262[31:0] for ipv4.dstAddr[31:0]
+***Allocating phv266[31:0] for ipv4.dstAddr[31:0]
 Packing options tried: 1
 Packing options skipped: 0
 
@@ -1744,19 +1599,19 @@
 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: 26
-  16-bit: 39
-  32-bit: 25
+  8-bit: 22
+  16-bit: 33
+  32-bit: 21
 Initial packing options: 5196
 
 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]     |
@@ -1783,38 +1638,38 @@
 
 Looking at tcp.srcPort (egress) [15:8], with test_alloc = True
 ----> tcp.srcPort (egress) is allocated? False
-***Allocating phv294[7:0] for tcp.srcPort[15:8]
+***Allocating phv298[7:0] for tcp.srcPort[15:8]
 Looking at tcp.srcPort (egress) [7:0], with test_alloc = True
 ----> tcp.srcPort (egress) is allocated? False
-***Allocating phv295[7:0] for tcp.srcPort[7:0]
+***Allocating phv299[7:0] for tcp.srcPort[7:0]
 Looking at tcp.dstPort (egress) [15:0], with test_alloc = True
 ----> tcp.dstPort (egress) is allocated? False
-***Allocating phv329[15:0] for tcp.dstPort[15:0]
+***Allocating phv335[15:0] for tcp.dstPort[15:0]
 Looking at tcp.seqNo (egress) [31:16], with test_alloc = True
 ----> tcp.seqNo (egress) is allocated? False
-***Allocating phv330[15:0] for tcp.seqNo[31:16]
+***Allocating phv336[15:0] for tcp.seqNo[31:16]
 Looking at tcp.seqNo (egress) [15:0], with test_alloc = True
 ----> tcp.seqNo (egress) is allocated? False
-***Allocating phv331[15:0] for tcp.seqNo[15:0]
+***Allocating phv337[15:0] for tcp.seqNo[15:0]
 Looking at tcp.ackNo (egress) [31:0], with test_alloc = True
 ----> tcp.ackNo (egress) is allocated? False
-***Allocating phv263[31:0] for tcp.ackNo[31:0]
+***Allocating phv267[31:0] for tcp.ackNo[31:0]
 Looking at tcp.dataOffset (egress) [3:0], with test_alloc = True
 ----> tcp.dataOffset (egress) is allocated? False
 Looking at tcp.res (egress) [2:0], with test_alloc = True
 Looking at tcp.ecn (egress) [2:0], with test_alloc = True
 Looking at tcp.ctrl (egress) [5:0], with test_alloc = True
 Looking at tcp.window (egress) [15:0], with test_alloc = True
-***Allocating phv264[31:28] for tcp.dataOffset[3:0]
-***Allocating phv264[27:25] for tcp.res[2:0]
-***Allocating phv264[24:22] for tcp.ecn[2:0]
-***Allocating phv264[21:16] for tcp.ctrl[5:0]
-***Allocating phv264[15:0] for tcp.window[15:0]
+***Allocating phv268[31:28] for tcp.dataOffset[3:0]
+***Allocating phv268[27:25] for tcp.res[2:0]
+***Allocating phv268[24:22] for tcp.ecn[2:0]
+***Allocating phv268[21:16] for tcp.ctrl[5:0]
+***Allocating phv268[15:0] for tcp.window[15:0]
 Looking at tcp.checksum (egress) [15:0], with test_alloc = True
 ----> tcp.checksum (egress) is allocated? False
 Looking at tcp.urgentPtr (egress) [15:0], with test_alloc = True
-***Allocating phv265[31:16] for tcp.checksum[15:0]
-***Allocating phv265[15:0] for tcp.urgentPtr[15:0]
+***Allocating phv269[31:16] for tcp.checksum[15:0]
+***Allocating phv269[15:0] for tcp.urgentPtr[15:0]
 Packing options tried: 1
 Packing options skipped: 0
 
@@ -1847,18 +1702,18 @@
 min_extracts[32] = 1
 Packing options: 604
 MAU containers available:
-  8-bit: 46
+  8-bit: 47
   16-bit: 76
   32-bit: 45
 Tagalong containers available:
-  8-bit: 21
-  16-bit: 31
-  32-bit: 20
+  8-bit: 19
+  16-bit: 30
+  32-bit: 21
 Initial packing options: 604
 
 Packing option 0:  [8, 32, 16, 8, 32, 16]
 MAU containers after:
-  8-bit: 44
+  8-bit: 45
   16-bit: 74
   32-bit: 43
 +-----------------------------+
@@ -1880,10 +1735,10 @@
 ----> ethernet.dstAddr (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.dstAddr[47:40]
+***Allocating phv65[7:0] for ethernet.dstAddr[47:40]
 Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
 ----> ethernet.dstAddr (ingress) is allocated? False
 
@@ -1908,10 +1763,10 @@
 ----> ethernet.srcAddr (ingress) is allocated? False
 
 MAU groups: 3
-  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
+  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 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 phv67[7:0] for ethernet.srcAddr[39:32]
+***Allocating phv66[7:0] for ethernet.srcAddr[39:32]
 Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
 ----> ethernet.srcAddr (ingress) is allocated? False
 
@@ -1962,19 +1817,19 @@
 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: 24
-  16-bit: 36
-  32-bit: 22
+  8-bit: 20
+  16-bit: 30
+  32-bit: 18
 Initial packing options: 604
 
 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]   |
@@ -1993,24 +1848,24 @@
 
 Looking at ethernet.dstAddr (egress) [47:40], with test_alloc = True
 ----> ethernet.dstAddr (egress) is allocated? False
-***Allocating phv296[7:0] for ethernet.dstAddr[47:40]
+***Allocating phv300[7:0] for ethernet.dstAddr[47:40]
 Looking at ethernet.dstAddr (egress) [39:8], with test_alloc = True
 ----> ethernet.dstAddr (egress) is allocated? False
-***Allocating phv266[31:0] for ethernet.dstAddr[39:8]
+***Allocating phv270[31:0] for ethernet.dstAddr[39:8]
 Looking at ethernet.dstAddr (egress) [7:0], with test_alloc = True
 ----> ethernet.dstAddr (egress) is allocated? False
 Looking at ethernet.srcAddr (egress) [47:40], with test_alloc = True
-***Allocating phv332[15:8] for ethernet.dstAddr[7:0]
-***Allocating phv332[7:0] for ethernet.srcAddr[47:40]
+***Allocating phv338[15:8] for ethernet.dstAddr[7:0]
+***Allocating phv338[7:0] for ethernet.srcAddr[47:40]
 Looking at ethernet.srcAddr (egress) [39:32], with test_alloc = True
 ----> ethernet.srcAddr (egress) is allocated? False
-***Allocating phv297[7:0] for ethernet.srcAddr[39:32]
+***Allocating phv301[7:0] for ethernet.srcAddr[39:32]
 Looking at ethernet.srcAddr (egress) [31:0], with test_alloc = True
 ----> ethernet.srcAddr (egress) is allocated? False
-***Allocating phv267[31:0] for ethernet.srcAddr[31:0]
+***Allocating phv271[31:0] for ethernet.srcAddr[31:0]
 Looking at ethernet.etherType (egress) [15:0], with test_alloc = True
 ----> ethernet.etherType (egress) is allocated? False
-***Allocating phv333[15:0] for ethernet.etherType[15:0]
+***Allocating phv339[15:0] for ethernet.etherType[15:0]
 Packing options tried: 1
 Packing options skipped: 0
 
@@ -2045,19 +1900,19 @@
 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: 22
-  16-bit: 34
-  32-bit: 20
+  8-bit: 18
+  16-bit: 28
+  32-bit: 16
 Initial packing options: 3
 
 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]         |
@@ -2072,31 +1927,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:
@@ -2109,86 +1962,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: 44
-  16-bit: 74
-  32-bit: 43
-Tagalong containers available:
-  8-bit: 21
-  16-bit: 31
-  32-bit: 20
-Initial packing options: 2
-
-Packing option 0:  [16]
-MAU containers after:
-  8-bit: 44
-  16-bit: 74
-  32-bit: 43
-+-----------------------------------+
-|  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)
 
 -------------------------------------------
@@ -2216,19 +1989,19 @@
 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: 22
-  16-bit: 34
-  32-bit: 20
+  8-bit: 18
+  16-bit: 28
+  32-bit: 16
 Initial packing options: 2
 
 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]   |
@@ -2238,8 +2011,8 @@
 Looking at packet_out_hdr.egress_port (egress) [8:0], with test_alloc = True
 ----> packet_out_hdr.egress_port (egress) is allocated? False
 Looking at packet_out_hdr._padding (egress) [6:0], with test_alloc = True
-***Allocating phv334[15:7] for packet_out_hdr.egress_port[8:0]
-***Allocating phv334[6:0] for packet_out_hdr._padding[6:0]
+***Allocating phv340[15:7] for packet_out_hdr.egress_port[8:0]
+***Allocating phv340[6:0] for packet_out_hdr._padding[6:0]
 Packing options tried: 1
 Packing options skipped: 0
 
@@ -2253,50 +2026,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)         |    5 (31.25%)   |  160 (31.25%) |      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    |    5 (7.81%)    |  160 (7.81%)  |      2048      |
-|                        |                 |               |                |
-|         4 (8)          |    4 (25.00%)   |  32 (25.00%)  |      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     |    6 (9.38%)    |   48 (9.38%)  |      512       |
-|                        |                 |               |                |
-|         8 (16)         |    5 (31.25%)   |  80 (31.25%)  |      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    |    7 (7.29%)    |  112 (7.29%)  |      1536      |
-|                        |                 |               |                |
-|       14 (32) T        |   12 (75.00%)   |  384 (75.00%) |      512       |
-|       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   12 (37.50%)   |  384 (37.50%) |      1024      |
-|                        |                 |               |                |
-|        16 (8) T        |    9 (56.25%)   |  72 (56.25%)  |      128       |
-|        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    9 (28.12%)   |  72 (28.12%)  |      256       |
-|                        |                 |               |                |
-|       18 (16) T        |   14 (87.50%)   |  224 (87.50%) |      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    |   14 (29.17%)   |  224 (29.17%) |      768       |
-|                        |                 |               |                |
-|       MAU total        |    18 (8.04%)   |  320 (7.81%)  |      4096      |
-|     Tagalong total     |   35 (31.25%)   |  680 (33.20%) |      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)         |    5 (31.25%)   | 160 (31.25%) |      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    |    5 (7.81%)    | 160 (7.81%)  |      2048      |
+|                        |                 |              |                |
+|         4 (8)          |    3 (18.75%)   | 24 (18.75%)  |      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     |    4 (6.25%)    |  32 (6.25%)  |      512       |
+|                        |                 |              |                |
+|         8 (16)         |    5 (31.25%)   | 80 (31.25%)  |      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%)    |  96 (6.25%)  |      1536      |
+|                        |                 |              |                |
+|       14 (32) T        |   11 (68.75%)   | 352 (68.75%) |      512       |
+|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
+|    Total for 32 bit    |   11 (34.38%)   | 352 (34.38%) |      1024      |
+|                        |                 |              |                |
+|        16 (8) T        |   11 (68.75%)   | 88 (68.75%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
+|    Total for 8 bit     |   11 (34.38%)   | 88 (34.38%)  |      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%)   | 288 (7.03%)  |      4096      |
+|     Tagalong total     |   37 (33.04%)   | 680 (33.20%) |      2048      |
+|     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
+-----------------------------------------------------------------------------
 
->>Event 'pa_overlay' at time 1504795741.17
-   Took 9.08 seconds
+>>Event 'pa_overlay' at time 1504859126.82
+   Took 9.14 seconds
 
 -----------------------------------------------
   Allocating remaining parsed fields
@@ -2304,21 +2077,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
@@ -2334,19 +2107,19 @@
 -------------------------------------------------------------------------------------------------------
 
 MAU containers available:
-  8-bit: 46
-  16-bit: 77
-  32-bit: 48
+  8-bit: 45
+  16-bit: 74
+  32-bit: 43
 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)
 
 -------------------------------------------
@@ -2374,7 +2147,7 @@
 -----------------------------------------------------------------------------------
 
 MAU containers available:
-  8-bit: 44
+  8-bit: 45
   16-bit: 74
   32-bit: 43
 Packing options: 47
@@ -2383,12 +2156,12 @@
 Packing option 0:  [8, 8, 16, 32]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 
@@ -2403,12 +2176,12 @@
 Packing option 1:  [8, 8, 32, 16]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 
@@ -2421,7 +2194,7 @@
 Packing option 2:  [8, 16, 8, 32]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2433,7 +2206,7 @@
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 >>Can pack using [8, 16, 8, 32] if open up 3 new containers.
@@ -2441,7 +2214,7 @@
 Packing option 3:  [8, 16, 32, 8]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2461,7 +2234,7 @@
 Packing option 4:  [8, 32, 8, 16]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2474,7 +2247,7 @@
 Packing option 5:  [8, 32, 16, 8]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2494,12 +2267,12 @@
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 >>Can pack using [16, 8, 8, 32] if open up 3 new containers.
@@ -2514,7 +2287,7 @@
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2606,12 +2379,12 @@
 Packing option 15:  [8, 8, 16, 16, 16]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 
@@ -2626,7 +2399,7 @@
 Packing option 16:  [8, 16, 8, 16, 16]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2638,7 +2411,7 @@
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 >>Can pack using [8, 16, 8, 16, 16] if open up 3 new containers.
@@ -2646,7 +2419,7 @@
 Packing option 17:  [8, 16, 16, 8, 16]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2668,7 +2441,7 @@
 Packing option 18:  [8, 16, 16, 16, 8]
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2697,12 +2470,12 @@
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 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 phv69
+  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
   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
 >>Can pack using [16, 8, 8, 16, 16] if open up 3 new containers.
@@ -2717,7 +2490,7 @@
   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
 
 MAU groups: 3
-  Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 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 phv68
+  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 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 phv67
   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
 
@@ -2769,8 +2542,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
@@ -2780,19 +2553,19 @@
 Packing options tried: 1
 Packing options skipped: 0
 Trying to place using best packing [8, 8, 16, 32]
-***Allocating phv294[7:0] for udp.srcPort[15:8]
-***Allocating phv295[7:0] for udp.srcPort[7:0]
-***Allocating phv329[15:0] for udp.dstPort[15:0]
-***Allocating phv263[31:16] for udp.length_[15:0]
-***Allocating phv263[15:0] for udp.checksum[15:0]
-Working on parse node parse_pkt_in (2) (ingress)
+***Allocating phv298[7:0] for udp.srcPort[15:8]
+***Allocating phv299[7:0] for udp.srcPort[7:0]
+***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) (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
@@ -2808,9 +2581,9 @@
 -------------------------------------------------------------------------------------------------
 
 MAU containers available:
-  8-bit: 44
-  16-bit: 74
-  32-bit: 42
+  8-bit: 47
+  16-bit: 79
+  32-bit: 48
 Packing options: 2
 Initial packing options: 2
 
@@ -2819,8 +2592,8 @@
 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
@@ -2834,36 +2607,36 @@
 |         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
 |    Total for 32 bit    |    6 (9.38%)    |  192 (9.38%)  |      2048      |
 |                        |                 |               |                |
-|         4 (8)          |    4 (25.00%)   |  32 (25.00%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
+|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      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     |    6 (9.38%)    |   48 (9.38%)  |      512       |
+|    Total for 8 bit     |    4 (6.25%)    |   32 (6.25%)  |      512       |
 |                        |                 |               |                |
 |         8 (16)         |    5 (31.25%)   |  80 (31.25%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      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    |    8 (8.33%)    |  128 (8.33%)  |      1536      |
+|    Total for 16 bit    |    6 (6.25%)    |   96 (6.25%)  |      1536      |
 |                        |                 |               |                |
-|       14 (32) T        |   12 (75.00%)   |  384 (75.00%) |      512       |
+|       14 (32) T        |   11 (68.75%)   |  352 (68.75%) |      512       |
 |       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   12 (37.50%)   |  384 (37.50%) |      1024      |
+|    Total for 32 bit    |   11 (34.38%)   |  352 (34.38%) |      1024      |
 |                        |                 |               |                |
-|        16 (8) T        |    9 (56.25%)   |  72 (56.25%)  |      128       |
+|        16 (8) T        |   11 (68.75%)   |  88 (68.75%)  |      128       |
 |        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    9 (28.12%)   |  72 (28.12%)  |      256       |
+|    Total for 8 bit     |   11 (34.38%)   |  88 (34.38%)  |      256       |
 |                        |                 |               |                |
-|       18 (16) T        |   14 (87.50%)   |  224 (87.50%) |      256       |
-|       19 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      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    |   14 (29.17%)   |  224 (29.17%) |      768       |
+|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
 |                        |                 |               |                |
-|       MAU total        |    20 (8.93%)   |  368 (8.98%)  |      4096      |
-|     Tagalong total     |   35 (31.25%)   |  680 (33.20%) |      2048      |
-|     Overall total      |   55 (16.37%)   | 1048 (17.06%) |      6144      |
+|       MAU total        |    16 (7.14%)   |  320 (7.81%)  |      4096      |
+|     Tagalong total     |   37 (33.04%)   |  680 (33.20%) |      2048      |
+|     Overall total      |   53 (15.77%)   | 1000 (16.28%) |      6144      |
 ------------------------------------------------------------------------------
 
 
@@ -2887,12 +2660,12 @@
 |    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       |
+|         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    |    1 (1.04%)    | 16 (1.04%) |      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       |
@@ -2907,21 +2680,36 @@
 |       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
 |    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
 |                        |                 |            |                |
-|       MAU total        |    2 (0.89%)    | 48 (1.17%) |      4096      |
+|       MAU total        |    1 (0.45%)    | 32 (0.78%) |      4096      |
 |     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
-|     Overall total      |    2 (0.60%)    | 48 (0.78%) |      6144      |
+|     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
 ---------------------------------------------------------------------------
 
->>Event 'pa_meta1' at time 1504795745.06
-   Took 3.89 seconds
+>>Event 'pa_meta1' at time 1504859130.57
+   Took 3.76 seconds
 
 -----------------------------------------------
   Allocating metadata (pass 1)
 -----------------------------------------------
 Allocation Step
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+@@@ 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.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
+$$$ initialization at table table0 will expand the table layout due to adding a default action.
 Total metadata field instances to allocate: 4  / 44 bits (44 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:
@@ -2976,36 +2764,36 @@
 |         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
 |    Total for 32 bit    |    6 (9.38%)    |  192 (9.38%)  |      2048      |
 |                        |                 |               |                |
-|         4 (8)          |    4 (25.00%)   |  32 (25.00%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
+|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      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     |    6 (9.38%)    |   48 (9.38%)  |      512       |
+|    Total for 8 bit     |    4 (6.25%)    |   32 (6.25%)  |      512       |
 |                        |                 |               |                |
 |         8 (16)         |    6 (37.50%)   |  89 (34.77%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      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    |    9 (9.38%)    |  137 (8.92%)  |      1536      |
+|    Total for 16 bit    |    7 (7.29%)    |  105 (6.84%)  |      1536      |
 |                        |                 |               |                |
-|       14 (32) T        |   12 (75.00%)   |  384 (75.00%) |      512       |
+|       14 (32) T        |   11 (68.75%)   |  352 (68.75%) |      512       |
 |       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   12 (37.50%)   |  384 (37.50%) |      1024      |
+|    Total for 32 bit    |   11 (34.38%)   |  352 (34.38%) |      1024      |
 |                        |                 |               |                |
-|        16 (8) T        |    9 (56.25%)   |  72 (56.25%)  |      128       |
+|        16 (8) T        |   11 (68.75%)   |  88 (68.75%)  |      128       |
 |        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    9 (28.12%)   |  72 (28.12%)  |      256       |
+|    Total for 8 bit     |   11 (34.38%)   |  88 (34.38%)  |      256       |
 |                        |                 |               |                |
-|       18 (16) T        |   14 (87.50%)   |  224 (87.50%) |      256       |
-|       19 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      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    |   14 (29.17%)   |  224 (29.17%) |      768       |
+|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
 |                        |                 |               |                |
-|       MAU total        |    21 (9.38%)   |  377 (9.20%)  |      4096      |
-|     Tagalong total     |   35 (31.25%)   |  680 (33.20%) |      2048      |
-|     Overall total      |   56 (16.67%)   | 1057 (17.20%) |      6144      |
+|       MAU total        |    17 (7.59%)   |  329 (8.03%)  |      4096      |
+|     Tagalong total     |   37 (33.04%)   |  680 (33.20%) |      2048      |
+|     Overall total      |   54 (16.07%)   | 1009 (16.42%) |      6144      |
 ------------------------------------------------------------------------------
 
 Allocation state difference after promised meta allocated:
@@ -3053,8 +2841,8 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
->>Event 'pa_pov' at time 1504795745.11
-   Took 0.05 seconds
+>>Event 'pa_pov' at time 1504859130.68
+   Took 0.10 seconds
 
 -----------------------------------------------
   Allocating POV
@@ -3071,36 +2859,36 @@
 |         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
 |    Total for 32 bit    |    6 (9.38%)    |  192 (9.38%)  |      2048      |
 |                        |                 |               |                |
-|         4 (8)          |    4 (25.00%)   |  32 (25.00%)  |      128       |
-|         5 (8)          |    2 (12.50%)   |  16 (12.50%)  |      128       |
+|         4 (8)          |    3 (18.75%)   |  24 (18.75%)  |      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     |    6 (9.38%)    |   48 (9.38%)  |      512       |
+|    Total for 8 bit     |    4 (6.25%)    |   32 (6.25%)  |      512       |
 |                        |                 |               |                |
 |         8 (16)         |    6 (37.50%)   |  89 (34.77%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      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    |    9 (9.38%)    |  137 (8.92%)  |      1536      |
+|    Total for 16 bit    |    7 (7.29%)    |  105 (6.84%)  |      1536      |
 |                        |                 |               |                |
-|       14 (32) T        |   12 (75.00%)   |  384 (75.00%) |      512       |
+|       14 (32) T        |   11 (68.75%)   |  352 (68.75%) |      512       |
 |       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   12 (37.50%)   |  384 (37.50%) |      1024      |
+|    Total for 32 bit    |   11 (34.38%)   |  352 (34.38%) |      1024      |
 |                        |                 |               |                |
-|        16 (8) T        |    9 (56.25%)   |  72 (56.25%)  |      128       |
+|        16 (8) T        |   11 (68.75%)   |  88 (68.75%)  |      128       |
 |        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    9 (28.12%)   |  72 (28.12%)  |      256       |
+|    Total for 8 bit     |   11 (34.38%)   |  88 (34.38%)  |      256       |
 |                        |                 |               |                |
-|       18 (16) T        |   14 (87.50%)   |  224 (87.50%) |      256       |
-|       19 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      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    |   14 (29.17%)   |  224 (29.17%) |      768       |
+|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
 |                        |                 |               |                |
-|       MAU total        |    21 (9.38%)   |  377 (9.20%)  |      4096      |
-|     Tagalong total     |   35 (31.25%)   |  680 (33.20%) |      2048      |
-|     Overall total      |   56 (16.67%)   | 1057 (17.20%) |      6144      |
+|       MAU total        |    17 (7.59%)   |  329 (8.03%)  |      4096      |
+|     Tagalong total     |   37 (33.04%)   |  680 (33.20%) |      2048      |
+|     Overall total      |   54 (16.07%)   | 1009 (16.42%) |      6144      |
 ------------------------------------------------------------------------------
 
 Sorted POV field instances to allocate (with best pack): 13
@@ -3119,25 +2907,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 192 / partial 1
+Container availability (not used yet for POV): total 193 / partial 1
 
 Looking for container to share POV bit in from already allocated containers that have not been used for POV.
->>Choose container phv68, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
+>>Choose container phv67, 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 phv68
-***Allocating phv68[0:0] for --validity_check--packet_in_hdr[0:0]
-***Allocating phv68[1:1] for --validity_check--packet_out_hdr[0:0]
-***Allocating phv68[2:2] for --validity_check--ethernet[0:0]
-***Allocating phv68[3:3] for --validity_check--ipv4[0:0]
-***Allocating phv68[4:4] for --validity_check--tcp[0:0]
-***Allocating phv68[5:5] for --validity_check--udp[0:0]
-***Allocating phv68[6:6] for --validity_check--metadata_bridge[0:0]
+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]
 
 Working on
 --validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
@@ -3164,24 +2952,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 195 / partial 0
+Container availability (not used yet for POV): total 198 / 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>
@@ -3205,12 +2993,12 @@
 
 Sum of container bit widths POVs found in: 16
  ingress
-    phv68 (8 bits)
+    phv67 (8 bits)
   >> 8 total bits
  egress
-    phv82 (8 bits)
+    phv81 (8 bits)
   >> 8 total bits
->>Event 'pa_meta2' at time 1504795745.23
+>>Event 'pa_meta2' at time 1504859130.80
    Took 0.12 seconds
 
 -----------------------------------------------
@@ -3231,36 +3019,36 @@
 |         3 (32)         |    0 (0.00%)    |   0 (0.00%)   |      512       |
 |    Total for 32 bit    |    6 (9.38%)    |  192 (9.38%)  |      2048      |
 |                        |                 |               |                |
-|         4 (8)          |    5 (31.25%)   |  39 (30.47%)  |      128       |
-|         5 (8)          |    3 (18.75%)   |  22 (17.19%)  |      128       |
+|         4 (8)          |    4 (25.00%)   |  31 (24.22%)  |      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     |    8 (12.50%)   |  61 (11.91%)  |      512       |
+|    Total for 8 bit     |    6 (9.38%)    |   45 (8.79%)  |      512       |
 |                        |                 |               |                |
 |         8 (16)         |    6 (37.50%)   |  89 (34.77%)  |      256       |
-|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      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    |    9 (9.38%)    |  137 (8.92%)  |      1536      |
+|    Total for 16 bit    |    7 (7.29%)    |  105 (6.84%)  |      1536      |
 |                        |                 |               |                |
-|       14 (32) T        |   12 (75.00%)   |  384 (75.00%) |      512       |
+|       14 (32) T        |   11 (68.75%)   |  352 (68.75%) |      512       |
 |       15 (32) T        |    0 (0.00%)    |   0 (0.00%)   |      512       |
-|    Total for 32 bit    |   12 (37.50%)   |  384 (37.50%) |      1024      |
+|    Total for 32 bit    |   11 (34.38%)   |  352 (34.38%) |      1024      |
 |                        |                 |               |                |
-|        16 (8) T        |    9 (56.25%)   |  72 (56.25%)  |      128       |
+|        16 (8) T        |   11 (68.75%)   |  88 (68.75%)  |      128       |
 |        17 (8) T        |    0 (0.00%)    |   0 (0.00%)   |      128       |
-|    Total for 8 bit     |    9 (28.12%)   |  72 (28.12%)  |      256       |
+|    Total for 8 bit     |   11 (34.38%)   |  88 (34.38%)  |      256       |
 |                        |                 |               |                |
-|       18 (16) T        |   14 (87.50%)   |  224 (87.50%) |      256       |
-|       19 (16) T        |    0 (0.00%)    |   0 (0.00%)   |      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    |   14 (29.17%)   |  224 (29.17%) |      768       |
+|    Total for 16 bit    |   15 (31.25%)   |  240 (31.25%) |      768       |
 |                        |                 |               |                |
-|       MAU total        |   23 (10.27%)   |  390 (9.52%)  |      4096      |
-|     Tagalong total     |   35 (31.25%)   |  680 (33.20%) |      2048      |
-|     Overall total      |   58 (17.26%)   | 1070 (17.42%) |      6144      |
+|       MAU total        |    19 (8.48%)   |  342 (8.35%)  |      4096      |
+|     Tagalong total     |   37 (33.04%)   |  680 (33.20%) |      2048      |
+|     Overall total      |   56 (16.67%)   | 1022 (16.63%) |      6144      |
 ------------------------------------------------------------------------------
 
 Allocation state difference after promised meta allocated:
@@ -3308,9 +3096,9 @@
 --------------------------------------------------------------------------
 
 Sorted metadata field instances to allocate: 3 / 35 bits (35 ingress bits and 0 egress bits)
-     0: ecmp_metadata.groupId (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=1, latest_use=2)
-     1: ecmp_metadata.selector (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=1, latest_use=2)
-     2: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=2, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=1, latest_use=12)
+     0: ecmp_metadata.groupId (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
+     1: ecmp_metadata.selector (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
+     2: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=2, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=0, latest_use=12)
 
 ---------------------------------------
 Working on:
@@ -3337,12 +3125,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 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
   Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
-  Group 4 8 bits -- avail 11 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 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 12 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 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 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 7 8 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 8 16 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv134 -- 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 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
   Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
   Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
@@ -3378,12 +3166,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 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
   Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
-  Group 4 8 bits -- avail 11 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 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 12 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 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 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 7 8 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 8 16 bits -- avail 9 and promised 1 -- ingress promised 1 and remain 8 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv135 -- 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 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
   Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
   Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
@@ -3419,12 +3207,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 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 phv69 -- 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 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 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 8 and promised 1 -- ingress promised 1 and remain 7 and req 1 -- egress promised 0 and remain 0 and req 0 -- as if deparsed True -- container_to_use phv136 -- 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
@@ -3436,8 +3224,8 @@
   case 2: looking at allowed start bits [0, 1, 2, 3, 4, 5, 6, 7]
     final start_bit = 5
   (1) msb_offset = 8
-***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
->>Event 'pa_meta_init' at time 1504795745.39
+***Allocating phv68[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
+>>Event 'pa_meta_init' at time 1504859130.96
    Took 0.16 seconds
 
 -----------------------------------------------