Support for Tofino pipeconfs in ECMP app

Change-Id: I34c16f5f349c480f53b1bfc6a1fd91ec5a328ee3
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
new file mode 100644
index 0000000..b6941b9
--- /dev/null
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
@@ -0,0 +1,3466 @@
++---------------------------------------------------------------------+
+|  Log file: pa.log                                                   |
+|  Compiler version: 5.1.0 (fca32d1)                                  |
+|  Created on: Thu Sep  7 14:48:49 2017                               |
++---------------------------------------------------------------------+
+
+HLIR Version: 0.10.5
+PHV container sizes are: [8, 16, 32]
+Parser state extraction bandwidth: 224
+  8-bit: 4 extracts
+  16-bit: 4 extracts
+  32-bit: 4 extracts
+Free containers to start for 8 bits:
+  Group 4 8 bits has 16 available
+  Group 5 8 bits has 16 available
+  Group 6 8 bits has 16 available
+  Group 7 8 bits has 16 available
+  Group 16 8 bits (tagalong) has 16 available
+  Group 17 8 bits (tagalong) has 16 available
+Free containers to start for 16 bits:
+  Group 8 16 bits has 16 available
+  Group 9 16 bits has 16 available
+  Group 10 16 bits has 16 available
+  Group 11 16 bits has 16 available
+  Group 12 16 bits has 16 available
+  Group 13 16 bits has 16 available
+  Group 18 16 bits (tagalong) has 16 available
+  Group 19 16 bits (tagalong) has 16 available
+  Group 20 16 bits (tagalong) has 16 available
+Free containers to start for 32 bits:
+  Group 0 32 bits has 16 available
+  Group 1 32 bits has 16 available
+  Group 2 32 bits has 16 available
+  Group 3 32 bits has 16 available
+  Group 14 32 bits (tagalong) has 16 available
+  Group 15 32 bits (tagalong) has 16 available
+
+
+Initializing PHV allocation...
+Ingress intrinsic metadata fields branch on includes:
+  ig_intr_md.ingress_port
+
+-----------------------------------------------
+   User added PHV constraints
+-----------------------------------------------
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
+
+-----------------------------------------------
+  Scanning for field list calculations
+-----------------------------------------------
+
+-----------------------------------------------
+   Eliminating unused metadata (99 instances)
+-----------------------------------------------
+Removing standard_metadata.ingress_port in ingress
+Removing standard_metadata.packet_length in ingress
+Removing standard_metadata.egress_spec in ingress
+Removing standard_metadata.egress_port in ingress
+Removing standard_metadata.egress_instance in ingress
+Removing standard_metadata.instance_type in ingress
+Removing standard_metadata.clone_spec in ingress
+Removing standard_metadata._padding in ingress
+Removing standard_metadata.valid in ingress
+Removing ig_intr_md.ingress_mac_tstamp in ingress
+Removing ig_intr_md.valid in ingress
+Removing ig_intr_md_for_tm._pad1 in ingress
+Removing ig_intr_md_for_tm.bypass_egress in ingress
+Removing ig_intr_md_for_tm.deflect_on_drop in ingress
+Removing ig_intr_md_for_tm.ingress_cos in ingress
+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.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
+Removing ig_intr_md_for_tm.mcast_grp_a in ingress
+Removing ig_intr_md_for_tm.mcast_grp_b in ingress
+Removing ig_intr_md_for_tm._pad3 in ingress
+Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
+Removing ig_intr_md_for_tm._pad4 in ingress
+Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
+Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
+Removing ig_intr_md_for_tm._pad5 in ingress
+Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
+Removing ig_intr_md_for_tm.rid in ingress
+Removing ig_intr_md_for_tm.valid in ingress
+Removing ig_intr_md_for_mb._pad1 in ingress
+Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
+Removing ig_intr_md_for_mb.valid in ingress
+Removing eg_intr_md._pad0 in ingress
+Removing eg_intr_md.egress_port in ingress
+Removing eg_intr_md._pad1 in ingress
+Removing eg_intr_md.enq_qdepth in ingress
+Removing eg_intr_md._pad2 in ingress
+Removing eg_intr_md.enq_congest_stat in ingress
+Removing eg_intr_md.enq_tstamp in ingress
+Removing eg_intr_md._pad3 in ingress
+Removing eg_intr_md.deq_qdepth in ingress
+Removing eg_intr_md._pad4 in ingress
+Removing eg_intr_md.deq_congest_stat in ingress
+Removing eg_intr_md.app_pool_congest_stat in ingress
+Removing eg_intr_md.deq_timedelta in ingress
+Removing eg_intr_md.egress_rid in ingress
+Removing eg_intr_md._pad5 in ingress
+Removing eg_intr_md.egress_rid_first in ingress
+Removing eg_intr_md._pad6 in ingress
+Removing eg_intr_md.egress_qid in ingress
+Removing eg_intr_md._pad7 in ingress
+Removing eg_intr_md.egress_cos in ingress
+Removing eg_intr_md._pad8 in ingress
+Removing eg_intr_md.deflection_flag in ingress
+Removing eg_intr_md.pkt_length in ingress
+Removing eg_intr_md.valid in ingress
+Removing eg_intr_md_for_mb._pad1 in ingress
+Removing eg_intr_md_for_mb.egress_mirror_id in ingress
+Removing eg_intr_md_for_mb.coalesce_flush in ingress
+Removing eg_intr_md_for_mb.coalesce_length in ingress
+Removing eg_intr_md_for_mb.valid in ingress
+Removing eg_intr_md_for_oport._pad1 in ingress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
+Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
+Removing eg_intr_md_for_oport.force_tx_error in ingress
+Removing eg_intr_md_for_oport.drop_ctl in ingress
+Removing eg_intr_md_for_oport.valid in ingress
+Removing ecmp_metadata.valid in ingress
+Removing eg_intr_md._pad1 in egress
+Removing eg_intr_md.enq_qdepth in egress
+Removing eg_intr_md._pad2 in egress
+Removing eg_intr_md.enq_congest_stat in egress
+Removing eg_intr_md.enq_tstamp in egress
+Removing eg_intr_md._pad3 in egress
+Removing eg_intr_md.deq_qdepth in egress
+Removing eg_intr_md._pad4 in egress
+Removing eg_intr_md.deq_congest_stat in egress
+Removing eg_intr_md.app_pool_congest_stat in egress
+Removing eg_intr_md.deq_timedelta in egress
+Removing eg_intr_md.egress_rid in egress
+Removing eg_intr_md._pad5 in egress
+Removing eg_intr_md.egress_rid_first in egress
+Removing eg_intr_md._pad6 in egress
+Removing eg_intr_md.egress_qid in egress
+Removing eg_intr_md._pad8 in egress
+Removing eg_intr_md.deflection_flag in egress
+Removing eg_intr_md.pkt_length in egress
+Removing eg_intr_md_for_oport._pad1 in egress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
+Removing eg_intr_md_for_oport.update_delay_on_tx in egress
+Removing eg_intr_md_for_oport.force_tx_error in egress
+Removing eg_intr_md_for_oport.drop_ctl in egress
+Removing eg_intr_md_for_mb._pad1 in egress
+Removing eg_intr_md_for_mb.egress_mirror_id in egress
+Removing eg_intr_md_for_mb.coalesce_flush in egress
+Removing eg_intr_md_for_mb.coalesce_length in egress
+
+-----------------------------------------------
+   Eliminating unused packet fields (6 instances)
+-----------------------------------------------
+Removing packet_in_hdr.valid in ingress
+Removing packet_out_hdr.valid in ingress
+Removing ethernet.valid in ingress
+Removing ipv4.valid in ingress
+Removing tcp.valid in ingress
+Removing udp.valid in ingress
+
+--------------------------------------------
+  ingress field instance bit width histogram
+--------------------------------------------
+   Total fields: 51
+   Max value: 15
+
+    1 : xxxxxxxxxx (10)
+    2 : x (1)
+    3 : xxxxx (5)
+    4 : xxx (3)
+    6 : x (1)
+    7 : xx (2)
+    8 : xxx (3)
+    9 : xxxx (4)
+   13 : x (1)
+   16 : xxxxxxxxxxxxxxx (15)
+   32 : xxxx (4)
+   48 : xx (2)
+
+--------------------------------------------
+  egress field instance bit width histogram
+--------------------------------------------
+   Total fields: 46
+   Max value: 13
+
+    1 : xxxxxxx (7)
+    3 : xxxx (4)
+    4 : xxx (3)
+    5 : x (1)
+    6 : x (1)
+    7 : xxx (3)
+    8 : xxx (3)
+    9 : xxxx (4)
+   13 : x (1)
+   16 : xxxxxxxxxxxxx (13)
+   32 : xxxx (4)
+   48 : xx (2)
+
+HLIR Version: 0.10.5
+PHV container sizes are: [8, 16, 32]
+Parser state extraction bandwidth: 224
+  8-bit: 4 extracts
+  16-bit: 4 extracts
+  32-bit: 4 extracts
+Free containers to start for 8 bits:
+  Group 4 8 bits has 16 available
+  Group 5 8 bits has 16 available
+  Group 6 8 bits has 16 available
+  Group 7 8 bits has 16 available
+  Group 16 8 bits (tagalong) has 16 available
+  Group 17 8 bits (tagalong) has 16 available
+Free containers to start for 16 bits:
+  Group 8 16 bits has 16 available
+  Group 9 16 bits has 16 available
+  Group 10 16 bits has 16 available
+  Group 11 16 bits has 16 available
+  Group 12 16 bits has 16 available
+  Group 13 16 bits has 16 available
+  Group 18 16 bits (tagalong) has 16 available
+  Group 19 16 bits (tagalong) has 16 available
+  Group 20 16 bits (tagalong) has 16 available
+Free containers to start for 32 bits:
+  Group 0 32 bits has 16 available
+  Group 1 32 bits has 16 available
+  Group 2 32 bits has 16 available
+  Group 3 32 bits has 16 available
+  Group 14 32 bits (tagalong) has 16 available
+  Group 15 32 bits (tagalong) has 16 available
+
+
+Initializing PHV allocation...
+Ingress intrinsic metadata fields branch on includes:
+  ig_intr_md.ingress_port
+
+-----------------------------------------------
+   User added PHV constraints
+-----------------------------------------------
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
+
+-----------------------------------------------
+  Scanning for field list calculations
+-----------------------------------------------
+
+-----------------------------------------------
+   Eliminating unused metadata (99 instances)
+-----------------------------------------------
+Removing standard_metadata.ingress_port in ingress
+Removing standard_metadata.packet_length in ingress
+Removing standard_metadata.egress_spec in ingress
+Removing standard_metadata.egress_port in ingress
+Removing standard_metadata.egress_instance in ingress
+Removing standard_metadata.instance_type in ingress
+Removing standard_metadata.clone_spec in ingress
+Removing standard_metadata._padding in ingress
+Removing standard_metadata.valid in ingress
+Removing ig_intr_md.ingress_mac_tstamp in ingress
+Removing ig_intr_md.valid in ingress
+Removing ig_intr_md_for_tm._pad1 in ingress
+Removing ig_intr_md_for_tm.bypass_egress in ingress
+Removing ig_intr_md_for_tm.deflect_on_drop in ingress
+Removing ig_intr_md_for_tm.ingress_cos in ingress
+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.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
+Removing ig_intr_md_for_tm.mcast_grp_a in ingress
+Removing ig_intr_md_for_tm.mcast_grp_b in ingress
+Removing ig_intr_md_for_tm._pad3 in ingress
+Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
+Removing ig_intr_md_for_tm._pad4 in ingress
+Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
+Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
+Removing ig_intr_md_for_tm._pad5 in ingress
+Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
+Removing ig_intr_md_for_tm.rid in ingress
+Removing ig_intr_md_for_tm.valid in ingress
+Removing ig_intr_md_for_mb._pad1 in ingress
+Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
+Removing ig_intr_md_for_mb.valid in ingress
+Removing eg_intr_md._pad0 in ingress
+Removing eg_intr_md.egress_port in ingress
+Removing eg_intr_md._pad1 in ingress
+Removing eg_intr_md.enq_qdepth in ingress
+Removing eg_intr_md._pad2 in ingress
+Removing eg_intr_md.enq_congest_stat in ingress
+Removing eg_intr_md.enq_tstamp in ingress
+Removing eg_intr_md._pad3 in ingress
+Removing eg_intr_md.deq_qdepth in ingress
+Removing eg_intr_md._pad4 in ingress
+Removing eg_intr_md.deq_congest_stat in ingress
+Removing eg_intr_md.app_pool_congest_stat in ingress
+Removing eg_intr_md.deq_timedelta in ingress
+Removing eg_intr_md.egress_rid in ingress
+Removing eg_intr_md._pad5 in ingress
+Removing eg_intr_md.egress_rid_first in ingress
+Removing eg_intr_md._pad6 in ingress
+Removing eg_intr_md.egress_qid in ingress
+Removing eg_intr_md._pad7 in ingress
+Removing eg_intr_md.egress_cos in ingress
+Removing eg_intr_md._pad8 in ingress
+Removing eg_intr_md.deflection_flag in ingress
+Removing eg_intr_md.pkt_length in ingress
+Removing eg_intr_md.valid in ingress
+Removing eg_intr_md_for_mb._pad1 in ingress
+Removing eg_intr_md_for_mb.egress_mirror_id in ingress
+Removing eg_intr_md_for_mb.coalesce_flush in ingress
+Removing eg_intr_md_for_mb.coalesce_length in ingress
+Removing eg_intr_md_for_mb.valid in ingress
+Removing eg_intr_md_for_oport._pad1 in ingress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
+Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
+Removing eg_intr_md_for_oport.force_tx_error in ingress
+Removing eg_intr_md_for_oport.drop_ctl in ingress
+Removing eg_intr_md_for_oport.valid in ingress
+Removing ecmp_metadata.valid in ingress
+Removing eg_intr_md._pad1 in egress
+Removing eg_intr_md.enq_qdepth in egress
+Removing eg_intr_md._pad2 in egress
+Removing eg_intr_md.enq_congest_stat in egress
+Removing eg_intr_md.enq_tstamp in egress
+Removing eg_intr_md._pad3 in egress
+Removing eg_intr_md.deq_qdepth in egress
+Removing eg_intr_md._pad4 in egress
+Removing eg_intr_md.deq_congest_stat in egress
+Removing eg_intr_md.app_pool_congest_stat in egress
+Removing eg_intr_md.deq_timedelta in egress
+Removing eg_intr_md.egress_rid in egress
+Removing eg_intr_md._pad5 in egress
+Removing eg_intr_md.egress_rid_first in egress
+Removing eg_intr_md._pad6 in egress
+Removing eg_intr_md.egress_qid in egress
+Removing eg_intr_md._pad8 in egress
+Removing eg_intr_md.deflection_flag in egress
+Removing eg_intr_md.pkt_length in egress
+Removing eg_intr_md_for_oport._pad1 in egress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
+Removing eg_intr_md_for_oport.update_delay_on_tx in egress
+Removing eg_intr_md_for_oport.force_tx_error in egress
+Removing eg_intr_md_for_oport.drop_ctl in egress
+Removing eg_intr_md_for_mb._pad1 in egress
+Removing eg_intr_md_for_mb.egress_mirror_id in egress
+Removing eg_intr_md_for_mb.coalesce_flush in egress
+Removing eg_intr_md_for_mb.coalesce_length in egress
+
+-----------------------------------------------
+   Eliminating unused packet fields (6 instances)
+-----------------------------------------------
+Removing packet_in_hdr.valid in ingress
+Removing packet_out_hdr.valid in ingress
+Removing ethernet.valid in ingress
+Removing ipv4.valid in ingress
+Removing tcp.valid in ingress
+Removing udp.valid in ingress
+
+--------------------------------------------
+  ingress field instance bit width histogram
+--------------------------------------------
+   Total fields: 51
+   Max value: 15
+
+    1 : xxxxxxxxxx (10)
+    2 : x (1)
+    3 : xxxxx (5)
+    4 : xxx (3)
+    6 : x (1)
+    7 : xx (2)
+    8 : xxx (3)
+    9 : xxxx (4)
+   13 : x (1)
+   16 : xxxxxxxxxxxxxxx (15)
+   32 : xxxx (4)
+   48 : xx (2)
+
+--------------------------------------------
+  egress field instance bit width histogram
+--------------------------------------------
+   Total fields: 46
+   Max value: 13
+
+    1 : xxxxxxx (7)
+    3 : xxxx (4)
+    4 : xxx (3)
+    5 : x (1)
+    6 : x (1)
+    7 : xxx (3)
+    8 : xxx (3)
+    9 : xxxx (4)
+   13 : x (1)
+   16 : xxxxxxxxxxxxx (13)
+   32 : xxxx (4)
+   48 : xx (2)
+
+---------------------------------------------------------------------------------------------------------------------------------
+|              Field Name             | Bit Width | Direction | Parsed? | Deparsed? | Metadata? | Read in MAU? | Write in MAU? |
+---------------------------------------------------------------------------------------------------------------------------------
+|      --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_out_hdr  |     1     |   egress  |    x    |     x     |           |              |               |
+|        --validity_check--tcp        |     1     |   egress  |    x    |     x     |           |              |               |
+|        --validity_check--udp        |     1     |   egress  |    x    |     x     |           |              |               |
+|           eg_intr_md._pad0          |     7     |   egress  |    x    |           |     x     |              |               |
+|           eg_intr_md._pad7          |     5     |   egress  |    x    |           |     x     |              |               |
+|        eg_intr_md.egress_cos        |     3     |   egress  |    x    |     x     |     x     |              |               |
+|        eg_intr_md.egress_port       |     9     |   egress  |    x    |     x     |     x     |              |               |
+|           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     |           |              |               |
+|           ipv4.fragOffset           |     13    |   egress  |    x    |     x     |           |              |               |
+|           ipv4.hdrChecksum          |     16    |   egress  |    x    |     x     |           |              |               |
+|         ipv4.identification         |     16    |   egress  |    x    |     x     |           |              |               |
+|               ipv4.ihl              |     4     |   egress  |    x    |     x     |           |              |               |
+|            ipv4.protocol            |     8     |   egress  |    x    |     x     |           |              |               |
+|             ipv4.srcAddr            |     32    |   egress  |    x    |     x     |           |              |               |
+|            ipv4.totalLen            |     16    |   egress  |    x    |     x     |           |              |               |
+|               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_out_hdr._padding       |     7     |   egress  |    x    |     x     |           |              |               |
+|      packet_out_hdr.egress_port     |     9     |   egress  |    x    |     x     |           |              |               |
+|              tcp.ackNo              |     32    |   egress  |    x    |     x     |           |              |               |
+|             tcp.checksum            |     16    |   egress  |    x    |     x     |           |              |               |
+|               tcp.ctrl              |     6     |   egress  |    x    |     x     |           |              |               |
+|            tcp.dataOffset           |     4     |   egress  |    x    |     x     |           |              |               |
+|             tcp.dstPort             |     16    |   egress  |    x    |     x     |           |              |               |
+|               tcp.ecn               |     3     |   egress  |    x    |     x     |           |              |               |
+|               tcp.res               |     3     |   egress  |    x    |     x     |           |              |               |
+|              tcp.seqNo              |     32    |   egress  |    x    |     x     |           |              |               |
+|             tcp.srcPort             |     16    |   egress  |    x    |     x     |           |              |               |
+|            tcp.urgentPtr            |     16    |   egress  |    x    |     x     |           |              |               |
+|              tcp.window             |     16    |   egress  |    x    |     x     |           |              |               |
+|             udp.checksum            |     16    |   egress  |    x    |     x     |           |              |               |
+|             udp.dstPort             |     16    |   egress  |    x    |     x     |           |              |               |
+|             udp.length_             |     16    |   egress  |    x    |     x     |           |              |               |
+|             udp.srcPort             |     16    |   egress  |    x    |     x     |           |              |               |
+|      --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_out_hdr  |     1     |  ingress  |    x    |     x     |           |      x       |       x       |
+|        --validity_check--tcp        |     1     |  ingress  |    x    |     x     |           |              |               |
+|        --validity_check--udp        |     1     |  ingress  |    x    |     x     |           |              |               |
+|        ecmp_metadata.groupId        |     16    |  ingress  |         |           |     x     |      x       |       x       |
+|        ecmp_metadata.selector       |     16    |  ingress  |         |           |     x     |      x       |       x       |
+|           ethernet.dstAddr          |     48    |  ingress  |    x    |     x     |           |      x       |               |
+|          ethernet.etherType         |     16    |  ingress  |    x    |     x     |           |      x       |               |
+|           ethernet.srcAddr          |     48    |  ingress  |    x    |     x     |           |      x       |               |
+|           ig_intr_md._pad1          |     1     |  ingress  |    x    |           |     x     |              |               |
+|           ig_intr_md._pad2          |     2     |  ingress  |    x    |           |     x     |              |               |
+|           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     |           |              |               |
+|             ipv4.dstAddr            |     32    |  ingress  |    x    |     x     |           |      x       |               |
+|              ipv4.flags             |     3     |  ingress  |    x    |     x     |           |              |               |
+|           ipv4.fragOffset           |     13    |  ingress  |    x    |     x     |           |              |               |
+|           ipv4.hdrChecksum          |     16    |  ingress  |    x    |     x     |           |              |               |
+|         ipv4.identification         |     16    |  ingress  |    x    |     x     |           |              |               |
+|               ipv4.ihl              |     4     |  ingress  |    x    |     x     |           |              |               |
+|            ipv4.protocol            |     8     |  ingress  |    x    |     x     |           |              |               |
+|             ipv4.srcAddr            |     32    |  ingress  |    x    |     x     |           |      x       |               |
+|            ipv4.totalLen            |     16    |  ingress  |    x    |     x     |           |              |               |
+|               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_out_hdr._padding       |     7     |  ingress  |    x    |     x     |           |              |               |
+|      packet_out_hdr.egress_port     |     9     |  ingress  |    x    |     x     |           |      x       |               |
+|              tcp.ackNo              |     32    |  ingress  |    x    |     x     |           |              |               |
+|             tcp.checksum            |     16    |  ingress  |    x    |     x     |           |              |               |
+|               tcp.ctrl              |     6     |  ingress  |    x    |     x     |           |              |               |
+|            tcp.dataOffset           |     4     |  ingress  |    x    |     x     |           |              |               |
+|             tcp.dstPort             |     16    |  ingress  |    x    |     x     |           |              |               |
+|               tcp.ecn               |     3     |  ingress  |    x    |     x     |           |              |               |
+|               tcp.res               |     3     |  ingress  |    x    |     x     |           |              |               |
+|              tcp.seqNo              |     32    |  ingress  |    x    |     x     |           |              |               |
+|             tcp.srcPort             |     16    |  ingress  |    x    |     x     |           |              |               |
+|            tcp.urgentPtr            |     16    |  ingress  |    x    |     x     |           |              |               |
+|              tcp.window             |     16    |  ingress  |    x    |     x     |           |              |               |
+|             udp.checksum            |     16    |  ingress  |    x    |     x     |           |              |               |
+|             udp.dstPort             |     16    |  ingress  |    x    |     x     |           |      x       |               |
+|             udp.length_             |     16    |  ingress  |    x    |     x     |           |              |               |
+|             udp.srcPort             |     16    |  ingress  |    x    |     x     |           |      x       |               |
+---------------------------------------------------------------------------------------------------------------------------------
+
+Performing PHV allocation...
+ingress_parser critical path: 464 bits
+  start of 0 bits
+  ingress_intrinsic_metadata of 16 bits
+  default_parser of 0 bits
+  parse_pkt_out of 16 bits
+  parse_ethernet of 112 bits
+  parse_ipv4 of 160 bits
+  parse_tcp of 160 bits
+  --ingress-- of 0 bits
+
+--------------------------------------
+   Exclusive parse states in ingress_parser
+--------------------------------------
+  parse_pkt_in and default_parser are exclusive parse states
+  parse_pkt_in and parse_pkt_out are exclusive parse states
+  parse_tcp and parse_udp are exclusive parse states
+
+egress_parser critical path: 472 bits
+  start of 0 bits
+  egress_intrinsic_metadata of 24 bits
+  default_parser of 0 bits
+  parse_pkt_out of 16 bits
+  parse_ethernet of 112 bits
+  parse_ipv4 of 160 bits
+  parse_tcp of 160 bits
+  egress_for_mirror_buffer of 0 bits
+  --egress-- of 0 bits
+
+--------------------------------------
+   Exclusive parse states in egress_parser
+--------------------------------------
+  parse_pkt_in and default_parser are exclusive parse states
+  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
+   Took 0.01 seconds
+--------------------------------------------
+PHV MAU Groups: 95
+--------------------------------------------
+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>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+  ig_intr_md._pad1 <1 bits ingress parsed imeta>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 2.
+  ig_intr_md._pad2 <2 bits ingress parsed imeta>
+
+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>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
+  packet_in_hdr._padding <7 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+  --validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
+  packet_out_hdr._padding <7 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
+  ethernet.dstAddr <48 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+  --validity_check--ethernet <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
+  ethernet.srcAddr <48 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  ethernet.etherType <16 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
+  ipv4.version <4 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+  --validity_check--ipv4 <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
+  ipv4.ihl <4 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
+  ipv4.diffserv <8 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  ipv4.totalLen <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  ipv4.identification <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+  ipv4.flags <3 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 13.
+  ipv4.fragOffset <13 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
+  ipv4.ttl <8 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
+  ipv4.protocol <8 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  ipv4.hdrChecksum <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+  ipv4.srcAddr <32 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+  ipv4.dstAddr <32 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  tcp.srcPort <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+  --validity_check--tcp <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  tcp.dstPort <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+  tcp.seqNo <32 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+  tcp.ackNo <32 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
+  tcp.dataOffset <4 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+  tcp.res <3 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+  tcp.ecn <3 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 6.
+  tcp.ctrl <6 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  tcp.window <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  tcp.checksum <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  tcp.urgentPtr <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  udp.srcPort <16 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+  --validity_check--udp <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  udp.dstPort <16 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  udp.length_ <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  udp.checksum <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  ecmp_metadata.groupId <16 bits ingress meta R W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+  ecmp_metadata.selector <16 bits ingress meta R W>
+
+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 1.
+  --validity_check--packet_in_hdr <1 bits egress parsed pov W>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 7.
+  packet_in_hdr._padding <7 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 9.
+  packet_out_hdr.egress_port <9 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+  --validity_check--packet_out_hdr <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 7.
+  packet_out_hdr._padding <7 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 48.
+  ethernet.dstAddr <48 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+  --validity_check--ethernet <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 48.
+  ethernet.srcAddr <48 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  ethernet.etherType <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 4.
+  ipv4.version <4 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+  --validity_check--ipv4 <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 4.
+  ipv4.ihl <4 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 8.
+  ipv4.diffserv <8 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  ipv4.totalLen <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  ipv4.identification <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+  ipv4.flags <3 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 13.
+  ipv4.fragOffset <13 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 8.
+  ipv4.ttl <8 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 8.
+  ipv4.protocol <8 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  ipv4.hdrChecksum <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+  ipv4.srcAddr <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+  ipv4.dstAddr <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  tcp.srcPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+  --validity_check--tcp <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  tcp.dstPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+  tcp.seqNo <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+  tcp.ackNo <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 4.
+  tcp.dataOffset <4 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+  tcp.res <3 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+  tcp.ecn <3 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 6.
+  tcp.ctrl <6 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  tcp.window <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  tcp.checksum <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  tcp.urgentPtr <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  udp.srcPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+  --validity_check--udp <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  udp.dstPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+  udp.length_ <16 bits egress parsed tagalong>
+
+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>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 9.
+  eg_intr_md.egress_port <9 bits egress parsed imeta>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 5.
+  eg_intr_md._pad7 <5 bits egress parsed imeta>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+  eg_intr_md.egress_cos <3 bits egress parsed imeta>
+
+
+>>Event 'pa_resv' at time 1504795731.64
+   Took 0.00 seconds
+
+-----------------------------------------------
+  Container reservations
+-----------------------------------------------
+Allocation Step
+ingress reservations:
+   8-bit containers: 0
+   16-bit containers: 0
+   32-bit containers: 0
+egress reservations:
+   8-bit containers: 0
+   16-bit containers: 0
+   32-bit containers: 0
+   None required.
+
+-----------------------------------------------
+  Tagalong container reservations
+-----------------------------------------------
+Allocation Step
+ingress reservations:
+   8-bit containers: 0
+   16-bit containers: 0
+   32-bit containers: 0
+egress reservations:
+   8-bit containers: 0
+   16-bit containers: 0
+   32-bit containers: 0
+   None required.
+
+-----------------------------------------------
+  POV bit index reservations
+-----------------------------------------------
+Allocation Step
+POV bit indicies requested for ingress: [16]
+
+MAU groups: 3
+  Group 0 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 phv0
+  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
+   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
+
+
+After allocating bridged metadata:
+Allocation state: Final Allocation
+---------------------------------------------------------------------------
+|       PHV Group        | Containers Used | Bits Used  | Bits Available |
+| (container bit widths) |     (% used)    |  (% used)  |                |
+---------------------------------------------------------------------------
+|         0 (32)         |    1 (6.25%)    | 32 (6.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    |    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       |
+|         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       |
+|                        |                 |            |                |
+|         8 (16)         |    1 (6.25%)    | 16 (6.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    |    2 (2.08%)    | 32 (2.08%) |      1536      |
+|                        |                 |            |                |
+|       14 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|       15 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%)  |      1024      |
+|                        |                 |            |                |
+|        16 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|                        |                 |            |                |
+|       18 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|       19 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
+|                        |                 |            |                |
+|       MAU total        |    5 (2.23%)    | 80 (1.95%) |      4096      |
+|     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
+|     Overall total      |    5 (1.49%)    | 80 (1.30%) |      6144      |
+---------------------------------------------------------------------------
+
+>>Event 'pa_phase0' at time 1504795732.08
+   Took 0.40 seconds
+
+-----------------------------------------------
+  Allocating Phase 0-related metadata
+-----------------------------------------------
+Allocation Step
+  Phase 0 not in use.
+
+After allocating data written by Phase 0:
+Allocation state: Final Allocation
+---------------------------------------------------------------------------
+|       PHV Group        | Containers Used | Bits Used  | Bits Available |
+| (container bit widths) |     (% used)    |  (% used)  |                |
+---------------------------------------------------------------------------
+|         0 (32)         |    1 (6.25%)    | 32 (6.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    |    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       |
+|         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       |
+|                        |                 |            |                |
+|         8 (16)         |    1 (6.25%)    | 16 (6.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    |    2 (2.08%)    | 32 (2.08%) |      1536      |
+|                        |                 |            |                |
+|       14 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|       15 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%)  |      1024      |
+|                        |                 |            |                |
+|        16 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|                        |                 |            |                |
+|       18 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|       19 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
+|                        |                 |            |                |
+|       MAU total        |    5 (2.23%)    | 80 (1.95%) |      4096      |
+|     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
+|     Overall total      |    5 (1.49%)    | 80 (1.30%) |      6144      |
+---------------------------------------------------------------------------
+
+>>Event 'pa_critical' at time 1504795732.09
+   Took 0.00 seconds
+
+-----------------------------------------------
+  Allocating headers on longest parse paths
+-----------------------------------------------
+Allocation Step
+
+All Sorted parse nodes:
+  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
+  parse_ipv4 (egress) with bits = 160 and max = 1
+  parse_tcp (egress) with bits = 160 and max = 1
+  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
+  --ingress-- () with bits = 0 and max = 0
+  start () with bits = 0 and max = 0
+  default_parser () with bits = 0 and max = 0
+  egress_for_mirror_buffer () with bits = 0 and max = 0
+  --egress-- () with bits = 0 and max = 0
+Total packet bits: 936
+Total meta bits: 0
+Total bits: 936
+Working on parse node parse_pkt_out (4) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (2) / 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)
+  packet_out_hdr.egress_port [8:0]
+  packet_out_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------
+|            Name            | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| packet_out_hdr.egress_port | 9  |   False   |  -  |  -   |  [8, 32]  |    2     |     2      |
+|  packet_out_hdr._padding   | 7  |    True   |  -  |  -   |    [32]   |    1     |     1      |
+-------------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 2
+MAU containers available:
+  8-bit: 47
+  16-bit: 79
+  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: 47
+  16-bit: 77
+  32-bit: 47
++-------------------------------------+
+|  packet_out_hdr.egress_port [8:0]   |
+|  packet_out_hdr._padding [6:0]      |
++-------------------------------------+
+
+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
+
+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
+  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 phv129[15:7] for packet_out_hdr.egress_port[8:0]
+***Allocating phv129[6:0] for packet_out_hdr._padding[6:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ipv4 (6) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+  ipv4.version [3:0]
+  ipv4.ihl [3:0]
+  ipv4.diffserv [7:0]
+  ipv4.totalLen [15:0]
+  ipv4.identification [15:0]
+  ipv4.flags [2:0]
+  ipv4.fragOffset [12:0]
+  ipv4.ttl [7:0]
+  ipv4.protocol [7:0]
+  ipv4.hdrChecksum [15:0]
+  ipv4.srcAddr [31:0]
+  ipv4.dstAddr [31:0]
+------------------------------------------------------------------------------------------
+|         Name        | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+------------------------------------------------------------------------------------------
+|     ipv4.version    | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
+|       ipv4.ihl      | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    ipv4.diffserv    | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    ipv4.totalLen    | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| ipv4.identification | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|      ipv4.flags     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
+|   ipv4.fragOffset   | 13 |    True   |  -  |  -   |     -     |    2     |     1      |
+|       ipv4.ttl      | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    ipv4.protocol    | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
+|   ipv4.hdrChecksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|     ipv4.srcAddr    | 32 |   False   |  -  |  -   |     -     |    4     |     1      |
+|     ipv4.dstAddr    | 32 |   False   |  -  |  -   |     -     |    4     |     1      |
+------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+  8-bit: 47
+  16-bit: 77
+  32-bit: 47
+Tagalong containers available:
+  8-bit: 32
+  16-bit: 48
+  32-bit: 32
+Initial packing options: 5196
+
+Packing option 0:  [8, 16, 16, 32, 32, 8, 16, 32]
+MAU containers after:
+  8-bit: 46
+  16-bit: 76
+  32-bit: 45
++------------------------------+
+|  ipv4.version [3:0]          |
+|  ipv4.ihl [3:0]              |
++------------------------------+
+|  ipv4.diffserv [7:0]         |
+|  ipv4.totalLen [15:8]        |
++------------------------------+
+|  ipv4.totalLen [7:0]         |
+|  ipv4.identification [15:8]  |
++------------------------------+
+|  ipv4.identification [7:0]   |
+|  ipv4.flags [2:0]            |
+|  ipv4.fragOffset [12:0]      |
+|  ipv4.ttl [7:0]              |
++------------------------------+
+|  ipv4.protocol [7:0]         |
+|  ipv4.hdrChecksum [15:0]     |
+|  ipv4.srcAddr [31:24]        |
++------------------------------+
+|  ipv4.srcAddr [23:16]        |
++------------------------------+
+|  ipv4.srcAddr [15:0]         |
++------------------------------+
+|  ipv4.dstAddr [31:0]         |
++------------------------------+
+
+Looking at ipv4.version (ingress) [3:0], with test_alloc = True
+----> ipv4.version (ingress) is allocated? False
+Looking at ipv4.ihl (ingress) [3:0], with test_alloc = True
+***Allocating phv288[7:4] for ipv4.version[3:0]
+***Allocating phv288[3:0] for ipv4.ihl[3:0]
+Looking at ipv4.diffserv (ingress) [7:0], with test_alloc = True
+----> ipv4.diffserv (ingress) is allocated? False
+Looking at ipv4.totalLen (ingress) [15:8], with test_alloc = True
+***Allocating phv320[15:8] for ipv4.diffserv[7:0]
+***Allocating phv320[7:0] for ipv4.totalLen[15:8]
+Looking at ipv4.totalLen (ingress) [7:0], with test_alloc = True
+----> ipv4.totalLen (ingress) is allocated? False
+Looking at ipv4.identification (ingress) [15:8], with test_alloc = True
+***Allocating phv321[15:8] for ipv4.totalLen[7:0]
+***Allocating phv321[7:0] for ipv4.identification[15:8]
+Looking at ipv4.identification (ingress) [7:0], with test_alloc = True
+----> ipv4.identification (ingress) is allocated? False
+Looking at ipv4.flags (ingress) [2:0], with test_alloc = True
+Looking at ipv4.fragOffset (ingress) [12:0], with test_alloc = True
+Looking at ipv4.ttl (ingress) [7:0], with test_alloc = True
+***Allocating phv256[31:24] for ipv4.identification[7:0]
+***Allocating phv256[23:21] for ipv4.flags[2:0]
+***Allocating phv256[20:8] for ipv4.fragOffset[12:0]
+***Allocating phv256[7:0] for ipv4.ttl[7:0]
+Looking at ipv4.protocol (ingress) [7:0], with test_alloc = True
+----> ipv4.protocol (ingress) is allocated? False
+Looking at ipv4.hdrChecksum (ingress) [15:0], with test_alloc = True
+Looking at ipv4.srcAddr (ingress) [31:24], with test_alloc = True
+
+MAU groups: 3
+  Group 0 32 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv1
+  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
+***Allocating phv1[31:24] for ipv4.protocol[7:0]
+***Allocating phv1[23:8] for ipv4.hdrChecksum[15:0]
+***Allocating phv1[7:0] for ipv4.srcAddr[31:24]
+Looking at ipv4.srcAddr (ingress) [23:16], with test_alloc = True
+----> 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 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]
+Looking at ipv4.srcAddr (ingress) [15:0], with test_alloc = True
+----> ipv4.srcAddr (ingress) is allocated? False
+
+MAU groups: 5
+  Group 8 16 bits -- avail 14 -- ingress avail 14 and remain 12 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 phv131
+  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 phv131[15:0] for ipv4.srcAddr[15:0]
+Looking at ipv4.dstAddr (ingress) [31:0], with test_alloc = True
+----> ipv4.dstAddr (ingress) is allocated? False
+
+MAU groups: 3
+  Group 0 32 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv2
+  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
+***Allocating phv2[31:0] for ipv4.dstAddr[31:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_tcp (7) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+  tcp.srcPort [15:0]
+  tcp.dstPort [15:0]
+  tcp.seqNo [31:0]
+  tcp.ackNo [31:0]
+  tcp.dataOffset [3:0]
+  tcp.res [2:0]
+  tcp.ecn [2:0]
+  tcp.ctrl [5:0]
+  tcp.window [15:0]
+  tcp.checksum [15:0]
+  tcp.urgentPtr [15:0]
+-------------------------------------------------------------------------------------
+|      Name      | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------
+|  tcp.srcPort   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|  tcp.dstPort   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|   tcp.seqNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
+|   tcp.ackNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
+| tcp.dataOffset | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    tcp.res     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    tcp.ecn     | 3  |    True   |  -  |  -   |     -     |    2     |     1      |
+|    tcp.ctrl    | 6  |    True   |  -  |  -   |     -     |    1     |     1      |
+|   tcp.window   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|  tcp.checksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| tcp.urgentPtr  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+-------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+  8-bit: 46
+  16-bit: 76
+  32-bit: 45
+Tagalong containers available:
+  8-bit: 31
+  16-bit: 46
+  32-bit: 31
+Initial packing options: 5196
+
+Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
+MAU containers after:
+  8-bit: 46
+  16-bit: 76
+  32-bit: 45
++-------------------------+
+|  tcp.srcPort [15:8]     |
++-------------------------+
+|  tcp.srcPort [7:0]      |
++-------------------------+
+|  tcp.dstPort [15:0]     |
++-------------------------+
+|  tcp.seqNo [31:16]      |
++-------------------------+
+|  tcp.seqNo [15:0]       |
++-------------------------+
+|  tcp.ackNo [31:0]       |
++-------------------------+
+|  tcp.dataOffset [3:0]   |
+|  tcp.res [2:0]          |
+|  tcp.ecn [2:0]          |
+|  tcp.ctrl [5:0]         |
+|  tcp.window [15:0]      |
++-------------------------+
+|  tcp.checksum [15:0]    |
+|  tcp.urgentPtr [15:0]   |
++-------------------------+
+
+Looking at tcp.srcPort (ingress) [15:8], with test_alloc = True
+----> tcp.srcPort (ingress) is allocated? False
+***Allocating phv289[7:0] for tcp.srcPort[15:8]
+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
+----> tcp.dstPort (ingress) is allocated? False
+***Allocating phv322[15:0] for tcp.dstPort[15: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]
+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
+----> tcp.ackNo (ingress) is allocated? False
+***Allocating phv257[31:0] for tcp.ackNo[31: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]
+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]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ipv4 (6) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+  ipv4.version [3:0]
+  ipv4.ihl [3:0]
+  ipv4.diffserv [7:0]
+  ipv4.totalLen [15:0]
+  ipv4.identification [15:0]
+  ipv4.flags [2:0]
+  ipv4.fragOffset [12:0]
+  ipv4.ttl [7:0]
+  ipv4.protocol [7:0]
+  ipv4.hdrChecksum [15:0]
+  ipv4.srcAddr [31:0]
+  ipv4.dstAddr [31:0]
+------------------------------------------------------------------------------------------
+|         Name        | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+------------------------------------------------------------------------------------------
+|     ipv4.version    | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
+|       ipv4.ihl      | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    ipv4.diffserv    | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    ipv4.totalLen    | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| ipv4.identification | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|      ipv4.flags     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
+|   ipv4.fragOffset   | 13 |    True   |  -  |  -   |     -     |    2     |     1      |
+|       ipv4.ttl      | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    ipv4.protocol    | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
+|   ipv4.hdrChecksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|     ipv4.srcAddr    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
+|     ipv4.dstAddr    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
+------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
+Tagalong containers available:
+  8-bit: 28
+  16-bit: 42
+  32-bit: 28
+Initial packing options: 5196
+
+Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
+MAU containers after:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
++------------------------------+
+|  ipv4.version [3:0]          |
+|  ipv4.ihl [3:0]              |
++------------------------------+
+|  ipv4.diffserv [7:0]         |
++------------------------------+
+|  ipv4.totalLen [15:0]        |
++------------------------------+
+|  ipv4.identification [15:0]  |
++------------------------------+
+|  ipv4.flags [2:0]            |
+|  ipv4.fragOffset [12:0]      |
++------------------------------+
+|  ipv4.ttl [7:0]              |
+|  ipv4.protocol [7:0]         |
+|  ipv4.hdrChecksum [15:0]     |
++------------------------------+
+|  ipv4.srcAddr [31:0]         |
++------------------------------+
+|  ipv4.dstAddr [31:0]         |
++------------------------------+
+
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_tcp (7) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+  tcp.srcPort [15:0]
+  tcp.dstPort [15:0]
+  tcp.seqNo [31:0]
+  tcp.ackNo [31:0]
+  tcp.dataOffset [3:0]
+  tcp.res [2:0]
+  tcp.ecn [2:0]
+  tcp.ctrl [5:0]
+  tcp.window [15:0]
+  tcp.checksum [15:0]
+  tcp.urgentPtr [15:0]
+-------------------------------------------------------------------------------------
+|      Name      | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------
+|  tcp.srcPort   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|  tcp.dstPort   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|   tcp.seqNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
+|   tcp.ackNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
+| tcp.dataOffset | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    tcp.res     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
+|    tcp.ecn     | 3  |    True   |  -  |  -   |     -     |    2     |     1      |
+|    tcp.ctrl    | 6  |    True   |  -  |  -   |     -     |    1     |     1      |
+|   tcp.window   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+|  tcp.checksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| tcp.urgentPtr  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+-------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
+Tagalong containers available:
+  8-bit: 26
+  16-bit: 39
+  32-bit: 25
+Initial packing options: 5196
+
+Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
+MAU containers after:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
++-------------------------+
+|  tcp.srcPort [15:8]     |
++-------------------------+
+|  tcp.srcPort [7:0]      |
++-------------------------+
+|  tcp.dstPort [15:0]     |
++-------------------------+
+|  tcp.seqNo [31:16]      |
++-------------------------+
+|  tcp.seqNo [15:0]       |
++-------------------------+
+|  tcp.ackNo [31:0]       |
++-------------------------+
+|  tcp.dataOffset [3:0]   |
+|  tcp.res [2:0]          |
+|  tcp.ecn [2:0]          |
+|  tcp.ctrl [5:0]         |
+|  tcp.window [15:0]      |
++-------------------------+
+|  tcp.checksum [15:0]    |
+|  tcp.urgentPtr [15:0]   |
++-------------------------+
+
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+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]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ethernet (5) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 112
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 112
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 112
+Parse state 0 (112 bits)
+  ethernet.dstAddr [47:0]
+  ethernet.srcAddr [47:0]
+  ethernet.etherType [15:0]
+-----------------------------------------------------------------------------------------
+|        Name        | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------------
+|  ethernet.dstAddr  | 48 |   False   |  -  |  -   |     -     |    6     |     1      |
+|  ethernet.srcAddr  | 48 |   False   |  -  |  -   |     -     |    6     |     1      |
+| ethernet.etherType | 16 |   False   |  -  |  -   |     -     |    2     |     1      |
+-----------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 604
+MAU containers available:
+  8-bit: 46
+  16-bit: 76
+  32-bit: 45
+Tagalong containers available:
+  8-bit: 21
+  16-bit: 31
+  32-bit: 20
+Initial packing options: 604
+
+Packing option 0:  [8, 32, 16, 8, 32, 16]
+MAU containers after:
+  8-bit: 44
+  16-bit: 74
+  32-bit: 43
++-----------------------------+
+|  ethernet.dstAddr [47:40]   |
++-----------------------------+
+|  ethernet.dstAddr [39:8]    |
++-----------------------------+
+|  ethernet.dstAddr [7:0]     |
+|  ethernet.srcAddr [47:40]   |
++-----------------------------+
+|  ethernet.srcAddr [39:32]   |
++-----------------------------+
+|  ethernet.srcAddr [31:0]    |
++-----------------------------+
+|  ethernet.etherType [15:0]  |
++-----------------------------+
+
+Looking at ethernet.dstAddr (ingress) [47:40], with test_alloc = True
+----> 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 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]
+Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
+----> ethernet.dstAddr (ingress) is allocated? False
+
+MAU groups: 3
+  Group 0 32 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv3
+  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
+***Allocating phv3[31:0] for ethernet.dstAddr[39:8]
+Looking at ethernet.dstAddr (ingress) [7:0], with test_alloc = True
+----> ethernet.dstAddr (ingress) is allocated? False
+Looking at ethernet.srcAddr (ingress) [47:40], with test_alloc = True
+
+MAU groups: 5
+  Group 8 16 bits -- avail 13 -- ingress avail 13 and remain 11 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 phv132
+  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 phv132[15:8] for ethernet.dstAddr[7:0]
+***Allocating phv132[7:0] for ethernet.srcAddr[47:40]
+Looking at ethernet.srcAddr (ingress) [39:32], with test_alloc = True
+----> 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 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]
+Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
+----> ethernet.srcAddr (ingress) is allocated? False
+
+MAU groups: 3
+  Group 0 32 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 12 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv4
+  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
+***Allocating phv4[31:0] for ethernet.srcAddr[31:0]
+Looking at ethernet.etherType (ingress) [15:0], with test_alloc = True
+----> ethernet.etherType (ingress) is allocated? False
+
+MAU groups: 5
+  Group 8 16 bits -- avail 12 -- ingress avail 12 and remain 10 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 phv133
+  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 phv133[15:0] for ethernet.etherType[15:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ethernet (5) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 112
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 112
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 112
+Parse state 0 (112 bits)
+  ethernet.dstAddr [47:0]
+  ethernet.srcAddr [47:0]
+  ethernet.etherType [15:0]
+-----------------------------------------------------------------------------------------
+|        Name        | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------------
+|  ethernet.dstAddr  | 48 |    True   |  -  |  -   |     -     |    6     |     1      |
+|  ethernet.srcAddr  | 48 |    True   |  -  |  -   |     -     |    6     |     1      |
+| ethernet.etherType | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+-----------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 604
+MAU containers available:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
+Tagalong containers available:
+  8-bit: 24
+  16-bit: 36
+  32-bit: 22
+Initial packing options: 604
+
+Packing option 0:  [8, 32, 16, 8, 32, 16]
+MAU containers after:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
++-----------------------------+
+|  ethernet.dstAddr [47:40]   |
++-----------------------------+
+|  ethernet.dstAddr [39:8]    |
++-----------------------------+
+|  ethernet.dstAddr [7:0]     |
+|  ethernet.srcAddr [47:40]   |
++-----------------------------+
+|  ethernet.srcAddr [39:32]   |
++-----------------------------+
+|  ethernet.srcAddr [31:0]    |
++-----------------------------+
+|  ethernet.etherType [15:0]  |
++-----------------------------+
+
+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]
+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]
+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]
+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]
+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]
+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]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node egress_intrinsic_metadata (9) (egress)
+
+-------------------------------------------
+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)
+  eg_intr_md._pad0 [6:0]
+  eg_intr_md.egress_port [8:0]
+  eg_intr_md._pad7 [4:0]
+  eg_intr_md.egress_cos [2:0]
+---------------------------------------------------------------------------------------------
+|          Name          | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+---------------------------------------------------------------------------------------------
+|    eg_intr_md._pad0    | 7  |   False   |  -  |  -   |     -     |    1     |     1      |
+| eg_intr_md.egress_port | 9  |   False   |  -  |  -   |    [8]    |    1     |     1      |
+|    eg_intr_md._pad7    | 5  |   False   |  -  |  -   |     -     |    1     |     1      |
+| eg_intr_md.egress_cos  | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
+---------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 3
+MAU containers available:
+  8-bit: 47
+  16-bit: 78
+  32-bit: 48
+Tagalong containers available:
+  8-bit: 22
+  16-bit: 34
+  32-bit: 20
+Initial packing options: 3
+
+Packing option 1:  [16, 8]
+MAU containers after:
+  8-bit: 46
+  16-bit: 77
+  32-bit: 48
++---------------------------------+
+|  eg_intr_md._pad0 [6:0]         |
+|  eg_intr_md.egress_port [8:0]   |
++---------------------------------+
+|  eg_intr_md._pad7 [4:0]         |
+|  eg_intr_md.egress_cos [2:0]    |
++---------------------------------+
+
+Looking at eg_intr_md._pad0 (egress) [6:0], with test_alloc = True
+----> eg_intr_md._pad0 (egress) is allocated? False
+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 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]
+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 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]
+Packing options tried: 2
+Packing options skipped: 0
+Failure Reasons:
+  Field in disallowed list (case 3) -- tried 1 variants
+    field: eg_intr_md.egress_port
+    with constraints: [
+      ParsedAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- lsb bit: 0
+      MaxFieldSplit Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- max split: 1
+      RightAdjacentAlignment Constraint: (left) eg_intr_md._pad7 <5 bits egress parsed imeta>  -- (right) eg_intr_md.egress_cos <3 bits egress parsed imeta>
+      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)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+  packet_out_hdr.egress_port [8:0]
+  packet_out_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------
+|            Name            | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| packet_out_hdr.egress_port | 9  |    True   |  -  |  -   |    [32]   |    2     |     1      |
+|  packet_out_hdr._padding   | 7  |    True   |  -  |  -   |    [32]   |    1     |     1      |
+-------------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 2
+MAU containers available:
+  8-bit: 46
+  16-bit: 77
+  32-bit: 48
+Tagalong containers available:
+  8-bit: 22
+  16-bit: 34
+  32-bit: 20
+Initial packing options: 2
+
+Packing option 0:  [16]
+MAU containers after:
+  8-bit: 46
+  16-bit: 77
+  32-bit: 48
++-------------------------------------+
+|  packet_out_hdr.egress_port [8:0]   |
+|  packet_out_hdr._padding [6:0]      |
++-------------------------------------+
+
+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]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node start (1) ()
+Working on parse node default_parser (3) ()
+Working on parse node --ingress-- (0) ()
+Working on parse node start (1) ()
+Working on parse node default_parser (3) ()
+Working on parse node egress_for_mirror_buffer (10) ()
+Working on parse node --egress-- (0) ()
+
+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      |
+------------------------------------------------------------------------------
+
+>>Event 'pa_overlay' at time 1504795741.17
+   Took 9.08 seconds
+
+-----------------------------------------------
+  Allocating remaining parsed fields
+-----------------------------------------------
+Allocation Step
+
+All Sorted parse nodes (non-critical):
+  parse_pkt_in (egress) 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
+Total packet bits: 160
+Total meta bits: 0
+Total bits: 160
+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: egress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+  packet_in_hdr.ingress_port [8:0]
+  packet_in_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------------
+|            Name            | BW | Tagalong? |    Req    | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------------
+| packet_in_hdr.ingress_port | 9  |   False   | [(16, 9)] |  -   |    [32]   |    2     |     2      |
+|   packet_in_hdr._padding   | 7  |    True   |     -     |  -   |    [32]   |    1     |     1      |
+-------------------------------------------------------------------------------------------------------
+
+MAU containers available:
+  8-bit: 46
+  16-bit: 77
+  32-bit: 48
+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
+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]
+Working on parse node parse_udp (8) (ingress)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 64
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 64
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 64
+Parse state 0 (64 bits)
+  udp.srcPort [15:0]
+  udp.dstPort [15:0]
+  udp.length_ [15:0]
+  udp.checksum [15:0]
+-----------------------------------------------------------------------------------
+|     Name     | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------
+| udp.srcPort  | 16 |   False   |  -  |  -   |     -     |    2     |     1      |
+| udp.dstPort  | 16 |   False   |  -  |  -   |     -     |    2     |     1      |
+| udp.length_  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| udp.checksum | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+-----------------------------------------------------------------------------------
+
+MAU containers available:
+  8-bit: 44
+  16-bit: 74
+  32-bit: 43
+Packing options: 47
+Initial packing options: 47
+
+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 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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+>>Can pack using [8, 8, 16, 32] if open up 3 new containers.
+
+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 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 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 0 32 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 phv5
+  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
+>>Can pack using [8, 8, 32, 16] if open up 3 new containers.
+
+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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+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 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.
+
+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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [8, 16, 32, 8] if open up 3 new containers.
+
+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 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 0 32 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 phv5
+  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
+>>Can pack using [8, 32, 8, 16] if open up 2 new containers.
+
+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 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 0 32 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 phv5
+  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
+>>Can pack using [8, 32, 16, 8] if open up 2 new containers.
+
+Packing option 6:  [16, 8, 8, 32]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+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 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 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.
+
+Packing option 7:  [16, 8, 32, 8]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+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 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 0 32 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 phv5
+  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
+>>Can pack using [16, 8, 32, 8] if open up 3 new containers.
+
+Packing option 8:  [16, 32, 8, 8]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [16, 32, 8, 8] if open up 2 new containers.
+
+Packing option 9:  [32, 8, 8, 16]
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [32, 8, 8, 16] if open up 1 new containers.
+
+Packing option 10:  [32, 8, 16, 8]
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [32, 8, 16, 8] if open up 1 new containers.
+
+Packing option 11:  [32, 16, 8, 8]
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [32, 16, 8, 8] if open up 1 new containers.
+
+Packing option 12:  [16, 16, 32]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+MAU groups: 5
+  Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 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 phv135
+  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
+>>Can pack using [16, 16, 32] if open up 2 new containers.
+
+Packing option 13:  [16, 32, 16]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [16, 32, 16] if open up 2 new containers.
+
+Packing option 14:  [32, 16, 16]
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+>>Can pack using [32, 16, 16] if open up 1 new containers.
+
+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 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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+>>Can pack using [8, 8, 16, 16, 16] if open up 3 new containers.
+
+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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+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 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.
+
+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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+MAU groups: 5
+  Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 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 phv135
+  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
+>>Can pack using [8, 16, 16, 8, 16] if open up 3 new containers.
+
+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 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: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+MAU groups: 5
+  Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 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 phv135
+  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
+>>Can pack using [8, 16, 16, 16, 8] if open up 3 new containers.
+
+Packing option 19:  [16, 8, 8, 16, 16]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+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 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 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.
+
+Packing option 20:  [16, 8, 16, 8, 16]
+
+MAU groups: 5
+  Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 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 phv134
+  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
+
+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 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: 5
+  Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 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 phv135
+  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
+>>Can pack using [16, 8, 16, 8, 16] if open up 3 new containers.
+Terminate search for time purposes...
+Packing options tried: 21
+Packing options skipped: 0
+Trying to place using best packing [32, 8, 8, 16]
+
+MAU groups: 3
+  Group 0 32 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 phv5
+  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
+***Allocating phv5[31:16] for udp.srcPort[15:0]
+***Allocating phv5[15:0] for udp.dstPort[15:0]
+***Allocating phv289[7:0] for udp.length_[15:8]
+***Allocating phv290[7:0] for udp.length_[7:0]
+***Allocating phv322[15:0] for udp.checksum[15:0]
+Working on parse node parse_udp (8) (egress)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 64
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 64
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 64
+Parse state 0 (64 bits)
+  udp.srcPort [15:0]
+  udp.dstPort [15:0]
+  udp.length_ [15:0]
+  udp.checksum [15:0]
+-----------------------------------------------------------------------------------
+|     Name     | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------
+| udp.srcPort  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| udp.dstPort  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| udp.length_  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+| udp.checksum | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
+-----------------------------------------------------------------------------------
+
+MAU containers available:
+  8-bit: 46
+  16-bit: 77
+  32-bit: 48
+Packing options: 47
+Initial packing options: 47
+
+Packing option 0:  [8, 8, 16, 32]
+>>Can pack using [8, 8, 16, 32] if open up 0 new containers.
+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)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (2) / 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)
+  packet_in_hdr.ingress_port [8:0]
+  packet_in_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------
+|            Name            | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| packet_in_hdr.ingress_port | 9  |    True   |  -  |  -   |    [32]   |    2     |     1      |
+|   packet_in_hdr._padding   | 7  |    True   |  -  |  -   |    [32]   |    1     |     1      |
+-------------------------------------------------------------------------------------------------
+
+MAU containers available:
+  8-bit: 44
+  16-bit: 74
+  32-bit: 42
+Packing options: 2
+Initial packing options: 2
+
+Packing option 0:  [16]
+>>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 phv129[15:7] for packet_in_hdr.ingress_port[8:0]
+***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
+
+After allocating remaining parse nodes:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |    (% used)   |                |
+------------------------------------------------------------------------------
+|         0 (32)         |    6 (37.50%)   |  192 (37.50%) |      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    |    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       |
+|         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)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|    Total for 16 bit    |    8 (8.33%)    |  128 (8.33%)  |      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        |    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      |
+------------------------------------------------------------------------------
+
+
+
+Difference in allocation between critical parse path and overlaying headers:
+Allocation state: Diff
+---------------------------------------------------------------------------
+|       PHV Group        | Containers Used | Bits Used  | Bits Available |
+| (container bit widths) |     (% used)    |  (% used)  |                |
+---------------------------------------------------------------------------
+|         0 (32)         |    1 (6.25%)    | 32 (6.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    |    1 (1.56%)    | 32 (1.56%) |      2048      |
+|                        |                 |            |                |
+|         4 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|         5 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|         6 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|         7 (8)          |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|                        |                 |            |                |
+|         8 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|         9 (16)         |    1 (6.25%)    | 16 (6.25%) |      256       |
+|        10 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|        11 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|        12 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|        13 (16)         |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|    Total for 16 bit    |    1 (1.04%)    | 16 (1.04%) |      1536      |
+|                        |                 |            |                |
+|       14 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|       15 (32) T        |    0 (0.00%)    | 0 (0.00%)  |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%)  |      1024      |
+|                        |                 |            |                |
+|        16 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|        17 (8) T        |    0 (0.00%)    | 0 (0.00%)  |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|                        |                 |            |                |
+|       18 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|       19 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|       20 (16) T        |    0 (0.00%)    | 0 (0.00%)  |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%)  |      768       |
+|                        |                 |            |                |
+|       MAU total        |    2 (0.89%)    | 48 (1.17%) |      4096      |
+|     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
+|     Overall total      |    2 (0.60%)    | 48 (0.78%) |      6144      |
+---------------------------------------------------------------------------
+
+>>Event 'pa_meta1' at time 1504795745.06
+   Took 3.89 seconds
+
+-----------------------------------------------
+  Allocating metadata (pass 1)
+-----------------------------------------------
+Allocation Step
+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)
+
+--------------
+Working on:
+ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
+bits_will_need_to_parse = 9
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+extracted_bits = 9 while meta_fi.bit_width = 9
+Parse state 0 (9 bits)
+  ig_intr_md_for_tm.ucast_egress_port [8:0]
+----------------------------------------------------------------------------------------------------------------
+|                 Name                | BW | Tagalong? |    Req    | Pref | Not Allow | MaxSplit | Group Size |
+----------------------------------------------------------------------------------------------------------------
+| ig_intr_md_for_tm.ucast_egress_port | 9  |   False   | [(16, 9)] |  -   |  [8, 32]  |    1     |     2      |
+----------------------------------------------------------------------------------------------------------------
+
+max_split = 1, adj = False
+required_packing = [(16, 9)]
+Packing options: 1
+Valid packing options: 1
+
+Attempting to overlay...
+  [16]
+  case 2: looking at allowed start bits [0]
+    final start_bit = 0
+  (1) msb_offset = 9
+>> HEY!:  Adjusted msb_offset!
+>>Can pack using [16] if open up 1 new containers.
+
+Attempting to share...
+
+  [16]
+  (2a) msb_offset = 16
+>>Can pack using [16] if open up 1 new containers.
+
+>>Choose overlay option
+  case 2: looking at allowed start bits [0]
+    final start_bit = 0
+  (1) msb_offset = 9
+>> HEY!:  Adjusted msb_offset!
+***Allocating phv130[8:0] for ig_intr_md_for_tm.ucast_egress_port[8:0]
+Allocation state after promised meta allocated:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |    (% used)   |                |
+------------------------------------------------------------------------------
+|         0 (32)         |    6 (37.50%)   |  192 (37.50%) |      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    |    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       |
+|         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)         |    6 (37.50%)   |  89 (34.77%)  |      256       |
+|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|    Total for 16 bit    |    9 (9.38%)    |  137 (8.92%)  |      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        |    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      |
+------------------------------------------------------------------------------
+
+Allocation state difference after promised meta allocated:
+Allocation state: Diff
+--------------------------------------------------------------------------
+|       PHV Group        | Containers Used | Bits Used | Bits Available |
+| (container bit widths) |     (% used)    |  (% used) |                |
+--------------------------------------------------------------------------
+|         0 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         1 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         2 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         3 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      2048      |
+|                        |                 |           |                |
+|         4 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         5 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         6 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         7 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      512       |
+|                        |                 |           |                |
+|         8 (16)         |    1 (6.25%)    | 9 (3.52%) |      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%)    | 9 (0.59%) |      1536      |
+|                        |                 |           |                |
+|       14 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
+|       15 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      1024      |
+|                        |                 |           |                |
+|        16 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
+|        17 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      256       |
+|                        |                 |           |                |
+|       18 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|       19 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|       20 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      768       |
+|                        |                 |           |                |
+|       MAU total        |    1 (0.45%)    | 9 (0.22%) |      4096      |
+|     Tagalong total     |    0 (0.00%)    | 0 (0.00%) |      2048      |
+|     Overall total      |    1 (0.30%)    | 9 (0.15%) |      6144      |
+--------------------------------------------------------------------------
+
+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
+
+-----------------------------------------------
+  Allocating POV
+-----------------------------------------------
+Allocation Step
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |    (% used)   |                |
+------------------------------------------------------------------------------
+|         0 (32)         |    6 (37.50%)   |  192 (37.50%) |      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    |    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       |
+|         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)         |    6 (37.50%)   |  89 (34.77%)  |      256       |
+|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|    Total for 16 bit    |    9 (9.38%)    |  137 (8.92%)  |      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        |    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      |
+------------------------------------------------------------------------------
+
+Sorted POV field instances to allocate (with best pack): 13
+    0: --validity_check--packet_in_hdr (ingress)  -- max pov share 6 / best pack 5
+    1: --validity_check--packet_out_hdr (ingress)  -- max pov share 6 / best pack 5
+    2: --validity_check--ethernet (ingress)  -- max pov share 6 / best pack 5
+    3: --validity_check--ipv4 (ingress)  -- max pov share 6 / best pack 5
+    4: --validity_check--tcp (ingress)  -- max pov share 6 / best pack 5
+    5: --validity_check--udp (ingress)  -- max pov share 6 / best pack 5
+    6: --validity_check--metadata_bridge (ingress)  -- max pov share 6 / best pack 5
+    7: --validity_check--packet_in_hdr (egress)  -- max pov share 5 / best pack 4
+    8: --validity_check--packet_out_hdr (egress)  -- max pov share 5 / best pack 4
+    9: --validity_check--ethernet (egress)  -- max pov share 5 / best pack 4
+   10: --validity_check--ipv4 (egress)  -- max pov share 5 / best pack 4
+   11: --validity_check--tcp (egress)  -- max pov share 5 / best pack 4
+   12: --validity_check--udp (egress)  -- max pov share 5 / best pack 4
+
+Working on
+--validity_check--packet_in_hdr <1 bits ingress parsed pov>
+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
+
+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).
+  >> 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]
+
+Working on
+--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
+  Already allocated.
+
+Working on
+--validity_check--ethernet <1 bits ingress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--ipv4 <1 bits ingress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--tcp <1 bits ingress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--udp <1 bits ingress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--metadata_bridge <1 bits ingress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--packet_in_hdr <1 bits egress parsed pov W>
+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
+
+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).
+  >> 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]
+
+Working on
+--validity_check--packet_out_hdr <1 bits egress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--ethernet <1 bits egress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--ipv4 <1 bits egress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--tcp <1 bits egress parsed pov>
+  Already allocated.
+
+Working on
+--validity_check--udp <1 bits egress parsed pov>
+  Already allocated.
+
+Sum of container bit widths POVs found in: 16
+ ingress
+    phv68 (8 bits)
+  >> 8 total bits
+ egress
+    phv82 (8 bits)
+  >> 8 total bits
+>>Event 'pa_meta2' at time 1504795745.23
+   Took 0.12 seconds
+
+-----------------------------------------------
+  Allocating metadata (pass 2)
+-----------------------------------------------
+Allocation Step
+Total metadata field instances to allocate: 3  / 35 bits (35 ingress bits and 0 egress bits)
+Promised metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
+Allocation state after promised meta allocated:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+|       PHV Group        | Containers Used |   Bits Used   | Bits Available |
+| (container bit widths) |     (% used)    |    (% used)   |                |
+------------------------------------------------------------------------------
+|         0 (32)         |    6 (37.50%)   |  192 (37.50%) |      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    |    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       |
+|         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       |
+|                        |                 |               |                |
+|         8 (16)         |    6 (37.50%)   |  89 (34.77%)  |      256       |
+|         9 (16)         |    3 (18.75%)   |  48 (18.75%)  |      256       |
+|        10 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        11 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        12 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|        13 (16)         |    0 (0.00%)    |   0 (0.00%)   |      256       |
+|    Total for 16 bit    |    9 (9.38%)    |  137 (8.92%)  |      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        |   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      |
+------------------------------------------------------------------------------
+
+Allocation state difference after promised meta allocated:
+Allocation state: Diff
+--------------------------------------------------------------------------
+|       PHV Group        | Containers Used | Bits Used | Bits Available |
+| (container bit widths) |     (% used)    |  (% used) |                |
+--------------------------------------------------------------------------
+|         0 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         1 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         2 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|         3 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      2048      |
+|                        |                 |           |                |
+|         4 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         5 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         6 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|         7 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      512       |
+|                        |                 |           |                |
+|         8 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|         9 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        10 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        11 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        12 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|        13 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      1536      |
+|                        |                 |           |                |
+|       14 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
+|       15 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
+|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      1024      |
+|                        |                 |           |                |
+|        16 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
+|        17 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
+|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      256       |
+|                        |                 |           |                |
+|       18 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|       19 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|       20 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
+|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      768       |
+|                        |                 |           |                |
+|       MAU total        |    0 (0.00%)    | 0 (0.00%) |      4096      |
+|     Tagalong total     |    0 (0.00%)    | 0 (0.00%) |      2048      |
+|     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
+--------------------------------------------------------------------------
+
+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)
+
+---------------------------------------
+Working on:
+ecmp_metadata.groupId <16 bits ingress meta R W>
+max_split = None, adj = None
+Of remaining metadata fields to allocate
+   max_overlay = 0 (0 bits)
+   max_share = 1 (3 bits)
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+  ecmp_metadata.groupId [15:0]
+--------------------------------------------------------------------------------------------
+|          Name         | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+--------------------------------------------------------------------------------------------
+| ecmp_metadata.groupId | 16 |   False   |  -  |  -   |     -     |   None   |     1      |
+--------------------------------------------------------------------------------------------
+
+  req packing: [None]
+  disallowed packing: [None]
+  Group 0 32 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 phv6 -- fails False
+  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 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 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
+  Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
+Metadata instance: ecmp_metadata.groupId <16 bits ingress meta R W>
+>>req_alignment = None
+>>allowed_container_start_bits = None
+>>req_container = None
+***Allocating phv134[15:0] for ecmp_metadata.groupId[15:0]
+
+---------------------------------------
+Working on:
+ecmp_metadata.selector <16 bits ingress meta R W>
+max_split = None, adj = None
+Of remaining metadata fields to allocate
+   max_overlay = 0 (0 bits)
+   max_share = 1 (3 bits)
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+  ecmp_metadata.selector [15:0]
+---------------------------------------------------------------------------------------------
+|          Name          | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+---------------------------------------------------------------------------------------------
+| ecmp_metadata.selector | 16 |   False   |  -  |  -   |     -     |   None   |     1      |
+---------------------------------------------------------------------------------------------
+
+  req packing: [None]
+  disallowed packing: [None]
+  Group 0 32 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 phv6 -- fails False
+  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 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 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
+  Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
+Metadata instance: ecmp_metadata.selector <16 bits ingress meta R W>
+>>req_alignment = None
+>>allowed_container_start_bits = None
+>>req_container = None
+***Allocating phv135[15:0] for ecmp_metadata.selector[15:0]
+
+---------------------------------------
+Working on:
+ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
+max_split = 1, adj = False
+Of remaining metadata fields to allocate
+   max_overlay = 0 (0 bits)
+   max_share = 0 (0 bits)
+bits_will_need_to_parse = 3
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 8
+Parse state 0 (3 bits)
+  ig_intr_md_for_tm.drop_ctl [2:0]
+-------------------------------------------------------------------------------------------------
+|            Name            | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| ig_intr_md_for_tm.drop_ctl | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
+-------------------------------------------------------------------------------------------------
+
+  req packing: [None]
+  disallowed packing: [None]
+  Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv6 -- fails False
+  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 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 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
+  Group 13 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 phv208 -- fails False
+Metadata instance: ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
+>>req_alignment = None
+>>allowed_container_start_bits = [0, 1, 2, 3, 4, 5, 6, 7]
+>>req_container = None
+  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
+   Took 0.16 seconds
+
+-----------------------------------------------
+  Adding metadata initialization
+-----------------------------------------------
+
++------------------------+
+
+Performing inject metadata initialization instructions: (0)
+tbl_name_to_common_edge_groups: 0
+all_edge: 0
+
+Performing replace metadata initialization instructions: (0)
+
+Performing remove metadata initialization instructions: (0)
+
+Performing clear metadata initialization instructions: (0)
+
+Performing invalidate metadata initialization instructions: (0)
+
+ Total overlay containers examined for initialization: 0
+
+-----------------------------------------------
+  Checking constraints satisfied
+-----------------------------------------------
+  No constraints violated.