+---------------------------------------------------------------------+
|  Log file: pa.log                                                   |
|  Compiler version: 5.1.0 (fca32d1)                                  |
|  Created on: Wed Sep 13 12:56:12 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.copy_to_cpu in ingress
Removing ig_intr_md_for_tm.packet_color in ingress
Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
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 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: 48
   Max value: 13

    1 : xxxxxxxxx (9)
    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 : xxxxxxxxxxxxx (13)
   32 : xxxx (4)
   48 : xx (2)

--------------------------------------------
  egress field instance bit width histogram
--------------------------------------------
   Total fields: 44
   Max value: 13

    1 : xxxxxx (6)
    3 : xxxx (4)
    4 : xxx (3)
    5 : x (1)
    6 : x (1)
    7 : xxx (3)
    8 : xxx (3)
    9 : xxx (3)
   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.copy_to_cpu in ingress
Removing ig_intr_md_for_tm.packet_color in ingress
Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
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 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: 48
   Max value: 13

    1 : xxxxxxxxx (9)
    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 : xxxxxxxxxxxxx (13)
   32 : xxxx (4)
   48 : xx (2)

--------------------------------------------
  egress field instance bit width histogram
--------------------------------------------
   Total fields: 44
   Max value: 13

    1 : xxxxxx (6)
    3 : xxxx (4)
    4 : xxx (3)
    5 : x (1)
    6 : x (1)
    7 : xxx (3)
    8 : xxx (3)
    9 : xxx (3)
   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     |           |              |               |
|   --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     |           |              |               |
|            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     |           |              |               |
|       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     |           |              |       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     |           |              |               |
|           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.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     |           |              |               |
|              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     |           |              |               |
|            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     |           |              |       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     |           |              |               |
|             udp.length_             |     16    |  ingress  |    x    |     x     |           |              |               |
|             udp.srcPort             |     16    |  ingress  |    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 1505307374.46
   Took 0.01 seconds
--------------------------------------------
PHV MAU Groups: 90
--------------------------------------------
Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
  ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
  packet_in_hdr.ingress_port <9 bits ingress parsed W>

Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
  ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
  packet_out_hdr.egress_port <9 bits ingress parsed R>

Phv Mau Group (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 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.
  --validity_check--packet_in_hdr <1 bits ingress parsed pov W>

Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
  packet_in_hdr._padding <7 bits ingress parsed tagalong>

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 tagalong>

Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
  ipv4.dstAddr <32 bits ingress parsed tagalong>

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 tagalong>

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 tagalong>

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 1.
  --validity_check--metadata_bridge <1 bits ingress parsed pov>

Phv Mau Group (egress) -- 1 instance for total bit width of 9.
  packet_in_hdr.ingress_port <9 bits egress parsed tagalong>

Phv Mau Group (egress) -- 1 instance for total bit width of 1.
  --validity_check--packet_in_hdr <1 bits egress parsed pov>

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 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 1505307374.46
   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 1505307374.50
   Took 0.04 seconds

-----------------------------------------------
  Allocating fields related to bridged metadata
-----------------------------------------------
Allocation Step
  No bridged metadata field instances required

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)          |    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        |    1 (0.45%)    | 32 (0.78%) |      4096      |
|     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
|     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
---------------------------------------------------------------------------

>>Event 'pa_phase0' at time 1505307374.51
   Took 0.00 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)          |    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        |    1 (0.45%)    | 32 (0.78%) |      4096      |
|     Tagalong total     |    0 (0.00%)    | 0 (0.00%)  |      2048      |
|     Overall total      |    1 (0.30%)    | 32 (0.52%) |      6144      |
---------------------------------------------------------------------------

>>Event 'pa_critical' at time 1505307374.51
   Took 0.00 seconds

-----------------------------------------------
  Allocating headers on longest parse paths
-----------------------------------------------
Allocation Step

All Sorted parse nodes:
  ingress_intrinsic_metadata (ingress) with bits = 16 and max = 2
  parse_pkt_out (ingress) with bits = 16 and max = 2
  parse_ipv4 (ingress) with bits = 160 and max = 1
  parse_tcp (ingress) with bits = 160 and max = 1
  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
  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 ingress_intrinsic_metadata (9) (ingress)

-------------------------------------------
Allocating parsed header: pkt fields (5) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
  ig_intr_md.resubmit_flag [0:0]
  ig_intr_md._pad1 [0:0]
  ig_intr_md._pad2 [1:0]
  ig_intr_md._pad3 [2:0]
  ig_intr_md.ingress_port [8:0]
