+---------------------------------------------------------------------+
|  Log file: pa.log                                                   |
|  Compiler version: 5.1.0 (fca32d1)                                  |
|  Created on: Wed Sep 13 12:57:41 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 (100 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 ecmp_metadata.valid in ingress
Removing eg_intr_md._pad1 in egress
Removing eg_intr_md.enq_qdepth in egress
Removing eg_intr_md._pad2 in egress
Removing eg_intr_md.enq_congest_stat in egress
Removing eg_intr_md.enq_tstamp in egress
Removing eg_intr_md._pad3 in egress
Removing eg_intr_md.deq_qdepth in egress
Removing eg_intr_md._pad4 in egress
Removing eg_intr_md.deq_congest_stat in egress
Removing eg_intr_md.app_pool_congest_stat in egress
Removing eg_intr_md.deq_timedelta in egress
Removing eg_intr_md.egress_rid in egress
Removing eg_intr_md._pad5 in egress
Removing eg_intr_md.egress_rid_first in egress
Removing eg_intr_md._pad6 in egress
Removing eg_intr_md.egress_qid in egress
Removing eg_intr_md._pad8 in egress
Removing eg_intr_md.deflection_flag in egress
Removing eg_intr_md.pkt_length in egress
Removing eg_intr_md_for_oport._pad1 in egress
Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
Removing eg_intr_md_for_oport.update_delay_on_tx in egress
Removing eg_intr_md_for_oport.force_tx_error in egress
Removing eg_intr_md_for_oport.drop_ctl in egress
Removing eg_intr_md_for_mb._pad1 in egress
Removing eg_intr_md_for_mb.egress_mirror_id in egress
Removing eg_intr_md_for_mb.coalesce_flush in egress
Removing eg_intr_md_for_mb.coalesce_length in egress

-----------------------------------------------
   Eliminating unused packet fields (6 instances)
-----------------------------------------------
Removing packet_in_hdr.valid in ingress
Removing packet_out_hdr.valid in ingress
Removing ethernet.valid in ingress
Removing ipv4.valid in ingress
Removing tcp.valid in ingress
Removing udp.valid in ingress

--------------------------------------------
  ingress field instance bit width histogram
--------------------------------------------
   Total fields: 50
   Max value: 15

    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 : xxxxxxxxxxxxxxx (15)
   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 (100 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 ecmp_metadata.valid in ingress
Removing eg_intr_md._pad1 in egress
Removing eg_intr_md.enq_qdepth in egress
Removing eg_intr_md._pad2 in egress
Removing eg_intr_md.enq_congest_stat in egress
Removing eg_intr_md.enq_tstamp in egress
Removing eg_intr_md._pad3 in egress
Removing eg_intr_md.deq_qdepth in egress
Removing eg_intr_md._pad4 in egress
Removing eg_intr_md.deq_congest_stat in egress
Removing eg_intr_md.app_pool_congest_stat in egress
Removing eg_intr_md.deq_timedelta in egress
Removing eg_intr_md.egress_rid in egress
Removing eg_intr_md._pad5 in egress
Removing eg_intr_md.egress_rid_first in egress
Removing eg_intr_md._pad6 in egress
Removing eg_intr_md.egress_qid in egress
Removing eg_intr_md._pad8 in egress
Removing eg_intr_md.deflection_flag in egress
Removing eg_intr_md.pkt_length in egress
Removing eg_intr_md_for_oport._pad1 in egress
Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
Removing eg_intr_md_for_oport.update_delay_on_tx in egress
Removing eg_intr_md_for_oport.force_tx_error in egress
Removing eg_intr_md_for_oport.drop_ctl in egress
Removing eg_intr_md_for_mb._pad1 in egress
Removing eg_intr_md_for_mb.egress_mirror_id in egress
Removing eg_intr_md_for_mb.coalesce_flush in egress
Removing eg_intr_md_for_mb.coalesce_length in egress

-----------------------------------------------
   Eliminating unused packet fields (6 instances)
-----------------------------------------------
Removing packet_in_hdr.valid in ingress
Removing packet_out_hdr.valid in ingress
Removing ethernet.valid in ingress
Removing ipv4.valid in ingress
Removing tcp.valid in ingress
Removing udp.valid in ingress

--------------------------------------------
  ingress field instance bit width histogram
--------------------------------------------
   Total fields: 50
   Max value: 15

    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 : xxxxxxxxxxxxxxx (15)
   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     |           |              |               |
|        ecmp_metadata.group_id       |     16    |  ingress  |         |           |     x     |      x       |       x       |
|        ecmp_metadata.selector       |     16    |  ingress  |         |           |     x     |      x       |       x       |
|           ethernet.dstAddr          |     48    |  ingress  |    x    |     x     |           |      x       |               |
|          ethernet.etherType         |     16    |  ingress  |    x    |     x     |           |      x       |               |
|           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     |           |      x       |               |
|              ipv4.flags             |     3     |  ingress  |    x    |     x     |           |              |               |
|           ipv4.fragOffset           |     13    |  ingress  |    x    |     x     |           |              |               |
|           ipv4.hdrChecksum          |     16    |  ingress  |    x    |     x     |           |              |               |
|         ipv4.identification         |     16    |  ingress  |    x    |     x     |           |              |               |
|               ipv4.ihl              |     4     |  ingress  |    x    |     x     |           |              |               |
|            ipv4.protocol            |     8     |  ingress  |    x    |     x     |           |              |               |
|             ipv4.srcAddr            |     32    |  ingress  |    x    |     x     |           |      x       |               |
|            ipv4.totalLen            |     16    |  ingress  |    x    |     x     |           |              |               |
|               ipv4.ttl              |     8     |  ingress  |    x    |     x     |           |              |               |
|             ipv4.version            |     4     |  ingress  |    x    |     x     |           |              |               |
|        packet_in_hdr._padding       |     7     |  ingress  |    x    |     x     |           |              |               |
|      packet_in_hdr.ingress_port     |     9     |  ingress  |    x    |     x     |           |              |       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     |           |      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     |           |      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 1505307464.13
   Took 0.01 seconds
--------------------------------------------
PHV MAU Groups: 92
--------------------------------------------
Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
  ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
  packet_in_hdr.ingress_port <9 bits ingress parsed W>

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

Phv Mau Group (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 R>

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

Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
  tcp.srcPort <16 bits ingress parsed R>

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

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 16.
  ecmp_metadata.group_id <16 bits ingress meta R W>

Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
  ecmp_metadata.selector <16 bits ingress meta R W>

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 1505307464.14
   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 1505307464.17
   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 1505307464.18
   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 1505307464.18
   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
$$$ initialization at table table0 will expand the table layout due to adding a default action.

MAU groups: 5
  Group 8 16 bits -- avail 15 -- ingress avail 15 and remain 13 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv129
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv129[15:7] for packet_out_hdr.egress_port[8:0]
***Allocating phv129[6:0] for packet_out_hdr._padding[6:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node parse_ipv4 (6) (ingress)

-------------------------------------------
Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
  ipv4.version [3:0]
  ipv4.ihl [3:0]
  ipv4.diffserv [7:0]
  ipv4.totalLen [15:0]
  ipv4.identification [15:0]
  ipv4.flags [2:0]
  ipv4.fragOffset [12:0]
  ipv4.ttl [7:0]
  ipv4.protocol [7:0]
  ipv4.hdrChecksum [15:0]
  ipv4.srcAddr [31:0]
  ipv4.dstAddr [31:0]
------------------------------------------------------------------------------------------
|         Name        | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
------------------------------------------------------------------------------------------
|     ipv4.version    | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
|       ipv4.ihl      | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
|    ipv4.diffserv    | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
|    ipv4.totalLen    | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
| ipv4.identification | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
|      ipv4.flags     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
|   ipv4.fragOffset   | 13 |    True   |  -  |  -   |     -     |    2     |     1      |
|       ipv4.ttl      | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
|    ipv4.protocol    | 8  |    True   |  -  |  -   |     -     |    1     |     1      |
|   ipv4.hdrChecksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
|     ipv4.srcAddr    | 32 |   False   |  -  |  -   |     -     |    4     |     1      |
|     ipv4.dstAddr    | 32 |   False   |  -  |  -   |     -     |    4     |     1      |
------------------------------------------------------------------------------------------

min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
  8-bit: 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, 16, 16, 32, 32, 8, 16, 32]
MAU containers after:
  8-bit: 47
  16-bit: 76
  32-bit: 45
+------------------------------+
|  ipv4.version [3:0]          |
|  ipv4.ihl [3:0]              |
+------------------------------+
|  ipv4.diffserv [7:0]         |
|  ipv4.totalLen [15:8]        |
+------------------------------+
|  ipv4.totalLen [7:0]         |
|  ipv4.identification [15:8]  |
+------------------------------+
|  ipv4.identification [7:0]   |
|  ipv4.flags [2:0]            |
|  ipv4.fragOffset [12:0]      |
|  ipv4.ttl [7:0]              |
+------------------------------+
|  ipv4.protocol [7:0]         |
|  ipv4.hdrChecksum [15:0]     |
|  ipv4.srcAddr [31:24]        |
+------------------------------+
|  ipv4.srcAddr [23:16]        |
+------------------------------+
|  ipv4.srcAddr [15:0]         |
+------------------------------+
|  ipv4.dstAddr [31:0]         |
+------------------------------+

Looking at ipv4.version (ingress) [3:0], with test_alloc = True
----> ipv4.version (ingress) is allocated? False
Looking at ipv4.ihl (ingress) [3:0], with test_alloc = True
***Allocating phv288[7:4] for ipv4.version[3:0]
***Allocating phv288[3:0] for ipv4.ihl[3:0]
Looking at ipv4.diffserv (ingress) [7:0], with test_alloc = True
----> ipv4.diffserv (ingress) is allocated? False
Looking at ipv4.totalLen (ingress) [15:8], with test_alloc = True
***Allocating phv320[15:8] for ipv4.diffserv[7:0]
***Allocating phv320[7:0] for ipv4.totalLen[15:8]
Looking at ipv4.totalLen (ingress) [7:0], with test_alloc = True
----> ipv4.totalLen (ingress) is allocated? False
Looking at ipv4.identification (ingress) [15:8], with test_alloc = True
***Allocating phv321[15:8] for ipv4.totalLen[7:0]
***Allocating phv321[7:0] for ipv4.identification[15:8]
Looking at ipv4.identification (ingress) [7:0], with test_alloc = True
----> ipv4.identification (ingress) is allocated? False
Looking at ipv4.flags (ingress) [2:0], with test_alloc = True
Looking at ipv4.fragOffset (ingress) [12:0], with test_alloc = True
Looking at ipv4.ttl (ingress) [7:0], with test_alloc = True
***Allocating phv256[31:24] for ipv4.identification[7:0]
***Allocating phv256[23:21] for ipv4.flags[2:0]
***Allocating phv256[20:8] for ipv4.fragOffset[12:0]
***Allocating phv256[7:0] for ipv4.ttl[7:0]
Looking at ipv4.protocol (ingress) [7:0], with test_alloc = True
----> ipv4.protocol (ingress) is allocated? False
Looking at ipv4.hdrChecksum (ingress) [15:0], with test_alloc = True
Looking at ipv4.srcAddr (ingress) [31:24], with test_alloc = True

MAU groups: 3
  Group 0 32 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv1
  Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
  Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv1[31:24] for ipv4.protocol[7:0]
***Allocating phv1[23:8] for ipv4.hdrChecksum[15:0]
***Allocating phv1[7:0] for ipv4.srcAddr[31:24]
Looking at ipv4.srcAddr (ingress) [23:16], with test_alloc = True
----> ipv4.srcAddr (ingress) is allocated? False

MAU groups: 3
  Group 4 8 bits -- avail 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 ipv4.srcAddr[23:16]
Looking at ipv4.srcAddr (ingress) [15:0], with test_alloc = True
----> ipv4.srcAddr (ingress) is allocated? False

MAU groups: 5
  Group 8 16 bits -- avail 14 -- ingress avail 14 and remain 12 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv131
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv131[15:0] for ipv4.srcAddr[15:0]
Looking at ipv4.dstAddr (ingress) [31:0], with test_alloc = True
----> ipv4.dstAddr (ingress) is allocated? False

MAU groups: 3
  Group 0 32 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv2
  Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
  Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv2[31:0] for ipv4.dstAddr[31:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node parse_tcp (7) (ingress)

-------------------------------------------
Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
  tcp.srcPort [15:0]
  tcp.dstPort [15:0]
  tcp.seqNo [31:0]
  tcp.ackNo [31:0]
  tcp.dataOffset [3:0]
  tcp.res [2:0]
  tcp.ecn [2:0]
  tcp.ctrl [5:0]
  tcp.window [15:0]
  tcp.checksum [15:0]
  tcp.urgentPtr [15:0]
-------------------------------------------------------------------------------------
|      Name      | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------
|  tcp.srcPort   | 16 |   False   |  -  |  -   |     -     |    2     |     1      |
|  tcp.dstPort   | 16 |   False   |  -  |  -   |     -     |    2     |     1      |
|   tcp.seqNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
|   tcp.ackNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
| tcp.dataOffset | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
|    tcp.res     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
|    tcp.ecn     | 3  |    True   |  -  |  -   |     -     |    2     |     1      |
|    tcp.ctrl    | 6  |    True   |  -  |  -   |     -     |    1     |     1      |
|   tcp.window   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
|  tcp.checksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
| tcp.urgentPtr  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
-------------------------------------------------------------------------------------

min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
  8-bit: 47
  16-bit: 76
  32-bit: 45
Tagalong containers available:
  8-bit: 31
  16-bit: 46
  32-bit: 31
Initial packing options: 5196

Packing option 0:  [8, 16, 32, 8, 16, 16, 32, 32]
MAU containers after:
  8-bit: 46
  16-bit: 75
  32-bit: 44
+-------------------------+
|  tcp.srcPort [15:8]     |
+-------------------------+
|  tcp.srcPort [7:0]      |
|  tcp.dstPort [15:8]     |
+-------------------------+
|  tcp.dstPort [7:0]      |
|  tcp.seqNo [31:8]       |
+-------------------------+
|  tcp.seqNo [7: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

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 tcp.srcPort[15:8]
Looking at tcp.srcPort (ingress) [7:0], with test_alloc = True
----> tcp.srcPort (ingress) is allocated? False
Looking at tcp.dstPort (ingress) [15:8], with test_alloc = True

MAU groups: 5
  Group 8 16 bits -- avail 13 -- ingress avail 13 and remain 11 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv132
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv132[15:8] for tcp.srcPort[7:0]
***Allocating phv132[7:0] for tcp.dstPort[15:8]
Looking at tcp.dstPort (ingress) [7:0], with test_alloc = True
----> tcp.dstPort (ingress) is allocated? False
Looking at tcp.seqNo (ingress) [31:8], with test_alloc = True

MAU groups: 3
  Group 0 32 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv3
  Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
  Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv3[31:24] for tcp.dstPort[7:0]
***Allocating phv3[23:0] for tcp.seqNo[31:8]
Looking at tcp.seqNo (ingress) [7:0], with test_alloc = True
----> tcp.seqNo (ingress) is allocated? False
***Allocating phv289[7:0] for tcp.seqNo[7:0]
Looking at tcp.ackNo (ingress) [31:16], with test_alloc = True
----> tcp.ackNo (ingress) is allocated? False
***Allocating phv322[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 phv323[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 phv257[31:28] for tcp.dataOffset[3:0]
***Allocating phv257[27:25] for tcp.res[2:0]
***Allocating phv257[24:22] for tcp.ecn[2:0]
***Allocating phv257[21:16] for tcp.ctrl[5:0]
***Allocating phv257[15:0] for tcp.window[15:0]
Looking at tcp.checksum (ingress) [15:0], with test_alloc = True
----> tcp.checksum (ingress) is allocated? False
Looking at tcp.urgentPtr (ingress) [15:0], with test_alloc = True
***Allocating phv258[31:16] for tcp.checksum[15:0]
***Allocating phv258[15:0] for tcp.urgentPtr[15:0]
Packing options tried: 1
Packing options skipped: 0

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: 28
  16-bit: 42
  32-bit: 28
Initial packing options: 5196

Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
  8-bit: 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 phv292[7:4] for ipv4.version[3:0]
***Allocating phv292[3:0] for ipv4.ihl[3:0]
Looking at ipv4.diffserv (egress) [7:0], with test_alloc = True
----> ipv4.diffserv (egress) is allocated? False
***Allocating phv293[7:0] for ipv4.diffserv[7:0]
Looking at ipv4.totalLen (egress) [15:0], with test_alloc = True
----> ipv4.totalLen (egress) is allocated? False
***Allocating phv326[15:0] for ipv4.totalLen[15:0]
Looking at ipv4.identification (egress) [15:0], with test_alloc = True
----> ipv4.identification (egress) is allocated? False
***Allocating phv327[15:0] for ipv4.identification[15:0]
Looking at ipv4.flags (egress) [2:0], with test_alloc = True
----> ipv4.flags (egress) is allocated? False
Looking at ipv4.fragOffset (egress) [12:0], with test_alloc = True
***Allocating phv328[15:13] for ipv4.flags[2:0]
***Allocating phv328[12:0] for ipv4.fragOffset[12:0]
Looking at ipv4.ttl (egress) [7:0], with test_alloc = True
----> ipv4.ttl (egress) is allocated? False
Looking at ipv4.protocol (egress) [7:0], with test_alloc = True
Looking at ipv4.hdrChecksum (egress) [15:0], with test_alloc = True
***Allocating phv260[31:24] for ipv4.ttl[7:0]
***Allocating phv260[23:16] for ipv4.protocol[7:0]
***Allocating phv260[15:0] for ipv4.hdrChecksum[15:0]
Looking at ipv4.srcAddr (egress) [31:0], with test_alloc = True
----> ipv4.srcAddr (egress) is allocated? False
***Allocating phv261[31:0] for ipv4.srcAddr[31:0]
Looking at ipv4.dstAddr (egress) [31:0], with test_alloc = True
----> ipv4.dstAddr (egress) is allocated? False
***Allocating phv262[31:0] for ipv4.dstAddr[31:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node parse_tcp (7) (egress)

-------------------------------------------
Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
  tcp.srcPort [15:0]
  tcp.dstPort [15:0]
  tcp.seqNo [31:0]
  tcp.ackNo [31:0]
  tcp.dataOffset [3:0]
  tcp.res [2:0]
  tcp.ecn [2:0]
  tcp.ctrl [5:0]
  tcp.window [15:0]
  tcp.checksum [15:0]
  tcp.urgentPtr [15:0]
-------------------------------------------------------------------------------------
|      Name      | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------
|  tcp.srcPort   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
|  tcp.dstPort   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
|   tcp.seqNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
|   tcp.ackNo    | 32 |    True   |  -  |  -   |     -     |    4     |     1      |
| tcp.dataOffset | 4  |    True   |  -  |  -   |     -     |    1     |     1      |
|    tcp.res     | 3  |    True   |  -  |  -   |     -     |    1     |     1      |
|    tcp.ecn     | 3  |    True   |  -  |  -   |     -     |    2     |     1      |
|    tcp.ctrl    | 6  |    True   |  -  |  -   |     -     |    1     |     1      |
|   tcp.window   | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
|  tcp.checksum  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
| tcp.urgentPtr  | 16 |    True   |  -  |  -   |     -     |    2     |     1      |
-------------------------------------------------------------------------------------

min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
  8-bit: 48
  16-bit: 80
  32-bit: 48
Tagalong containers available:
  8-bit: 26
  16-bit: 39
  32-bit: 25
Initial packing options: 5196

Packing option 0:  [8, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
  8-bit: 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 phv294[7:0] for tcp.srcPort[15:8]
Looking at tcp.srcPort (egress) [7:0], with test_alloc = True
----> tcp.srcPort (egress) is allocated? False
***Allocating phv295[7:0] for tcp.srcPort[7:0]
Looking at tcp.dstPort (egress) [15:0], with test_alloc = True
----> tcp.dstPort (egress) is allocated? False
***Allocating phv329[15:0] for tcp.dstPort[15:0]
Looking at tcp.seqNo (egress) [31:16], with test_alloc = True
----> tcp.seqNo (egress) is allocated? False
***Allocating phv330[15:0] for tcp.seqNo[31:16]
Looking at tcp.seqNo (egress) [15:0], with test_alloc = True
----> tcp.seqNo (egress) is allocated? False
***Allocating phv331[15:0] for tcp.seqNo[15:0]
Looking at tcp.ackNo (egress) [31:0], with test_alloc = True
----> tcp.ackNo (egress) is allocated? False
***Allocating phv263[31:0] for tcp.ackNo[31:0]
Looking at tcp.dataOffset (egress) [3:0], with test_alloc = True
----> tcp.dataOffset (egress) is allocated? False
Looking at tcp.res (egress) [2:0], with test_alloc = True
Looking at tcp.ecn (egress) [2:0], with test_alloc = True
Looking at tcp.ctrl (egress) [5:0], with test_alloc = True
Looking at tcp.window (egress) [15:0], with test_alloc = True
***Allocating phv264[31:28] for tcp.dataOffset[3:0]
***Allocating phv264[27:25] for tcp.res[2:0]
***Allocating phv264[24:22] for tcp.ecn[2:0]
***Allocating phv264[21:16] for tcp.ctrl[5:0]
***Allocating phv264[15:0] for tcp.window[15:0]
Looking at tcp.checksum (egress) [15:0], with test_alloc = True
----> tcp.checksum (egress) is allocated? False
Looking at tcp.urgentPtr (egress) [15:0], with test_alloc = True
***Allocating phv265[31:16] for tcp.checksum[15:0]
***Allocating phv265[15:0] for tcp.urgentPtr[15:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node parse_ethernet (5) (ingress)

-------------------------------------------
Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 112
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 112
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 112
Parse state 0 (112 bits)
  ethernet.dstAddr [47:0]
  ethernet.srcAddr [47:0]
  ethernet.etherType [15:0]
-----------------------------------------------------------------------------------------
|        Name        | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------
|  ethernet.dstAddr  | 48 |   False   |  -  |  -   |     -     |    6     |     1      |
|  ethernet.srcAddr  | 48 |   False   |  -  |  -   |     -     |    6     |     1      |
| ethernet.etherType | 16 |   False   |  -  |  -   |     -     |    2     |     1      |
-----------------------------------------------------------------------------------------

min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 604
MAU containers available:
  8-bit: 46
  16-bit: 75
  32-bit: 44
Tagalong containers available:
  8-bit: 22
  16-bit: 32
  32-bit: 21
Initial packing options: 604

Packing option 0:  [8, 32, 16, 8, 32, 16]
MAU containers after:
  8-bit: 44
  16-bit: 73
  32-bit: 42
+-----------------------------+
|  ethernet.dstAddr [47:40]   |
+-----------------------------+
|  ethernet.dstAddr [39:8]    |
+-----------------------------+
|  ethernet.dstAddr [7:0]     |
|  ethernet.srcAddr [47:40]   |
+-----------------------------+
|  ethernet.srcAddr [39:32]   |
+-----------------------------+
|  ethernet.srcAddr [31:0]    |
+-----------------------------+
|  ethernet.etherType [15:0]  |
+-----------------------------+

Looking at ethernet.dstAddr (ingress) [47:40], with test_alloc = True
----> ethernet.dstAddr (ingress) is allocated? False

MAU groups: 3
  Group 4 8 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv66
  Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
  Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
***Allocating phv66[7:0] for ethernet.dstAddr[47:40]
Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
----> ethernet.dstAddr (ingress) is allocated? False

MAU groups: 3
  Group 0 32 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 12 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv4
  Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
  Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv4[31:0] for ethernet.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 12 -- ingress avail 12 and remain 10 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv133
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv133[15:8] for ethernet.dstAddr[7:0]
***Allocating phv133[7:0] for ethernet.srcAddr[47:40]
Looking at ethernet.srcAddr (ingress) [39:32], with test_alloc = True
----> ethernet.srcAddr (ingress) is allocated? False

MAU groups: 3
  Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv67
  Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
  Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
***Allocating phv67[7:0] for ethernet.srcAddr[39:32]
Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
----> ethernet.srcAddr (ingress) is allocated? False

MAU groups: 3
  Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
  Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
  Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv5[31: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 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
  Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
  Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
  Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
  Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv134[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: 24
  16-bit: 36
  32-bit: 22
Initial packing options: 604

Packing option 0:  [8, 32, 16, 8, 32, 16]
MAU containers after:
  8-bit: 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 phv296[7:0] for ethernet.dstAddr[47:40]
Looking at ethernet.dstAddr (egress) [39:8], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
***Allocating phv266[31:0] for ethernet.dstAddr[39:8]
Looking at ethernet.dstAddr (egress) [7:0], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
Looking at ethernet.srcAddr (egress) [47:40], with test_alloc = True
***Allocating phv332[15:8] for ethernet.dstAddr[7:0]
***Allocating phv332[7:0] for ethernet.srcAddr[47:40]
Looking at ethernet.srcAddr (egress) [39:32], with test_alloc = True
----> ethernet.srcAddr (egress) is allocated? False
***Allocating phv297[7:0] for ethernet.srcAddr[39:32]
Looking at ethernet.srcAddr (egress) [31:0], with test_alloc = True
----> ethernet.srcAddr (egress) is allocated? False
***Allocating phv267[31:0] for ethernet.srcAddr[31:0]
Looking at ethernet.etherType (egress) [15:0], with test_alloc = True
----> ethernet.etherType (egress) is allocated? False
***Allocating phv333[15:0] for ethernet.etherType[15:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node egress_intrinsic_metadata (9) (egress)

-------------------------------------------
Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 24
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 24
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 24
Parse state 0 (24 bits)
  eg_intr_md._pad0 [6:0]
  eg_intr_md.egress_port [8:0]
  eg_intr_md._pad7 [4:0]
  eg_intr_md.egress_cos [2:0]
---------------------------------------------------------------------------------------------
|          Name          | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
|    eg_intr_md._pad0    | 7  |   False   |  -  |  -   |     -     |    1     |     1      |
| eg_intr_md.egress_port | 9  |   False   |  -  |  -   |    [8]    |    1     |     1      |
|    eg_intr_md._pad7    | 5  |   False   |  -  |  -   |     -     |    1     |     1      |
| eg_intr_md.egress_cos  | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
---------------------------------------------------------------------------------------------

min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 3
MAU containers available:
  8-bit: 48
  16-bit: 80
  32-bit: 48
Tagalong containers available:
  8-bit: 22
  16-bit: 34
  32-bit: 20
Initial packing options: 3

Packing option 1:  [16, 8]
MAU containers after:
  8-bit: 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: 22
  16-bit: 34
  32-bit: 20
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 phv334[15:7] for packet_out_hdr.egress_port[8:0]
***Allocating phv334[6:0] for packet_out_hdr._padding[6:0]
Packing options tried: 1
Packing options skipped: 0

Working on parse node start (1) ()
Working on parse node default_parser (3) ()
Working on parse node --ingress-- (0) ()
Working on parse node start (1) ()
Working on parse node default_parser (3) ()
Working on parse node egress_for_mirror_buffer (10) ()
Working on parse node --egress-- (0) ()

After allocating critical parse paths:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
| (container bit widths) |     (% used)    |   (% used)   |                |
-----------------------------------------------------------------------------
|         0 (32)         |    6 (37.50%)   | 192 (37.50%) |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    6 (9.38%)    | 192 (9.38%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    4 (25.00%)   | 32 (25.00%)  |      128       |
|         5 (8)          |    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     |    5 (7.81%)    |  40 (7.81%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    6 (37.50%)   | 96 (37.50%)  |      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    |    7 (7.29%)    | 112 (7.29%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   11 (68.75%)   | 352 (68.75%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   11 (34.38%)   | 352 (34.38%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |    8 (50.00%)   | 64 (50.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    8 (25.00%)   | 64 (25.00%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   13 (81.25%)   | 208 (81.25%) |      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    |   13 (27.08%)   | 208 (27.08%) |      768       |
|                        |                 |              |                |
|       MAU total        |    18 (8.04%)   | 344 (8.40%)  |      4096      |
|     Tagalong total     |   32 (28.57%)   | 624 (30.47%) |      2048      |
|     Overall total      |   50 (14.88%)   | 968 (15.76%) |      6144      |
-----------------------------------------------------------------------------

>>Event 'pa_overlay' at time 1505307473.24
   Took 9.06 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: 44
  16-bit: 73
  32-bit: 42
Packing options: 2
Initial packing options: 2

Packing option 0:  [16]
>>Can pack using [16] if open up 0 new containers.
Packing options tried: 1
Packing options skipped: 0
Trying to place using best packing [16]
***Allocating phv129[15:7] for packet_in_hdr.ingress_port[8:0]
***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
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: 44
  16-bit: 73
  32-bit: 42
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 phv289[7:0] for udp.srcPort[15:8]
***Allocating phv65[7:0] for udp.srcPort[7:0]
***Allocating phv322[15:0] for udp.dstPort[15:0]
***Allocating phv257[31:16] for udp.length_[15:0]
***Allocating phv257[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 phv294[7:0] for udp.srcPort[15:8]
***Allocating phv295[7:0] for udp.srcPort[7:0]
***Allocating phv329[15:0] for udp.dstPort[15:0]
***Allocating phv263[31:16] for udp.length_[15:0]
***Allocating phv263[15:0] for udp.checksum[15:0]
Working on parse node parse_pkt_in (2) (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 phv334[15:7] for packet_in_hdr.ingress_port[8:0]
***Allocating phv334[6:0] for packet_in_hdr._padding[6:0]

After allocating remaining parse nodes:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
| (container bit widths) |     (% used)    |   (% used)   |                |
-----------------------------------------------------------------------------
|         0 (32)         |    6 (37.50%)   | 192 (37.50%) |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    6 (9.38%)    | 192 (9.38%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    4 (25.00%)   | 32 (25.00%)  |      128       |
|         5 (8)          |    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     |    5 (7.81%)    |  40 (7.81%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    6 (37.50%)   | 96 (37.50%)  |      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    |    7 (7.29%)    | 112 (7.29%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   11 (68.75%)   | 352 (68.75%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   11 (34.38%)   | 352 (34.38%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |    8 (50.00%)   | 64 (50.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    8 (25.00%)   | 64 (25.00%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   13 (81.25%)   | 208 (81.25%) |      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    |   13 (27.08%)   | 208 (27.08%) |      768       |
|                        |                 |              |                |
|       MAU total        |    18 (8.04%)   | 344 (8.40%)  |      4096      |
|     Tagalong total     |   32 (28.57%)   | 624 (30.47%) |      2048      |
|     Overall total      |   50 (14.88%)   | 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 1505307473.75
   Took 0.51 seconds

-----------------------------------------------
  Allocating metadata (pass 1)
-----------------------------------------------
Allocation Step
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md.resubmit_flag (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad1 (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad2 (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad3 (ingress) will require table injection to initialize.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
Total metadata field instances to allocate: 4  / 44 bits (44 ingress bits and 0 egress bits)
Promised metadata field instances to allocate: 1 / 9 bits (9 ingress bits and 0 egress bits)
     0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=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)         |    6 (37.50%)   | 192 (37.50%) |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    6 (9.38%)    | 192 (9.38%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    4 (25.00%)   | 32 (25.00%)  |      128       |
|         5 (8)          |    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     |    5 (7.81%)    |  40 (7.81%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    7 (43.75%)   | 105 (41.02%) |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    8 (8.33%)    | 121 (7.88%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   11 (68.75%)   | 352 (68.75%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   11 (34.38%)   | 352 (34.38%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |    8 (50.00%)   | 64 (50.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    8 (25.00%)   | 64 (25.00%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   13 (81.25%)   | 208 (81.25%) |      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    |   13 (27.08%)   | 208 (27.08%) |      768       |
|                        |                 |              |                |
|       MAU total        |    19 (8.48%)   | 353 (8.62%)  |      4096      |
|     Tagalong total     |   32 (28.57%)   | 624 (30.47%) |      2048      |
|     Overall total      |   51 (15.18%)   | 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 1505307473.85
   Took 0.10 seconds

-----------------------------------------------
  Allocating POV
-----------------------------------------------
Allocation Step
Allocation state: Final Allocation
-----------------------------------------------------------------------------
|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
| (container bit widths) |     (% used)    |   (% used)   |                |
-----------------------------------------------------------------------------
|         0 (32)         |    6 (37.50%)   | 192 (37.50%) |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    6 (9.38%)    | 192 (9.38%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    4 (25.00%)   | 32 (25.00%)  |      128       |
|         5 (8)          |    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     |    5 (7.81%)    |  40 (7.81%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    7 (43.75%)   | 105 (41.02%) |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    8 (8.33%)    | 121 (7.88%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   11 (68.75%)   | 352 (68.75%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   11 (34.38%)   | 352 (34.38%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |    8 (50.00%)   | 64 (50.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    8 (25.00%)   | 64 (25.00%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   13 (81.25%)   | 208 (81.25%) |      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    |   13 (27.08%)   | 208 (27.08%) |      768       |
|                        |                 |              |                |
|       MAU total        |    19 (8.48%)   | 353 (8.62%)  |      4096      |
|     Tagalong total     |   32 (28.57%)   | 624 (30.47%) |      2048      |
|     Overall total      |   51 (15.18%)   | 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 191 / partial 1

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

Working on
--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
  Already allocated.

Working on
--validity_check--ethernet <1 bits ingress parsed pov>
  Already allocated.

Working on
--validity_check--ipv4 <1 bits ingress parsed pov>
  Already allocated.

Working on
--validity_check--tcp <1 bits ingress parsed pov>
  Already allocated.

Working on
--validity_check--udp <1 bits ingress parsed pov>
  Already allocated.

Working on
--validity_check--metadata_bridge <1 bits ingress parsed pov>
  Already allocated.

Working on
--validity_check--packet_in_hdr <1 bits egress parsed pov>
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 198 / 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
    phv68 (8 bits)
  >> 8 total bits
 egress
    phv81 (8 bits)
  >> 8 total bits
>>Event 'pa_meta2' at time 1505307473.97
   Took 0.12 seconds

-----------------------------------------------
  Allocating metadata (pass 2)
-----------------------------------------------
Allocation Step
Total metadata field instances to allocate: 3  / 35 bits (35 ingress bits and 0 egress bits)
Promised metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
Allocation state after promised meta allocated:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
|       PHV Group        | Containers Used |  Bits Used   | Bits Available |
| (container bit widths) |     (% used)    |   (% used)   |                |
-----------------------------------------------------------------------------
|         0 (32)         |    6 (37.50%)   | 192 (37.50%) |      512       |
|         1 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         2 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|         3 (32)         |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |    6 (9.38%)    | 192 (9.38%)  |      2048      |
|                        |                 |              |                |
|         4 (8)          |    5 (31.25%)   | 39 (30.47%)  |      128       |
|         5 (8)          |    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     |    7 (10.94%)   | 53 (10.35%)  |      512       |
|                        |                 |              |                |
|         8 (16)         |    7 (43.75%)   | 105 (41.02%) |      256       |
|         9 (16)         |    1 (6.25%)    |  16 (6.25%)  |      256       |
|        10 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        11 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        12 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|        13 (16)         |    0 (0.00%)    |  0 (0.00%)   |      256       |
|    Total for 16 bit    |    8 (8.33%)    | 121 (7.88%)  |      1536      |
|                        |                 |              |                |
|       14 (32) T        |   11 (68.75%)   | 352 (68.75%) |      512       |
|       15 (32) T        |    0 (0.00%)    |  0 (0.00%)   |      512       |
|    Total for 32 bit    |   11 (34.38%)   | 352 (34.38%) |      1024      |
|                        |                 |              |                |
|        16 (8) T        |    8 (50.00%)   | 64 (50.00%)  |      128       |
|        17 (8) T        |    0 (0.00%)    |  0 (0.00%)   |      128       |
|    Total for 8 bit     |    8 (25.00%)   | 64 (25.00%)  |      256       |
|                        |                 |              |                |
|       18 (16) T        |   13 (81.25%)   | 208 (81.25%) |      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    |   13 (27.08%)   | 208 (27.08%) |      768       |
|                        |                 |              |                |
|       MAU total        |    21 (9.38%)   | 366 (8.94%)  |      4096      |
|     Tagalong total     |   32 (28.57%)   | 624 (30.47%) |      2048      |
|     Overall total      |   53 (15.77%)   | 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: 3 / 35 bits (35 ingress bits and 0 egress bits)
     0: ecmp_metadata.group_id (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
     1: ecmp_metadata.selector (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
     2: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=2, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=0, latest_use=12)

---------------------------------------
Working on:
ecmp_metadata.group_id <16 bits ingress meta R W>
max_split = None, adj = None
Of remaining metadata fields to allocate
   max_overlay = 0 (0 bits)
   max_share = 1 (3 bits)
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
  ecmp_metadata.group_id [15:0]
---------------------------------------------------------------------------------------------
|          Name          | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
| ecmp_metadata.group_id | 16 |   False   |  -  |  -   |     -     |   None   |     1      |
---------------------------------------------------------------------------------------------

  req packing: [None]
  disallowed packing: [None]
  Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv6 -- fails False
  Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
  Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
  Group 4 8 bits -- avail 11 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 6 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 7 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 8 16 bits -- avail 9 and promised 1 -- ingress promised 1 and remain 8 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv135 -- fails False
  Group 9 16 bits -- avail 15 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
  Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
  Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
  Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
Metadata instance: ecmp_metadata.group_id <16 bits ingress meta R W>
>>req_alignment = None
>>allowed_container_start_bits = None
>>req_container = None
***Allocating phv135[15:0] for ecmp_metadata.group_id[15:0]

---------------------------------------
Working on:
ecmp_metadata.selector <16 bits ingress meta R W>
max_split = None, adj = None
Of remaining metadata fields to allocate
   max_overlay = 0 (0 bits)
   max_share = 1 (3 bits)
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
  ecmp_metadata.selector [15:0]
---------------------------------------------------------------------------------------------
|          Name          | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
| ecmp_metadata.selector | 16 |   False   |  -  |  -   |     -     |   None   |     1      |
---------------------------------------------------------------------------------------------

  req packing: [None]
  disallowed packing: [None]
  Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv6 -- fails False
  Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
  Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
  Group 4 8 bits -- avail 11 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 6 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 7 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 8 16 bits -- avail 8 and promised 1 -- ingress promised 1 and remain 7 and req 0 -- egress promised 0 and remain 7 and req 0 -- as if deparsed False -- container_to_use phv136 -- 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 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
  Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
  Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
  Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
Metadata instance: ecmp_metadata.selector <16 bits ingress meta R W>
>>req_alignment = None
>>allowed_container_start_bits = None
>>req_container = None
***Allocating phv136[15:0] for ecmp_metadata.selector[15:0]

---------------------------------------
Working on:
ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
max_split = 1, adj = False
Of remaining metadata fields to allocate
   max_overlay = 0 (0 bits)
   max_share = 0 (0 bits)
bits_will_need_to_parse = 3
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 8
Parse state 0 (3 bits)
  ig_intr_md_for_tm.drop_ctl [2:0]
-------------------------------------------------------------------------------------------------
|            Name            | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------------------
| ig_intr_md_for_tm.drop_ctl | 3  |   False   |  -  |  -   |     -     |    1     |     1      |
-------------------------------------------------------------------------------------------------

  req packing: [None]
  disallowed packing: [None]
  Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv6 -- fails False
  Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
  Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv32 -- fails False
  Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv48 -- fails False
  Group 4 8 bits -- avail 11 and promised 1 -- ingress promised 1 and remain 10 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv69 -- fails False
  Group 5 8 bits -- avail 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 7 and promised 1 -- ingress promised 1 and remain 6 and req 1 -- egress promised 0 and remain 0 and req 0 -- as if deparsed True -- container_to_use phv137 -- 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 phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
>>Event 'pa_meta_init' at time 1505307474.14
   Took 0.16 seconds

-----------------------------------------------
  Adding metadata initialization
-----------------------------------------------

+------------------------+

Performing inject metadata initialization instructions: (0)
tbl_name_to_common_edge_groups: 0
all_edge: 0

Performing replace metadata initialization instructions: (0)

Performing remove metadata initialization instructions: (0)

Performing clear metadata initialization instructions: (0)

Performing invalidate metadata initialization instructions: (0)

 Total overlay containers examined for initialization: 0

-----------------------------------------------
  Checking constraints satisfied
-----------------------------------------------
  No constraints violated.