-----------------------------------------------------------------------------------------------
|           Name           | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------------
| ig_intr_md.resubmit_flag | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
|     ig_intr_md._pad1     | 1  |   False   |  -  |  -   |     -     |    1     |     1      |
|     ig_intr_md._pad2     | 2  |   False   |  -  |  -   |     -     |    1     |     1      |
|     ig_intr_md._pad3     | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
| ig_intr_md.ingress_port  | 9  |   False   |  -  |  -   |    [32]   |    2     |     2      |
-----------------------------------------------------------------------------------------------

min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 2
MAU containers available:
  8-bit: 48
  16-bit: 80
  32-bit: 47
Tagalong containers available:
  8-bit: 32
  16-bit: 48
  32-bit: 32
Initial packing options: 2

Packing option 0:  [16]
MAU containers after:
  8-bit: 48
  16-bit: 78
  32-bit: 47
+-----------------------------------+
|  ig_intr_md.resubmit_flag [0:0]   |
|  ig_intr_md._pad1 [0:0]           |
|  ig_intr_md._pad2 [1:0]           |
|  ig_intr_md._pad3 [2:0]           |
|  ig_intr_md.ingress_port [8:0]    |
+-----------------------------------+

Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
----> ig_intr_md.resubmit_flag (ingress) is allocated? False
Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
Checking if can overlay metadata field.
No required PHV group.
Could not find container to overlay in.

MAU groups: 5
  Group 8 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv128
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv128[15:15] for ig_intr_md.resubmit_flag[0:0]
***Allocating phv128[14:14] for ig_intr_md._pad1[0:0]
***Allocating phv128[13:12] for ig_intr_md._pad2[1:0]
***Allocating phv128[11:9] for ig_intr_md._pad3[2:0]
***Allocating phv128[8:0] for ig_intr_md.ingress_port[8:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node parse_pkt_out (4) (ingress)

-------------------------------------------
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: 48
  16-bit: 78
  32-bit: 47
Tagalong containers available:
  8-bit: 32
  16-bit: 48
  32-bit: 32
Initial packing options: 2

Packing option 0:  [16]
MAU containers after:
  8-bit: 48
  16-bit: 76
  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 |    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: 48
  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, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
  8-bit: 48
  16-bit: 77
  32-bit: 47
+------------------------------+
|  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 (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
***Allocating phv289[7:0] for ipv4.diffserv[7:0]
Looking at ipv4.totalLen (ingress) [15:0], with test_alloc = True
----> ipv4.totalLen (ingress) is allocated? False
***Allocating phv320[15:0] for ipv4.totalLen[15:0]
Looking at ipv4.identification (ingress) [15:0], with test_alloc = True
----> ipv4.identification (ingress) is allocated? False
***Allocating phv321[15:0] for ipv4.identification[15:0]
Looking at ipv4.flags (ingress) [2:0], with test_alloc = True
----> ipv4.flags (ingress) is allocated? False
Looking at ipv4.fragOffset (ingress) [12:0], with test_alloc = True
***Allocating phv322[15:13] for ipv4.flags[2:0]
***Allocating phv322[12:0] for ipv4.fragOffset[12:0]
Looking at ipv4.ttl (ingress) [7:0], with test_alloc = True
----> ipv4.ttl (ingress) is allocated? False
Looking at ipv4.protocol (ingress) [7:0], with test_alloc = True
Looking at ipv4.hdrChecksum (ingress) [15:0], with test_alloc = True
***Allocating phv256[31:24] for ipv4.ttl[7:0]
***Allocating phv256[23:16] for ipv4.protocol[7:0]
***Allocating phv256[15:0] for ipv4.hdrChecksum[15:0]
Looking at ipv4.srcAddr (ingress) [31:0], with test_alloc = True
----> ipv4.srcAddr (ingress) is allocated? False
***Allocating phv257[31:0] for ipv4.srcAddr[31:0]
Looking at ipv4.dstAddr (ingress) [31:0], with test_alloc = True
----> ipv4.dstAddr (ingress) is allocated? False
***Allocating phv258[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: 48
  16-bit: 77
  32-bit: 47
Tagalong containers available:
  8-bit: 30
  16-bit: 45
  32-bit: 29
Initial packing options: 5196

Packing option 0:  [8, 8, 8, 8, 16, 16, 16, 16, 32, 32]
MAU containers after:
  8-bit: 48
  16-bit: 77
  32-bit: 47
+-------------------------+
|  tcp.srcPort [15:8]     |
+-------------------------+
|  tcp.srcPort [7:0]      |
+-------------------------+
|  tcp.dstPort [15:8]     |
+-------------------------+
|  tcp.dstPort [7:0]      |
+-------------------------+
|  tcp.seqNo [31:16]      |
+-------------------------+
|  tcp.seqNo [15:0]       |
+-------------------------+
|  tcp.ackNo [31:16]      |
+-------------------------+
|  tcp.ackNo [15: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 phv290[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 phv291[7:0] for tcp.srcPort[7:0]
Looking at tcp.dstPort (ingress) [15:8], with test_alloc = True
----> tcp.dstPort (ingress) is allocated? False
***Allocating phv292[7:0] for tcp.dstPort[15:8]
Looking at tcp.dstPort (ingress) [7:0], with test_alloc = True
----> tcp.dstPort (ingress) is allocated? False
***Allocating phv293[7:0] for tcp.dstPort[7:0]
Looking at tcp.seqNo (ingress) [31:16], with test_alloc = True
----> tcp.seqNo (ingress) is allocated? False
***Allocating 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:16], with test_alloc = True
----> tcp.ackNo (ingress) is allocated? False
***Allocating phv325[15:0] for tcp.ackNo[31:16]
Looking at tcp.ackNo (ingress) [15:0], with test_alloc = True
----> tcp.ackNo (ingress) is allocated? False
***Allocating phv326[15:0] for tcp.ackNo[15:0]
Looking at tcp.dataOffset (ingress) [3:0], with test_alloc = True
----> tcp.dataOffset (ingress) is allocated? False
Looking at tcp.res (ingress) [2:0], with test_alloc = True
Looking at tcp.ecn (ingress) [2:0], with test_alloc = True
Looking at tcp.ctrl (ingress) [5:0], with test_alloc = True
Looking at tcp.window (ingress) [15:0], with test_alloc = True
***Allocating phv259[31:28] for tcp.dataOffset[3:0]
***Allocating phv259[27:25] for tcp.res[2:0]
***Allocating phv259[24:22] for tcp.ecn[2:0]
***Allocating phv259[21:16] for tcp.ctrl[5:0]
***Allocating phv259[15:0] for tcp.window[15:0]
Looking at tcp.checksum (ingress) [15:0], with test_alloc = True
----> tcp.checksum (ingress) is allocated? False
Looking at tcp.urgentPtr (ingress) [15:0], with test_alloc = True
***Allocating phv260[31:16] for tcp.checksum[15:0]
***Allocating phv260[15:0] for tcp.urgentPtr[15:0]
Packing options tried: 1
Packing options skipped: 0

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: 48
  16-bit: 80
  32-bit: 48
Tagalong containers available:
  8-bit: 24
  16-bit: 36
  32-bit: 24
Initial packing options: 5196

Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
  8-bit: 48
  16-bit: 80
  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 phv296[7:4] for ipv4.version[3:0]
***Allocating phv296[3:0] for ipv4.ihl[3:0]
Looking at ipv4.diffserv (egress) [7:0], with test_alloc = True
----> ipv4.diffserv (egress) is allocated? False
***Allocating phv297[7:0] for ipv4.diffserv[7:0]
Looking at ipv4.totalLen (egress) [15:0], with test_alloc = True
----> ipv4.totalLen (egress) is allocated? False
***Allocating phv332[15:0] for ipv4.totalLen[15:0]
Looking at ipv4.identification (egress) [15:0], with test_alloc = True
----> ipv4.identification (egress) is allocated? False
***Allocating phv333[15:0] for ipv4.identification[15:0]
Looking at ipv4.flags (egress) [2:0], with test_alloc = True
----> ipv4.flags (egress) is allocated? False
Looking at ipv4.fragOffset (egress) [12:0], with test_alloc = True
***Allocating phv334[15:13] for ipv4.flags[2:0]
***Allocating phv334[12:0] for ipv4.fragOffset[12:0]
Looking at ipv4.ttl (egress) [7:0], with test_alloc = True
----> ipv4.ttl (egress) is allocated? False
Looking at ipv4.protocol (egress) [7:0], with test_alloc = True
Looking at ipv4.hdrChecksum (egress) [15:0], with test_alloc = True
***Allocating phv264[31:24] for ipv4.ttl[7:0]
***Allocating phv264[23:16] for ipv4.protocol[7:0]
***Allocating phv264[15:0] for ipv4.hdrChecksum[15:0]
Looking at ipv4.srcAddr (egress) [31:0], with test_alloc = True
----> ipv4.srcAddr (egress) is allocated? False
***Allocating phv265[31:0] for ipv4.srcAddr[31:0]
Looking at ipv4.dstAddr (egress) [31:0], with test_alloc = True
----> ipv4.dstAddr (egress) is allocated? False
***Allocating phv266[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: 48
  16-bit: 80
  32-bit: 48
Tagalong containers available:
  8-bit: 22
  16-bit: 33
  32-bit: 21
Initial packing options: 5196

Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
  8-bit: 48
  16-bit: 80
  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 phv298[7:0] for tcp.srcPort[15:8]
Looking at tcp.srcPort (egress) [7:0], with test_alloc = True
----> tcp.srcPort (egress) is allocated? False
***Allocating phv299[7:0] for tcp.srcPort[7:0]
Looking at tcp.dstPort (egress) [15:0], with test_alloc = True
----> tcp.dstPort (egress) is allocated? False
***Allocating phv335[15:0] for tcp.dstPort[15:0]
Looking at tcp.seqNo (egress) [31:16], with test_alloc = True
----> tcp.seqNo (egress) is allocated? False
***Allocating phv336[15:0] for tcp.seqNo[31:16]
Looking at tcp.seqNo (egress) [15:0], with test_alloc = True
----> tcp.seqNo (egress) is allocated? False
***Allocating phv337[15:0] for tcp.seqNo[15:0]
Looking at tcp.ackNo (egress) [31:0], with test_alloc = True
----> tcp.ackNo (egress) is allocated? False
***Allocating phv267[31:0] for tcp.ackNo[31:0]
Looking at tcp.dataOffset (egress) [3:0], with test_alloc = True
----> tcp.dataOffset (egress) is allocated? False
Looking at tcp.res (egress) [2:0], with test_alloc = True
Looking at tcp.ecn (egress) [2:0], with test_alloc = True
Looking at tcp.ctrl (egress) [5:0], with test_alloc = True
Looking at tcp.window (egress) [15:0], with test_alloc = True
***Allocating phv268[31:28] for tcp.dataOffset[3:0]
***Allocating phv268[27:25] for tcp.res[2:0]
***Allocating phv268[24:22] for tcp.ecn[2:0]
***Allocating phv268[21:16] for tcp.ctrl[5:0]
***Allocating phv268[15:0] for tcp.window[15:0]
Looking at tcp.checksum (egress) [15:0], with test_alloc = True
----> tcp.checksum (egress) is allocated? False
Looking at tcp.urgentPtr (egress) [15:0], with test_alloc = True
***Allocating phv269[31:16] for tcp.checksum[15:0]
***Allocating phv269[15:0] for tcp.urgentPtr[15:0]
Packing options tried: 1
Packing options skipped: 0

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: 48
  16-bit: 77
  32-bit: 47
Tagalong containers available:
  8-bit: 18
  16-bit: 29
  32-bit: 19
Initial packing options: 604

Packing option 0:  [8, 32, 16, 8, 32, 16]
MAU containers after:
  8-bit: 46
  16-bit: 75
  32-bit: 45
+-----------------------------+
|  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 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: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 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: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 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:8] for ethernet.dstAddr[7:0]
***Allocating phv131[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 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 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 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 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 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: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: 48
  16-bit: 80
  32-bit: 48
Tagalong containers available:
  8-bit: 20
  16-bit: 30
  32-bit: 18
Initial packing options: 604

Packing option 0:  [8, 32, 16, 8, 32, 16]
MAU containers after:
  8-bit: 48
  16-bit: 80
  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 phv300[7:0] for ethernet.dstAddr[47:40]
Looking at ethernet.dstAddr (egress) [39:8], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
***Allocating phv270[31:0] for ethernet.dstAddr[39:8]
Looking at ethernet.dstAddr (egress) [7:0], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
Looking at ethernet.srcAddr (egress) [47:40], with test_alloc = True
***Allocating phv338[15:8] for ethernet.dstAddr[7:0]
***Allocating phv338[7:0] for ethernet.srcAddr[47:40]
Looking at ethernet.srcAddr (egress) [39:32], with test_alloc = True
----> ethernet.srcAddr (egress) is allocated? False
***Allocating phv301[7:0] for ethernet.srcAddr[39:32]
Looking at ethernet.srcAddr (egress) [31:0], with test_alloc = True
----> ethernet.srcAddr (egress) is allocated? False
***Allocating phv271[31:0] for ethernet.srcAddr[31:0]
Looking at ethernet.etherType (egress) [15:0], with test_alloc = True
----> ethernet.etherType (egress) is allocated? False
***Allocating phv339[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: 48
  16-bit: 80
  32-bit: 48
Tagalong containers available:
  8-bit: 18
  16-bit: 28
  32-bit: 16
Initial packing options: 3

Packing option 1:  [16, 8]
MAU containers after:
  8-bit: 47
  16-bit: 79
  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.
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 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv144
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv208
***Allocating phv144[15:9] for eg_intr_md._pad0[6:0]
***Allocating phv144[8:0] for eg_intr_md.egress_port[8:0]
Looking at eg_intr_md._pad7 (egress) [4:0], with test_alloc = True
----> eg_intr_md._pad7 (egress) is allocated? False
Looking at eg_intr_md.egress_cos (egress) [2:0], with test_alloc = True
Checking if can overlay metadata field.
No required PHV group.
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:3] for eg_intr_md._pad7[4:0]
***Allocating phv80[2:0] for eg_intr_md.egress_cos[2:0]
Packing options tried: 2
Packing options skipped: 0
Failure Reasons:
  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 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: 47
  16-bit: 79
  32-bit: 48
Tagalong containers available:
  8-bit: 18
  16-bit: 28
  32-bit: 16
Initial packing options: 2

Packing option 0:  [16]
MAU containers after:
  8-bit: 47
  16-bit: 79
  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 phv340[15:7] for packet_out_hdr.egress_port[8:0]
***Allocating phv340[6:0] for packet_out_hdr._padding[6:0]
Packing options tried: 1
Packing options skipped: 0

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)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    4 (25.00%)   | 64 (25.00%)  |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    5 (5.21%)    |  80 (5.21%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
|                        |                 |              |                |
|       MAU total        |    11 (4.91%)   | 200 (4.88%)  |      4096      |
|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
|     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
-----------------------------------------------------------------------------

>>Event 'pa_overlay' at time 1505307383.55
   Took 9.04 seconds

-----------------------------------------------
  Allocating remaining parsed fields
-----------------------------------------------
Allocation Step

All Sorted parse nodes (non-critical):
  parse_pkt_in (ingress) with bits = 16 and max = 2
  parse_udp (ingress) with bits = 64 and max = 1
  parse_udp (egress) with bits = 64 and max = 1
  parse_pkt_in (egress) with bits = 16 and max = 1
Total packet bits: 160
Total meta bits: 0
Total bits: 160
Working on parse node parse_pkt_in (2) (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  |   False   | [(16, 9)] |  -   |    [32]   |    2     |     2      |
|   packet_in_hdr._padding   | 7  |    True   |     -     |  -   |    [32]   |    1     |     1      |
-------------------------------------------------------------------------------------------------------

MAU containers available:
  8-bit: 46
  16-bit: 75
  32-bit: 45
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]
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 |    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: 75
  32-bit: 45
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 phv290[7:0] for udp.srcPort[15:8]
***Allocating phv291[7:0] for udp.srcPort[7:0]
***Allocating phv323[15:0] for udp.dstPort[15:0]
***Allocating phv259[31:16] for udp.length_[15:0]
***Allocating phv259[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: 47
  16-bit: 79
  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 phv298[7:0] for udp.srcPort[15:8]
***Allocating phv299[7:0] for udp.srcPort[7:0]
***Allocating phv336[15:0] for udp.dstPort[15:0]
***Allocating phv267[31:16] for udp.length_[15:0]
***Allocating phv267[15:0] for udp.checksum[15:0]
Working on parse node parse_pkt_in (2) (egress)

-------------------------------------------
Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: 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  |    True   |  -  |  -   |    [32]   |    2     |     1      |
|   packet_in_hdr._padding   | 7  |    True   |  -  |  -   |    [32]   |    1     |     1      |
-------------------------------------------------------------------------------------------------

MAU containers available:
  8-bit: 47
  16-bit: 79
  32-bit: 48
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 phv340[15:7] for packet_in_hdr.ingress_port[8:0]
***Allocating phv340[6:0] for packet_in_hdr._padding[6:0]

After allocating remaining parse nodes:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
| (container bit widths) |     (% used)    |   (% used)   |                |
-----------------------------------------------------------------------------
|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    4 (25.00%)   | 64 (25.00%)  |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    5 (5.21%)    |  80 (5.21%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
|                        |                 |              |                |
|       MAU total        |    11 (4.91%)   | 200 (4.88%)  |      4096      |
|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
|     Overall total      |   52 (15.48%)   | 968 (15.76%) |      6144      |
-----------------------------------------------------------------------------



Difference in allocation between critical parse path and overlaying headers:
Allocation state: Diff
--------------------------------------------------------------------------
|       PHV Group        | Containers Used | Bits Used | Bits Available |
| (container bit widths) |     (% used)    |  (% used) |                |
--------------------------------------------------------------------------
|         0 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
|         1 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
|         2 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
|         3 (32)         |    0 (0.00%)    | 0 (0.00%) |      512       |
|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      2048      |
|                        |                 |           |                |
|         4 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
|         5 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
|         6 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
|         7 (8)          |    0 (0.00%)    | 0 (0.00%) |      128       |
|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      512       |
|                        |                 |           |                |
|         8 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
|         9 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
|        10 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
|        11 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
|        12 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
|        13 (16)         |    0 (0.00%)    | 0 (0.00%) |      256       |
|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      1536      |
|                        |                 |           |                |
|       14 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
|       15 (32) T        |    0 (0.00%)    | 0 (0.00%) |      512       |
|    Total for 32 bit    |    0 (0.00%)    | 0 (0.00%) |      1024      |
|                        |                 |           |                |
|        16 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
|        17 (8) T        |    0 (0.00%)    | 0 (0.00%) |      128       |
|    Total for 8 bit     |    0 (0.00%)    | 0 (0.00%) |      256       |
|                        |                 |           |                |
|       18 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
|       19 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
|       20 (16) T        |    0 (0.00%)    | 0 (0.00%) |      256       |
|    Total for 16 bit    |    0 (0.00%)    | 0 (0.00%) |      768       |
|                        |                 |           |                |
|       MAU total        |    0 (0.00%)    | 0 (0.00%) |      4096      |
|     Tagalong total     |    0 (0.00%)    | 0 (0.00%) |      2048      |
|     Overall total      |    0 (0.00%)    | 0 (0.00%) |      6144      |
--------------------------------------------------------------------------

>>Event 'pa_meta1' at time 1505307384.06
   Took 0.51 seconds

-----------------------------------------------
  Allocating metadata (pass 1)
-----------------------------------------------
Allocation Step
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md.resubmit_flag (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad1 (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad2 (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad3 (ingress) will require table injection to initialize.
Total metadata field instances to allocate: 2  / 12 bits (12 ingress bits and 0 egress bits)
Promised metadata field instances to allocate: 1 / 9 bits (9 ingress bits and 0 egress bits)
     0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=2, 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)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    5 (31.25%)   | 73 (28.52%)  |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    6 (6.25%)    |  89 (5.79%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
|                        |                 |              |                |
|       MAU total        |    12 (5.36%)   | 209 (5.10%)  |      4096      |
|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
|     Overall total      |   53 (15.77%)   | 977 (15.90%) |      6144      |
-----------------------------------------------------------------------------

Allocation state difference after promised meta allocated:
Allocation state: Diff
--------------------------------------------------------------------------
|       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 1505307384.13
   Took 0.07 seconds

-----------------------------------------------
  Allocating POV
-----------------------------------------------
Allocation Step
Allocation state: Final Allocation
-----------------------------------------------------------------------------
|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
| (container bit widths) |     (% used)    |   (% used)   |                |
-----------------------------------------------------------------------------
|         0 (32)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    2 (12.50%)   | 16 (12.50%)  |      128       |
|         5 (8)          |    1 (6.25%)    |  8 (6.25%)   |      128       |
|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    3 (4.69%)    |  24 (4.69%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    5 (31.25%)   | 73 (28.52%)  |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    6 (6.25%)    |  89 (5.79%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
|                        |                 |              |                |
|       MAU total        |    12 (5.36%)   | 209 (5.10%)  |      4096      |
|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
|     Overall total      |   53 (15.77%)   | 977 (15.90%) |      6144      |
-----------------------------------------------------------------------------

Sorted POV field instances to allocate (with best pack): 13
    0: --validity_check--packet_in_hdr (ingress)  -- max pov share 6 / best pack 5
    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 W>
Call to _allocate_pov_helper for:
  --validity_check--packet_in_hdr (ingress)
  Best pack group: (6)

Looking for container to share POV bit in from already allocated containers for POV.
Container availability (not used yet for POV): total 198 / partial 1

Looking for container to share POV bit in from already allocated containers that have not been used for POV.
>>Choose container phv66, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
  >> Decided to allocate new container
Required container phv66
***Allocating phv66[0:0] for --validity_check--packet_in_hdr[0:0]
***Allocating phv66[1:1] for --validity_check--packet_out_hdr[0:0]
***Allocating phv66[2:2] for --validity_check--ethernet[0:0]
***Allocating phv66[3:3] for --validity_check--ipv4[0:0]
***Allocating phv66[4:4] for --validity_check--tcp[0:0]
***Allocating phv66[5:5] for --validity_check--udp[0:0]
***Allocating phv66[6:6] for --validity_check--metadata_bridge[0:0]

Working on
--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
  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>
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 202 / partial 0

Looking for container to share POV bit in from already allocated containers that have not been used for POV.
>>Choose container phv81, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 6).
  >> Decided to allocate new container
Required container phv81
***Allocating phv81[0:0] for --validity_check--packet_in_hdr[0:0]
***Allocating phv81[1:1] for --validity_check--packet_out_hdr[0:0]
***Allocating phv81[2:2] for --validity_check--ethernet[0:0]
***Allocating phv81[3:3] for --validity_check--ipv4[0:0]
***Allocating phv81[4:4] for --validity_check--tcp[0:0]
***Allocating phv81[5:5] for --validity_check--udp[0:0]

Working on
--validity_check--packet_out_hdr <1 bits egress parsed pov>
  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
    phv66 (8 bits)
  >> 8 total bits
 egress
    phv81 (8 bits)
  >> 8 total bits
>>Event 'pa_meta2' at time 1505307384.25
   Took 0.12 seconds

-----------------------------------------------
  Allocating metadata (pass 2)
-----------------------------------------------
Allocation Step
Total metadata field instances to allocate: 1  / 3 bits (3 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)         |    3 (18.75%)   | 96 (18.75%)  |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    3 (4.69%)    |  96 (4.69%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    3 (18.75%)   | 23 (17.97%)  |      128       |
|         5 (8)          |    2 (12.50%)   | 14 (10.94%)  |      128       |
|         6 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|         7 (8)          |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    5 (7.81%)    |  37 (7.23%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    5 (31.25%)   | 73 (28.52%)  |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    6 (6.25%)    |  89 (5.79%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   13 (81.25%)   | 416 (81.25%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   13 (40.62%)   | 416 (40.62%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |   12 (75.00%)   | 96 (75.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |   12 (37.50%)   | 96 (37.50%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   11 (68.75%)   | 176 (68.75%) |      256       |
|       19 (16) T        |    5 (31.25%)   | 80 (31.25%)  |      256       |
|       20 (16) T        |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |   16 (33.33%)   | 256 (33.33%) |      768       |
|                        |                 |              |                |
|       MAU total        |    14 (6.25%)   | 222 (5.42%)  |      4096      |
|     Tagalong total     |   41 (36.61%)   | 768 (37.50%) |      2048      |
|     Overall total      |   55 (16.37%)   | 990 (16.11%) |      6144      |
-----------------------------------------------------------------------------

Allocation state difference after promised meta allocated:
Allocation state: Diff
--------------------------------------------------------------------------
|       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: 1 / 3 bits (3 ingress bits and 0 egress bits)
     0: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=0, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=0, latest_use=12)

---------------------------------------
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 13 and promised 1 -- ingress promised 1 and remain 12 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv3 -- 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 13 and promised 1 -- ingress promised 1 and remain 12 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv67 -- fails False
  Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 6 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv96 -- fails False
  Group 7 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv112 -- fails False
  Group 8 16 bits -- avail 11 and promised 1 -- ingress promised 1 and remain 10 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv133 -- fails False
  Group 9 16 bits -- avail 15 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv160 -- fails False
  Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv176 -- fails False
  Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv192 -- fails False
  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 phv67[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
>>Event 'pa_meta_init' at time 1505307384.32
   Took 0.06 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.
