Support for Tofino pipeconfs in ECMP app
Change-Id: I34c16f5f349c480f53b1bfc6a1fd91ec5a328ee3
diff --git a/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
new file mode 100644
index 0000000..b6941b9
--- /dev/null
+++ b/tools/test/p4src/p4-14/p4c-out/tofino/ecmp/mavericks/logs/pa.log
@@ -0,0 +1,3466 @@
++---------------------------------------------------------------------+
+| Log file: pa.log |
+| Compiler version: 5.1.0 (fca32d1) |
+| Created on: Thu Sep 7 14:48:49 2017 |
++---------------------------------------------------------------------+
+
+HLIR Version: 0.10.5
+PHV container sizes are: [8, 16, 32]
+Parser state extraction bandwidth: 224
+ 8-bit: 4 extracts
+ 16-bit: 4 extracts
+ 32-bit: 4 extracts
+Free containers to start for 8 bits:
+ Group 4 8 bits has 16 available
+ Group 5 8 bits has 16 available
+ Group 6 8 bits has 16 available
+ Group 7 8 bits has 16 available
+ Group 16 8 bits (tagalong) has 16 available
+ Group 17 8 bits (tagalong) has 16 available
+Free containers to start for 16 bits:
+ Group 8 16 bits has 16 available
+ Group 9 16 bits has 16 available
+ Group 10 16 bits has 16 available
+ Group 11 16 bits has 16 available
+ Group 12 16 bits has 16 available
+ Group 13 16 bits has 16 available
+ Group 18 16 bits (tagalong) has 16 available
+ Group 19 16 bits (tagalong) has 16 available
+ Group 20 16 bits (tagalong) has 16 available
+Free containers to start for 32 bits:
+ Group 0 32 bits has 16 available
+ Group 1 32 bits has 16 available
+ Group 2 32 bits has 16 available
+ Group 3 32 bits has 16 available
+ Group 14 32 bits (tagalong) has 16 available
+ Group 15 32 bits (tagalong) has 16 available
+
+
+Initializing PHV allocation...
+Ingress intrinsic metadata fields branch on includes:
+ ig_intr_md.ingress_port
+
+-----------------------------------------------
+ User added PHV constraints
+-----------------------------------------------
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
+
+-----------------------------------------------
+ Scanning for field list calculations
+-----------------------------------------------
+
+-----------------------------------------------
+ Eliminating unused metadata (99 instances)
+-----------------------------------------------
+Removing standard_metadata.ingress_port in ingress
+Removing standard_metadata.packet_length in ingress
+Removing standard_metadata.egress_spec in ingress
+Removing standard_metadata.egress_port in ingress
+Removing standard_metadata.egress_instance in ingress
+Removing standard_metadata.instance_type in ingress
+Removing standard_metadata.clone_spec in ingress
+Removing standard_metadata._padding in ingress
+Removing standard_metadata.valid in ingress
+Removing ig_intr_md.ingress_mac_tstamp in ingress
+Removing ig_intr_md.valid in ingress
+Removing ig_intr_md_for_tm._pad1 in ingress
+Removing ig_intr_md_for_tm.bypass_egress in ingress
+Removing ig_intr_md_for_tm.deflect_on_drop in ingress
+Removing ig_intr_md_for_tm.ingress_cos in ingress
+Removing ig_intr_md_for_tm.qid in ingress
+Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
+Removing ig_intr_md_for_tm._pad2 in ingress
+Removing ig_intr_md_for_tm.packet_color in ingress
+Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
+Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
+Removing ig_intr_md_for_tm.mcast_grp_a in ingress
+Removing ig_intr_md_for_tm.mcast_grp_b in ingress
+Removing ig_intr_md_for_tm._pad3 in ingress
+Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
+Removing ig_intr_md_for_tm._pad4 in ingress
+Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
+Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
+Removing ig_intr_md_for_tm._pad5 in ingress
+Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
+Removing ig_intr_md_for_tm.rid in ingress
+Removing ig_intr_md_for_tm.valid in ingress
+Removing ig_intr_md_for_mb._pad1 in ingress
+Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
+Removing ig_intr_md_for_mb.valid in ingress
+Removing eg_intr_md._pad0 in ingress
+Removing eg_intr_md.egress_port in ingress
+Removing eg_intr_md._pad1 in ingress
+Removing eg_intr_md.enq_qdepth in ingress
+Removing eg_intr_md._pad2 in ingress
+Removing eg_intr_md.enq_congest_stat in ingress
+Removing eg_intr_md.enq_tstamp in ingress
+Removing eg_intr_md._pad3 in ingress
+Removing eg_intr_md.deq_qdepth in ingress
+Removing eg_intr_md._pad4 in ingress
+Removing eg_intr_md.deq_congest_stat in ingress
+Removing eg_intr_md.app_pool_congest_stat in ingress
+Removing eg_intr_md.deq_timedelta in ingress
+Removing eg_intr_md.egress_rid in ingress
+Removing eg_intr_md._pad5 in ingress
+Removing eg_intr_md.egress_rid_first in ingress
+Removing eg_intr_md._pad6 in ingress
+Removing eg_intr_md.egress_qid in ingress
+Removing eg_intr_md._pad7 in ingress
+Removing eg_intr_md.egress_cos in ingress
+Removing eg_intr_md._pad8 in ingress
+Removing eg_intr_md.deflection_flag in ingress
+Removing eg_intr_md.pkt_length in ingress
+Removing eg_intr_md.valid in ingress
+Removing eg_intr_md_for_mb._pad1 in ingress
+Removing eg_intr_md_for_mb.egress_mirror_id in ingress
+Removing eg_intr_md_for_mb.coalesce_flush in ingress
+Removing eg_intr_md_for_mb.coalesce_length in ingress
+Removing eg_intr_md_for_mb.valid in ingress
+Removing eg_intr_md_for_oport._pad1 in ingress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
+Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
+Removing eg_intr_md_for_oport.force_tx_error in ingress
+Removing eg_intr_md_for_oport.drop_ctl in ingress
+Removing eg_intr_md_for_oport.valid in ingress
+Removing ecmp_metadata.valid in ingress
+Removing eg_intr_md._pad1 in egress
+Removing eg_intr_md.enq_qdepth in egress
+Removing eg_intr_md._pad2 in egress
+Removing eg_intr_md.enq_congest_stat in egress
+Removing eg_intr_md.enq_tstamp in egress
+Removing eg_intr_md._pad3 in egress
+Removing eg_intr_md.deq_qdepth in egress
+Removing eg_intr_md._pad4 in egress
+Removing eg_intr_md.deq_congest_stat in egress
+Removing eg_intr_md.app_pool_congest_stat in egress
+Removing eg_intr_md.deq_timedelta in egress
+Removing eg_intr_md.egress_rid in egress
+Removing eg_intr_md._pad5 in egress
+Removing eg_intr_md.egress_rid_first in egress
+Removing eg_intr_md._pad6 in egress
+Removing eg_intr_md.egress_qid in egress
+Removing eg_intr_md._pad8 in egress
+Removing eg_intr_md.deflection_flag in egress
+Removing eg_intr_md.pkt_length in egress
+Removing eg_intr_md_for_oport._pad1 in egress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
+Removing eg_intr_md_for_oport.update_delay_on_tx in egress
+Removing eg_intr_md_for_oport.force_tx_error in egress
+Removing eg_intr_md_for_oport.drop_ctl in egress
+Removing eg_intr_md_for_mb._pad1 in egress
+Removing eg_intr_md_for_mb.egress_mirror_id in egress
+Removing eg_intr_md_for_mb.coalesce_flush in egress
+Removing eg_intr_md_for_mb.coalesce_length in egress
+
+-----------------------------------------------
+ Eliminating unused packet fields (6 instances)
+-----------------------------------------------
+Removing packet_in_hdr.valid in ingress
+Removing packet_out_hdr.valid in ingress
+Removing ethernet.valid in ingress
+Removing ipv4.valid in ingress
+Removing tcp.valid in ingress
+Removing udp.valid in ingress
+
+--------------------------------------------
+ ingress field instance bit width histogram
+--------------------------------------------
+ Total fields: 51
+ Max value: 15
+
+ 1 : xxxxxxxxxx (10)
+ 2 : x (1)
+ 3 : xxxxx (5)
+ 4 : xxx (3)
+ 6 : x (1)
+ 7 : xx (2)
+ 8 : xxx (3)
+ 9 : xxxx (4)
+ 13 : x (1)
+ 16 : xxxxxxxxxxxxxxx (15)
+ 32 : xxxx (4)
+ 48 : xx (2)
+
+--------------------------------------------
+ egress field instance bit width histogram
+--------------------------------------------
+ Total fields: 46
+ Max value: 13
+
+ 1 : xxxxxxx (7)
+ 3 : xxxx (4)
+ 4 : xxx (3)
+ 5 : x (1)
+ 6 : x (1)
+ 7 : xxx (3)
+ 8 : xxx (3)
+ 9 : xxxx (4)
+ 13 : x (1)
+ 16 : xxxxxxxxxxxxx (13)
+ 32 : xxxx (4)
+ 48 : xx (2)
+
+HLIR Version: 0.10.5
+PHV container sizes are: [8, 16, 32]
+Parser state extraction bandwidth: 224
+ 8-bit: 4 extracts
+ 16-bit: 4 extracts
+ 32-bit: 4 extracts
+Free containers to start for 8 bits:
+ Group 4 8 bits has 16 available
+ Group 5 8 bits has 16 available
+ Group 6 8 bits has 16 available
+ Group 7 8 bits has 16 available
+ Group 16 8 bits (tagalong) has 16 available
+ Group 17 8 bits (tagalong) has 16 available
+Free containers to start for 16 bits:
+ Group 8 16 bits has 16 available
+ Group 9 16 bits has 16 available
+ Group 10 16 bits has 16 available
+ Group 11 16 bits has 16 available
+ Group 12 16 bits has 16 available
+ Group 13 16 bits has 16 available
+ Group 18 16 bits (tagalong) has 16 available
+ Group 19 16 bits (tagalong) has 16 available
+ Group 20 16 bits (tagalong) has 16 available
+Free containers to start for 32 bits:
+ Group 0 32 bits has 16 available
+ Group 1 32 bits has 16 available
+ Group 2 32 bits has 16 available
+ Group 3 32 bits has 16 available
+ Group 14 32 bits (tagalong) has 16 available
+ Group 15 32 bits (tagalong) has 16 available
+
+
+Initializing PHV allocation...
+Ingress intrinsic metadata fields branch on includes:
+ ig_intr_md.ingress_port
+
+-----------------------------------------------
+ User added PHV constraints
+-----------------------------------------------
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
+User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
+
+-----------------------------------------------
+ Scanning for field list calculations
+-----------------------------------------------
+
+-----------------------------------------------
+ Eliminating unused metadata (99 instances)
+-----------------------------------------------
+Removing standard_metadata.ingress_port in ingress
+Removing standard_metadata.packet_length in ingress
+Removing standard_metadata.egress_spec in ingress
+Removing standard_metadata.egress_port in ingress
+Removing standard_metadata.egress_instance in ingress
+Removing standard_metadata.instance_type in ingress
+Removing standard_metadata.clone_spec in ingress
+Removing standard_metadata._padding in ingress
+Removing standard_metadata.valid in ingress
+Removing ig_intr_md.ingress_mac_tstamp in ingress
+Removing ig_intr_md.valid in ingress
+Removing ig_intr_md_for_tm._pad1 in ingress
+Removing ig_intr_md_for_tm.bypass_egress in ingress
+Removing ig_intr_md_for_tm.deflect_on_drop in ingress
+Removing ig_intr_md_for_tm.ingress_cos in ingress
+Removing ig_intr_md_for_tm.qid in ingress
+Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
+Removing ig_intr_md_for_tm._pad2 in ingress
+Removing ig_intr_md_for_tm.packet_color in ingress
+Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
+Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
+Removing ig_intr_md_for_tm.mcast_grp_a in ingress
+Removing ig_intr_md_for_tm.mcast_grp_b in ingress
+Removing ig_intr_md_for_tm._pad3 in ingress
+Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
+Removing ig_intr_md_for_tm._pad4 in ingress
+Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
+Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
+Removing ig_intr_md_for_tm._pad5 in ingress
+Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
+Removing ig_intr_md_for_tm.rid in ingress
+Removing ig_intr_md_for_tm.valid in ingress
+Removing ig_intr_md_for_mb._pad1 in ingress
+Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
+Removing ig_intr_md_for_mb.valid in ingress
+Removing eg_intr_md._pad0 in ingress
+Removing eg_intr_md.egress_port in ingress
+Removing eg_intr_md._pad1 in ingress
+Removing eg_intr_md.enq_qdepth in ingress
+Removing eg_intr_md._pad2 in ingress
+Removing eg_intr_md.enq_congest_stat in ingress
+Removing eg_intr_md.enq_tstamp in ingress
+Removing eg_intr_md._pad3 in ingress
+Removing eg_intr_md.deq_qdepth in ingress
+Removing eg_intr_md._pad4 in ingress
+Removing eg_intr_md.deq_congest_stat in ingress
+Removing eg_intr_md.app_pool_congest_stat in ingress
+Removing eg_intr_md.deq_timedelta in ingress
+Removing eg_intr_md.egress_rid in ingress
+Removing eg_intr_md._pad5 in ingress
+Removing eg_intr_md.egress_rid_first in ingress
+Removing eg_intr_md._pad6 in ingress
+Removing eg_intr_md.egress_qid in ingress
+Removing eg_intr_md._pad7 in ingress
+Removing eg_intr_md.egress_cos in ingress
+Removing eg_intr_md._pad8 in ingress
+Removing eg_intr_md.deflection_flag in ingress
+Removing eg_intr_md.pkt_length in ingress
+Removing eg_intr_md.valid in ingress
+Removing eg_intr_md_for_mb._pad1 in ingress
+Removing eg_intr_md_for_mb.egress_mirror_id in ingress
+Removing eg_intr_md_for_mb.coalesce_flush in ingress
+Removing eg_intr_md_for_mb.coalesce_length in ingress
+Removing eg_intr_md_for_mb.valid in ingress
+Removing eg_intr_md_for_oport._pad1 in ingress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
+Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
+Removing eg_intr_md_for_oport.force_tx_error in ingress
+Removing eg_intr_md_for_oport.drop_ctl in ingress
+Removing eg_intr_md_for_oport.valid in ingress
+Removing ecmp_metadata.valid in ingress
+Removing eg_intr_md._pad1 in egress
+Removing eg_intr_md.enq_qdepth in egress
+Removing eg_intr_md._pad2 in egress
+Removing eg_intr_md.enq_congest_stat in egress
+Removing eg_intr_md.enq_tstamp in egress
+Removing eg_intr_md._pad3 in egress
+Removing eg_intr_md.deq_qdepth in egress
+Removing eg_intr_md._pad4 in egress
+Removing eg_intr_md.deq_congest_stat in egress
+Removing eg_intr_md.app_pool_congest_stat in egress
+Removing eg_intr_md.deq_timedelta in egress
+Removing eg_intr_md.egress_rid in egress
+Removing eg_intr_md._pad5 in egress
+Removing eg_intr_md.egress_rid_first in egress
+Removing eg_intr_md._pad6 in egress
+Removing eg_intr_md.egress_qid in egress
+Removing eg_intr_md._pad8 in egress
+Removing eg_intr_md.deflection_flag in egress
+Removing eg_intr_md.pkt_length in egress
+Removing eg_intr_md_for_oport._pad1 in egress
+Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
+Removing eg_intr_md_for_oport.update_delay_on_tx in egress
+Removing eg_intr_md_for_oport.force_tx_error in egress
+Removing eg_intr_md_for_oport.drop_ctl in egress
+Removing eg_intr_md_for_mb._pad1 in egress
+Removing eg_intr_md_for_mb.egress_mirror_id in egress
+Removing eg_intr_md_for_mb.coalesce_flush in egress
+Removing eg_intr_md_for_mb.coalesce_length in egress
+
+-----------------------------------------------
+ Eliminating unused packet fields (6 instances)
+-----------------------------------------------
+Removing packet_in_hdr.valid in ingress
+Removing packet_out_hdr.valid in ingress
+Removing ethernet.valid in ingress
+Removing ipv4.valid in ingress
+Removing tcp.valid in ingress
+Removing udp.valid in ingress
+
+--------------------------------------------
+ ingress field instance bit width histogram
+--------------------------------------------
+ Total fields: 51
+ Max value: 15
+
+ 1 : xxxxxxxxxx (10)
+ 2 : x (1)
+ 3 : xxxxx (5)
+ 4 : xxx (3)
+ 6 : x (1)
+ 7 : xx (2)
+ 8 : xxx (3)
+ 9 : xxxx (4)
+ 13 : x (1)
+ 16 : xxxxxxxxxxxxxxx (15)
+ 32 : xxxx (4)
+ 48 : xx (2)
+
+--------------------------------------------
+ egress field instance bit width histogram
+--------------------------------------------
+ Total fields: 46
+ Max value: 13
+
+ 1 : xxxxxxx (7)
+ 3 : xxxx (4)
+ 4 : xxx (3)
+ 5 : x (1)
+ 6 : x (1)
+ 7 : xxx (3)
+ 8 : xxx (3)
+ 9 : xxxx (4)
+ 13 : x (1)
+ 16 : xxxxxxxxxxxxx (13)
+ 32 : xxxx (4)
+ 48 : xx (2)
+
+---------------------------------------------------------------------------------------------------------------------------------
+| Field Name | Bit Width | Direction | Parsed? | Deparsed? | Metadata? | Read in MAU? | Write in MAU? |
+---------------------------------------------------------------------------------------------------------------------------------
+| --validity_check--ethernet | 1 | egress | x | x | | | |
+| --validity_check--ipv4 | 1 | egress | x | x | | | |
+| --validity_check--packet_in_hdr | 1 | egress | x | x | | | x |
+| --validity_check--packet_out_hdr | 1 | egress | x | x | | | |
+| --validity_check--tcp | 1 | egress | x | x | | | |
+| --validity_check--udp | 1 | egress | x | x | | | |
+| eg_intr_md._pad0 | 7 | egress | x | | x | | |
+| eg_intr_md._pad7 | 5 | egress | x | | x | | |
+| eg_intr_md.egress_cos | 3 | egress | x | x | x | | |
+| eg_intr_md.egress_port | 9 | egress | x | x | x | | |
+| ethernet.dstAddr | 48 | egress | x | x | | | |
+| ethernet.etherType | 16 | egress | x | x | | | |
+| ethernet.srcAddr | 48 | egress | x | x | | | |
+| ig_intr_md.ingress_port | 9 | egress | x | | x | x | |
+| ig_intr_md_for_tm.copy_to_cpu | 1 | egress | x | | x | x | |
+| ipv4.diffserv | 8 | egress | x | x | | | |
+| ipv4.dstAddr | 32 | egress | x | x | | | |
+| ipv4.flags | 3 | egress | x | x | | | |
+| ipv4.fragOffset | 13 | egress | x | x | | | |
+| ipv4.hdrChecksum | 16 | egress | x | x | | | |
+| ipv4.identification | 16 | egress | x | x | | | |
+| ipv4.ihl | 4 | egress | x | x | | | |
+| ipv4.protocol | 8 | egress | x | x | | | |
+| ipv4.srcAddr | 32 | egress | x | x | | | |
+| ipv4.totalLen | 16 | egress | x | x | | | |
+| ipv4.ttl | 8 | egress | x | x | | | |
+| ipv4.version | 4 | egress | x | x | | | |
+| packet_in_hdr._padding | 7 | egress | x | x | | | |
+| packet_in_hdr.ingress_port | 9 | egress | x | x | | | x |
+| packet_out_hdr._padding | 7 | egress | x | x | | | |
+| packet_out_hdr.egress_port | 9 | egress | x | x | | | |
+| tcp.ackNo | 32 | egress | x | x | | | |
+| tcp.checksum | 16 | egress | x | x | | | |
+| tcp.ctrl | 6 | egress | x | x | | | |
+| tcp.dataOffset | 4 | egress | x | x | | | |
+| tcp.dstPort | 16 | egress | x | x | | | |
+| tcp.ecn | 3 | egress | x | x | | | |
+| tcp.res | 3 | egress | x | x | | | |
+| tcp.seqNo | 32 | egress | x | x | | | |
+| tcp.srcPort | 16 | egress | x | x | | | |
+| tcp.urgentPtr | 16 | egress | x | x | | | |
+| tcp.window | 16 | egress | x | x | | | |
+| udp.checksum | 16 | egress | x | x | | | |
+| udp.dstPort | 16 | egress | x | x | | | |
+| udp.length_ | 16 | egress | x | x | | | |
+| udp.srcPort | 16 | egress | x | x | | | |
+| --validity_check--ethernet | 1 | ingress | x | x | | | |
+| --validity_check--ipv4 | 1 | ingress | x | x | | | |
+| --validity_check--metadata_bridge | 1 | ingress | x | x | | | |
+| --validity_check--packet_in_hdr | 1 | ingress | x | x | | | |
+| --validity_check--packet_out_hdr | 1 | ingress | x | x | | x | x |
+| --validity_check--tcp | 1 | ingress | x | x | | | |
+| --validity_check--udp | 1 | ingress | x | x | | | |
+| ecmp_metadata.groupId | 16 | ingress | | | x | x | x |
+| ecmp_metadata.selector | 16 | ingress | | | x | x | x |
+| ethernet.dstAddr | 48 | ingress | x | x | | x | |
+| ethernet.etherType | 16 | ingress | x | x | | x | |
+| ethernet.srcAddr | 48 | ingress | x | x | | x | |
+| ig_intr_md._pad1 | 1 | ingress | x | | x | | |
+| ig_intr_md._pad2 | 2 | ingress | x | | x | | |
+| ig_intr_md._pad3 | 3 | ingress | x | | x | | |
+| ig_intr_md.ingress_port | 9 | ingress | x | x | x | x | |
+| ig_intr_md.resubmit_flag | 1 | ingress | x | | x | | |
+| ig_intr_md_for_tm.copy_to_cpu | 1 | ingress | | x | x | | x |
+| ig_intr_md_for_tm.drop_ctl | 3 | ingress | | x | x | | x |
+| ig_intr_md_for_tm.ucast_egress_port | 9 | ingress | | x | x | x | x |
+| ipv4.diffserv | 8 | ingress | x | x | | | |
+| ipv4.dstAddr | 32 | ingress | x | x | | x | |
+| ipv4.flags | 3 | ingress | x | x | | | |
+| ipv4.fragOffset | 13 | ingress | x | x | | | |
+| ipv4.hdrChecksum | 16 | ingress | x | x | | | |
+| ipv4.identification | 16 | ingress | x | x | | | |
+| ipv4.ihl | 4 | ingress | x | x | | | |
+| ipv4.protocol | 8 | ingress | x | x | | | |
+| ipv4.srcAddr | 32 | ingress | x | x | | x | |
+| ipv4.totalLen | 16 | ingress | x | x | | | |
+| ipv4.ttl | 8 | ingress | x | x | | | |
+| ipv4.version | 4 | ingress | x | x | | | |
+| packet_in_hdr._padding | 7 | ingress | x | x | | | |
+| packet_in_hdr.ingress_port | 9 | ingress | x | x | | | |
+| packet_out_hdr._padding | 7 | ingress | x | x | | | |
+| packet_out_hdr.egress_port | 9 | ingress | x | x | | x | |
+| tcp.ackNo | 32 | ingress | x | x | | | |
+| tcp.checksum | 16 | ingress | x | x | | | |
+| tcp.ctrl | 6 | ingress | x | x | | | |
+| tcp.dataOffset | 4 | ingress | x | x | | | |
+| tcp.dstPort | 16 | ingress | x | x | | | |
+| tcp.ecn | 3 | ingress | x | x | | | |
+| tcp.res | 3 | ingress | x | x | | | |
+| tcp.seqNo | 32 | ingress | x | x | | | |
+| tcp.srcPort | 16 | ingress | x | x | | | |
+| tcp.urgentPtr | 16 | ingress | x | x | | | |
+| tcp.window | 16 | ingress | x | x | | | |
+| udp.checksum | 16 | ingress | x | x | | | |
+| udp.dstPort | 16 | ingress | x | x | | x | |
+| udp.length_ | 16 | ingress | x | x | | | |
+| udp.srcPort | 16 | ingress | x | x | | x | |
+---------------------------------------------------------------------------------------------------------------------------------
+
+Performing PHV allocation...
+ingress_parser critical path: 464 bits
+ start of 0 bits
+ ingress_intrinsic_metadata of 16 bits
+ default_parser of 0 bits
+ parse_pkt_out of 16 bits
+ parse_ethernet of 112 bits
+ parse_ipv4 of 160 bits
+ parse_tcp of 160 bits
+ --ingress-- of 0 bits
+
+--------------------------------------
+ Exclusive parse states in ingress_parser
+--------------------------------------
+ parse_pkt_in and default_parser are exclusive parse states
+ parse_pkt_in and parse_pkt_out are exclusive parse states
+ parse_tcp and parse_udp are exclusive parse states
+
+egress_parser critical path: 472 bits
+ start of 0 bits
+ egress_intrinsic_metadata of 24 bits
+ default_parser of 0 bits
+ parse_pkt_out of 16 bits
+ parse_ethernet of 112 bits
+ parse_ipv4 of 160 bits
+ parse_tcp of 160 bits
+ egress_for_mirror_buffer of 0 bits
+ --egress-- of 0 bits
+
+--------------------------------------
+ Exclusive parse states in egress_parser
+--------------------------------------
+ parse_pkt_in and default_parser are exclusive parse states
+ parse_pkt_in and parse_pkt_out are exclusive parse states
+ parse_tcp and parse_udp are exclusive parse states
+
+>>Event 'pa_init' at time 1504795731.64
+ Took 0.01 seconds
+--------------------------------------------
+PHV MAU Groups: 95
+--------------------------------------------
+Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
+ ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
+ packet_out_hdr.egress_port <9 bits ingress parsed R>
+
+Phv Mau Group (egress) -- 2 instances for total bit width of 18.
+ packet_in_hdr.ingress_port <9 bits egress parsed W>
+ ig_intr_md.ingress_port <9 bits egress parsed imeta R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ ig_intr_md.resubmit_flag <1 bits ingress parsed imeta>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ ig_intr_md._pad1 <1 bits ingress parsed imeta>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 2.
+ ig_intr_md._pad2 <2 bits ingress parsed imeta>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+ ig_intr_md._pad3 <3 bits ingress parsed imeta>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 9.
+ ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+ ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ ig_intr_md_for_tm.copy_to_cpu <1 bits ingress imeta W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 9.
+ packet_in_hdr.ingress_port <9 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--packet_in_hdr <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
+ packet_in_hdr._padding <7 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
+ packet_out_hdr._padding <7 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
+ ethernet.dstAddr <48 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--ethernet <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
+ ethernet.srcAddr <48 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ ethernet.etherType <16 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
+ ipv4.version <4 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--ipv4 <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
+ ipv4.ihl <4 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
+ ipv4.diffserv <8 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ ipv4.totalLen <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ ipv4.identification <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+ ipv4.flags <3 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 13.
+ ipv4.fragOffset <13 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
+ ipv4.ttl <8 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
+ ipv4.protocol <8 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ ipv4.hdrChecksum <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+ ipv4.srcAddr <32 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+ ipv4.dstAddr <32 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ tcp.srcPort <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--tcp <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ tcp.dstPort <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+ tcp.seqNo <32 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
+ tcp.ackNo <32 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
+ tcp.dataOffset <4 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+ tcp.res <3 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
+ tcp.ecn <3 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 6.
+ tcp.ctrl <6 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ tcp.window <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ tcp.checksum <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ tcp.urgentPtr <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ udp.srcPort <16 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--udp <1 bits ingress parsed pov>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ udp.dstPort <16 bits ingress parsed R>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ udp.length_ <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ udp.checksum <16 bits ingress parsed tagalong>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ ecmp_metadata.groupId <16 bits ingress meta R W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
+ ecmp_metadata.selector <16 bits ingress meta R W>
+
+Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
+ --validity_check--metadata_bridge <1 bits ingress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ --validity_check--packet_in_hdr <1 bits egress parsed pov W>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 7.
+ packet_in_hdr._padding <7 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 9.
+ packet_out_hdr.egress_port <9 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ --validity_check--packet_out_hdr <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 7.
+ packet_out_hdr._padding <7 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 48.
+ ethernet.dstAddr <48 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ --validity_check--ethernet <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 48.
+ ethernet.srcAddr <48 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ ethernet.etherType <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 4.
+ ipv4.version <4 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ --validity_check--ipv4 <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 4.
+ ipv4.ihl <4 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 8.
+ ipv4.diffserv <8 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ ipv4.totalLen <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ ipv4.identification <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+ ipv4.flags <3 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 13.
+ ipv4.fragOffset <13 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 8.
+ ipv4.ttl <8 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 8.
+ ipv4.protocol <8 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ ipv4.hdrChecksum <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+ ipv4.srcAddr <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+ ipv4.dstAddr <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ tcp.srcPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ --validity_check--tcp <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ tcp.dstPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+ tcp.seqNo <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 32.
+ tcp.ackNo <32 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 4.
+ tcp.dataOffset <4 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+ tcp.res <3 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+ tcp.ecn <3 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 6.
+ tcp.ctrl <6 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ tcp.window <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ tcp.checksum <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ tcp.urgentPtr <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ udp.srcPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ --validity_check--udp <1 bits egress parsed pov>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ udp.dstPort <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ udp.length_ <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 16.
+ udp.checksum <16 bits egress parsed tagalong>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 1.
+ ig_intr_md_for_tm.copy_to_cpu <1 bits egress parsed imeta R>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 7.
+ eg_intr_md._pad0 <7 bits egress parsed imeta>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 9.
+ eg_intr_md.egress_port <9 bits egress parsed imeta>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 5.
+ eg_intr_md._pad7 <5 bits egress parsed imeta>
+
+Phv Mau Group (egress) -- 1 instance for total bit width of 3.
+ eg_intr_md.egress_cos <3 bits egress parsed imeta>
+
+
+>>Event 'pa_resv' at time 1504795731.64
+ Took 0.00 seconds
+
+-----------------------------------------------
+ Container reservations
+-----------------------------------------------
+Allocation Step
+ingress reservations:
+ 8-bit containers: 0
+ 16-bit containers: 0
+ 32-bit containers: 0
+egress reservations:
+ 8-bit containers: 0
+ 16-bit containers: 0
+ 32-bit containers: 0
+ None required.
+
+-----------------------------------------------
+ Tagalong container reservations
+-----------------------------------------------
+Allocation Step
+ingress reservations:
+ 8-bit containers: 0
+ 16-bit containers: 0
+ 32-bit containers: 0
+egress reservations:
+ 8-bit containers: 0
+ 16-bit containers: 0
+ 32-bit containers: 0
+ None required.
+
+-----------------------------------------------
+ POV bit index reservations
+-----------------------------------------------
+Allocation Step
+POV bit indicies requested for ingress: [16]
+
+MAU groups: 3
+ Group 0 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv0
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+Reserving 32-bit container for ingress: phv0
+>>Event 'pa_bridge' at time 1504795731.68
+ Took 0.04 seconds
+
+-----------------------------------------------
+ Allocating fields related to bridged metadata
+-----------------------------------------------
+Allocation Step
+ ig_intr_md.ingress_port <9 bits ingress parsed imeta R> and ig_intr_md.ingress_port <9 bits egress parsed imeta R>
+ ig_intr_md_for_tm.copy_to_cpu <1 bits ingress imeta W> and ig_intr_md_for_tm.copy_to_cpu <1 bits egress parsed imeta R>
+
+
+Allowed alignment for fields:
+ ig_intr_md.ingress_port -> [0, 8, 16, 24]
+ ig_intr_md_for_tm.copy_to_cpu -> [0, 1, 2, 3, 4, 5, 6, 7]
+
+Required packing for bridged metadata: 1
+ ig_intr_md.ingress_port (ingress)
+ phv[15:15] = ig_intr_md.resubmit_flag[0:0]
+ phv[14:14] = ig_intr_md._pad1[0:0]
+ phv[13:12] = ig_intr_md._pad2[1:0]
+ phv[11:9] = ig_intr_md._pad3[2:0]
+ phv[8:0] = ig_intr_md.ingress_port[8:0]
+ig_intr_md_for_tm.copy_to_cpu cannot share with any fields: total bits 1
+
+
+All combinations = 1
+Valid combinations = 1
+Choosing to pack non-byte multiple metadata as below, which wastes 0 bits
+
+Sharing capabilities of groups: (2)
+Group ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port'] can share with 0 other groups:
+Group ['ig_intr_md_for_tm.copy_to_cpu'] can share with 0 other groups:
+
+Merged sharing capabilities of groups: (2)
+Group ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port'] can share with 0 other groups (16 bits):
+Group ['ig_intr_md_for_tm.copy_to_cpu'] can share with 0 other groups (1 bits):
+
+Final group packing:
+Group 0:
+ ['ig_intr_md_for_tm.copy_to_cpu']
+Group 1:
+ ['ig_intr_md.resubmit_flag', 'ig_intr_md._pad1', 'ig_intr_md._pad2', 'ig_intr_md._pad3', 'ig_intr_md.ingress_port']
+Preferred packing is [8, 16]
+
+Final ingress bridged metadata packing: 24 bits (3 bytes)
+ -pad-0- / 7 bits
+ ig_intr_md_for_tm.copy_to_cpu / 1 bits
+ ig_intr_md.resubmit_flag / 1 bits
+ ig_intr_md._pad1 / 1 bits
+ ig_intr_md._pad2 / 2 bits
+ ig_intr_md._pad3 / 3 bits
+ ig_intr_md.ingress_port / 9 bits
+
+Final egress bridged metadata packing: 24 bits (3 bytes)
+ -pad-0- / 7 bits
+ ig_intr_md_for_tm.copy_to_cpu / 1 bits
+ -pad-1- / 7 bits
+ ig_intr_md.ingress_port / 9 bits
+
+-------------------------------------------
+Allocating parsed header: pkt fields (7) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 24
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 24
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 24
+Parse state 0 (24 bits)
+ -pad-0- [6:0]
+ ig_intr_md_for_tm.copy_to_cpu [0:0]
+ ig_intr_md.resubmit_flag [0:0]
+ ig_intr_md._pad1 [0:0]
+ ig_intr_md._pad2 [1:0]
+ ig_intr_md._pad3 [2:0]
+ ig_intr_md.ingress_port [8:0]
+----------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+----------------------------------------------------------------------------------------------------
+| -pad-0- | 7 | True | - | - | - | None | 1 |
+| ig_intr_md_for_tm.copy_to_cpu | 1 | False | - | - | - | 1 | 1 |
+| ig_intr_md.resubmit_flag | 1 | False | - | - | - | 1 | 1 |
+| ig_intr_md._pad1 | 1 | False | - | - | - | 1 | 1 |
+| ig_intr_md._pad2 | 2 | False | - | - | - | 1 | 1 |
+| ig_intr_md._pad3 | 3 | False | - | - | - | 1 | 1 |
+| ig_intr_md.ingress_port | 9 | False | - | - | - | 2 | 1 |
+----------------------------------------------------------------------------------------------------
+
+Packing options: 5
+MAU containers available:
+ 8-bit: 48
+ 16-bit: 80
+ 32-bit: 47
+Tagalong containers available:
+ 8-bit: 32
+ 16-bit: 48
+ 32-bit: 32
+Initial packing options: 5
+
+Packing option 0: [8, 16]
+MAU containers after:
+ 8-bit: 47
+ 16-bit: 79
+ 32-bit: 47
++----------------------------------------+
+| -pad-0- [6:0] |
+| ig_intr_md_for_tm.copy_to_cpu [0:0] |
++----------------------------------------+
+| ig_intr_md.resubmit_flag [0:0] |
+| ig_intr_md._pad1 [0:0] |
+| ig_intr_md._pad2 [1:0] |
+| ig_intr_md._pad3 [2:0] |
+| ig_intr_md.ingress_port [8:0] |
++----------------------------------------+
+
+Looking at -pad-0- (ingress) [6:0], with test_alloc = False
+Looking at ig_intr_md_for_tm.copy_to_cpu (ingress) [0:0], with test_alloc = True
+----> ig_intr_md_for_tm.copy_to_cpu (ingress) is allocated? False
+Checking if can overlay metadata field.
+No required PHV group.
+Could not find container to overlay in.
+
+MAU groups: 3
+ Group 4 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv64
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+***Allocating phv64[7:1] for -pad-0-[6:0]
+***Allocating phv64[0:0] for ig_intr_md_for_tm.copy_to_cpu[0:0]
+Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
+----> ig_intr_md.resubmit_flag (ingress) is allocated? False
+Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
+Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
+Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
+Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
+Checking if can overlay metadata field.
+No required PHV group.
+Could not find container to overlay in.
+
+MAU groups: 5
+ Group 8 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv128
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+***Allocating phv128[15:15] for ig_intr_md.resubmit_flag[0:0]
+***Allocating phv128[14:14] for ig_intr_md._pad1[0:0]
+***Allocating phv128[13:12] for ig_intr_md._pad2[1:0]
+***Allocating phv128[11:9] for ig_intr_md._pad3[2:0]
+***Allocating phv128[8:0] for ig_intr_md.ingress_port[8:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+
+-------------------------------------------
+Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 24
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 24
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 24
+Parse state 0 (24 bits)
+ -pad-0- [6:0]
+ ig_intr_md_for_tm.copy_to_cpu [0:0]
+ -pad-1- [6:0]
+ ig_intr_md.ingress_port [8:0]
+----------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+----------------------------------------------------------------------------------------------------
+| -pad-0- | 7 | True | - | - | - | None | 1 |
+| ig_intr_md_for_tm.copy_to_cpu | 1 | False | - | - | - | None | 1 |
+| -pad-1- | 7 | True | - | - | - | None | 1 |
+| ig_intr_md.ingress_port | 9 | False | - | - | [32] | None | 2 |
+----------------------------------------------------------------------------------------------------
+
+Packing options: 5
+MAU containers available:
+ 8-bit: 48
+ 16-bit: 80
+ 32-bit: 48
+Tagalong containers available:
+ 8-bit: 32
+ 16-bit: 48
+ 32-bit: 32
+Initial packing options: 5
+
+Packing option 0: [8, 16]
+MAU containers after:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
++----------------------------------------+
+| -pad-0- [6:0] |
+| ig_intr_md_for_tm.copy_to_cpu [0:0] |
++----------------------------------------+
+| -pad-1- [6:0] |
+| ig_intr_md.ingress_port [8:0] |
++----------------------------------------+
+
+Looking at -pad-0- (egress) [6:0], with test_alloc = False
+Looking at ig_intr_md_for_tm.copy_to_cpu (egress) [0:0], with test_alloc = True
+----> ig_intr_md_for_tm.copy_to_cpu (egress) is allocated? False
+Checking if can overlay metadata field.
+No required PHV group.
+Could not find container to overlay in.
+
+MAU groups: 3
+ Group 5 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv80
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
+***Allocating phv80[7:1] for -pad-0-[6:0]
+***Allocating phv80[0:0] for ig_intr_md_for_tm.copy_to_cpu[0:0]
+Looking at -pad-1- (egress) [6:0], with test_alloc = False
+Looking at ig_intr_md.ingress_port (egress) [8:0], with test_alloc = True
+----> ig_intr_md.ingress_port (egress) is allocated? False
+Checking if can overlay metadata field.
+No required PHV group.
+Could not find container to overlay in.
+
+MAU groups: 5
+ Group 9 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv144
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 14 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv208
+***Allocating phv144[15:9] for -pad-1-[6:0]
+***Allocating phv144[8:0] for ig_intr_md.ingress_port[8:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+
+After allocating bridged metadata:
+Allocation state: Final Allocation
+---------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+---------------------------------------------------------------------------
+| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
+| | | | |
+| 4 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
+| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 2 (3.12%) | 16 (3.12%) | 512 |
+| | | | |
+| 8 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
+| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 2 (2.08%) | 32 (2.08%) | 1536 |
+| | | | |
+| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
+| | | | |
+| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
+| | | | |
+| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
+| | | | |
+| MAU total | 5 (2.23%) | 80 (1.95%) | 4096 |
+| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
+| Overall total | 5 (1.49%) | 80 (1.30%) | 6144 |
+---------------------------------------------------------------------------
+
+>>Event 'pa_phase0' at time 1504795732.08
+ Took 0.40 seconds
+
+-----------------------------------------------
+ Allocating Phase 0-related metadata
+-----------------------------------------------
+Allocation Step
+ Phase 0 not in use.
+
+After allocating data written by Phase 0:
+Allocation state: Final Allocation
+---------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+---------------------------------------------------------------------------
+| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
+| | | | |
+| 4 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
+| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 2 (3.12%) | 16 (3.12%) | 512 |
+| | | | |
+| 8 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
+| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 2 (2.08%) | 32 (2.08%) | 1536 |
+| | | | |
+| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
+| | | | |
+| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
+| | | | |
+| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
+| | | | |
+| MAU total | 5 (2.23%) | 80 (1.95%) | 4096 |
+| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
+| Overall total | 5 (1.49%) | 80 (1.30%) | 6144 |
+---------------------------------------------------------------------------
+
+>>Event 'pa_critical' at time 1504795732.09
+ Took 0.00 seconds
+
+-----------------------------------------------
+ Allocating headers on longest parse paths
+-----------------------------------------------
+Allocation Step
+
+All Sorted parse nodes:
+ parse_pkt_out (ingress) with bits = 16 and max = 2
+ parse_ipv4 (ingress) with bits = 160 and max = 1
+ parse_tcp (ingress) with bits = 160 and max = 1
+ parse_ipv4 (egress) with bits = 160 and max = 1
+ parse_tcp (egress) with bits = 160 and max = 1
+ parse_ethernet (ingress) with bits = 112 and max = 1
+ parse_ethernet (egress) with bits = 112 and max = 1
+ egress_intrinsic_metadata (egress) with bits = 24 and max = 1
+ ingress_intrinsic_metadata (ingress) with bits = 16 and max = 1
+ parse_pkt_out (egress) with bits = 16 and max = 1
+ start () with bits = 0 and max = 0
+ default_parser () with bits = 0 and max = 0
+ --ingress-- () with bits = 0 and max = 0
+ start () with bits = 0 and max = 0
+ default_parser () with bits = 0 and max = 0
+ egress_for_mirror_buffer () with bits = 0 and max = 0
+ --egress-- () with bits = 0 and max = 0
+Total packet bits: 936
+Total meta bits: 0
+Total bits: 936
+Working on parse node parse_pkt_out (4) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+ packet_out_hdr.egress_port [8:0]
+ packet_out_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| packet_out_hdr.egress_port | 9 | False | - | - | [8, 32] | 2 | 2 |
+| packet_out_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
+-------------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 2
+MAU containers available:
+ 8-bit: 47
+ 16-bit: 79
+ 32-bit: 47
+Tagalong containers available:
+ 8-bit: 32
+ 16-bit: 48
+ 32-bit: 32
+Initial packing options: 2
+
+Packing option 0: [16]
+MAU containers after:
+ 8-bit: 47
+ 16-bit: 77
+ 32-bit: 47
++-------------------------------------+
+| packet_out_hdr.egress_port [8:0] |
+| packet_out_hdr._padding [6:0] |
++-------------------------------------+
+
+Looking at packet_out_hdr.egress_port (ingress) [8:0], with test_alloc = True
+----> packet_out_hdr.egress_port (ingress) is allocated? False
+Looking at packet_out_hdr._padding (ingress) [6:0], with test_alloc = True
+
+MAU groups: 5
+ Group 8 16 bits -- avail 15 -- ingress avail 15 and remain 13 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv129
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+***Allocating phv129[15:7] for packet_out_hdr.egress_port[8:0]
+***Allocating phv129[6:0] for packet_out_hdr._padding[6:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ipv4 (6) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+ ipv4.version [3:0]
+ ipv4.ihl [3:0]
+ ipv4.diffserv [7:0]
+ ipv4.totalLen [15:0]
+ ipv4.identification [15:0]
+ ipv4.flags [2:0]
+ ipv4.fragOffset [12:0]
+ ipv4.ttl [7:0]
+ ipv4.protocol [7:0]
+ ipv4.hdrChecksum [15:0]
+ ipv4.srcAddr [31:0]
+ ipv4.dstAddr [31:0]
+------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+------------------------------------------------------------------------------------------
+| ipv4.version | 4 | True | - | - | - | 1 | 1 |
+| ipv4.ihl | 4 | True | - | - | - | 1 | 1 |
+| ipv4.diffserv | 8 | True | - | - | - | 1 | 1 |
+| ipv4.totalLen | 16 | True | - | - | - | 2 | 1 |
+| ipv4.identification | 16 | True | - | - | - | 2 | 1 |
+| ipv4.flags | 3 | True | - | - | - | 1 | 1 |
+| ipv4.fragOffset | 13 | True | - | - | - | 2 | 1 |
+| ipv4.ttl | 8 | True | - | - | - | 1 | 1 |
+| ipv4.protocol | 8 | True | - | - | - | 1 | 1 |
+| ipv4.hdrChecksum | 16 | True | - | - | - | 2 | 1 |
+| ipv4.srcAddr | 32 | False | - | - | - | 4 | 1 |
+| ipv4.dstAddr | 32 | False | - | - | - | 4 | 1 |
+------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+ 8-bit: 47
+ 16-bit: 77
+ 32-bit: 47
+Tagalong containers available:
+ 8-bit: 32
+ 16-bit: 48
+ 32-bit: 32
+Initial packing options: 5196
+
+Packing option 0: [8, 16, 16, 32, 32, 8, 16, 32]
+MAU containers after:
+ 8-bit: 46
+ 16-bit: 76
+ 32-bit: 45
++------------------------------+
+| ipv4.version [3:0] |
+| ipv4.ihl [3:0] |
++------------------------------+
+| ipv4.diffserv [7:0] |
+| ipv4.totalLen [15:8] |
++------------------------------+
+| ipv4.totalLen [7:0] |
+| ipv4.identification [15:8] |
++------------------------------+
+| ipv4.identification [7:0] |
+| ipv4.flags [2:0] |
+| ipv4.fragOffset [12:0] |
+| ipv4.ttl [7:0] |
++------------------------------+
+| ipv4.protocol [7:0] |
+| ipv4.hdrChecksum [15:0] |
+| ipv4.srcAddr [31:24] |
++------------------------------+
+| ipv4.srcAddr [23:16] |
++------------------------------+
+| ipv4.srcAddr [15:0] |
++------------------------------+
+| ipv4.dstAddr [31:0] |
++------------------------------+
+
+Looking at ipv4.version (ingress) [3:0], with test_alloc = True
+----> ipv4.version (ingress) is allocated? False
+Looking at ipv4.ihl (ingress) [3:0], with test_alloc = True
+***Allocating phv288[7:4] for ipv4.version[3:0]
+***Allocating phv288[3:0] for ipv4.ihl[3:0]
+Looking at ipv4.diffserv (ingress) [7:0], with test_alloc = True
+----> ipv4.diffserv (ingress) is allocated? False
+Looking at ipv4.totalLen (ingress) [15:8], with test_alloc = True
+***Allocating phv320[15:8] for ipv4.diffserv[7:0]
+***Allocating phv320[7:0] for ipv4.totalLen[15:8]
+Looking at ipv4.totalLen (ingress) [7:0], with test_alloc = True
+----> ipv4.totalLen (ingress) is allocated? False
+Looking at ipv4.identification (ingress) [15:8], with test_alloc = True
+***Allocating phv321[15:8] for ipv4.totalLen[7:0]
+***Allocating phv321[7:0] for ipv4.identification[15:8]
+Looking at ipv4.identification (ingress) [7:0], with test_alloc = True
+----> ipv4.identification (ingress) is allocated? False
+Looking at ipv4.flags (ingress) [2:0], with test_alloc = True
+Looking at ipv4.fragOffset (ingress) [12:0], with test_alloc = True
+Looking at ipv4.ttl (ingress) [7:0], with test_alloc = True
+***Allocating phv256[31:24] for ipv4.identification[7:0]
+***Allocating phv256[23:21] for ipv4.flags[2:0]
+***Allocating phv256[20:8] for ipv4.fragOffset[12:0]
+***Allocating phv256[7:0] for ipv4.ttl[7:0]
+Looking at ipv4.protocol (ingress) [7:0], with test_alloc = True
+----> ipv4.protocol (ingress) is allocated? False
+Looking at ipv4.hdrChecksum (ingress) [15:0], with test_alloc = True
+Looking at ipv4.srcAddr (ingress) [31:24], with test_alloc = True
+
+MAU groups: 3
+ Group 0 32 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv1
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+***Allocating phv1[31:24] for ipv4.protocol[7:0]
+***Allocating phv1[23:8] for ipv4.hdrChecksum[15:0]
+***Allocating phv1[7:0] for ipv4.srcAddr[31:24]
+Looking at ipv4.srcAddr (ingress) [23:16], with test_alloc = True
+----> ipv4.srcAddr (ingress) is allocated? False
+
+MAU groups: 3
+ Group 4 8 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv65
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+***Allocating phv65[7:0] for ipv4.srcAddr[23:16]
+Looking at ipv4.srcAddr (ingress) [15:0], with test_alloc = True
+----> ipv4.srcAddr (ingress) is allocated? False
+
+MAU groups: 5
+ Group 8 16 bits -- avail 14 -- ingress avail 14 and remain 12 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv131
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+***Allocating phv131[15:0] for ipv4.srcAddr[15:0]
+Looking at ipv4.dstAddr (ingress) [31:0], with test_alloc = True
+----> ipv4.dstAddr (ingress) is allocated? False
+
+MAU groups: 3
+ Group 0 32 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv2
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+***Allocating phv2[31:0] for ipv4.dstAddr[31:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_tcp (7) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+ tcp.srcPort [15:0]
+ tcp.dstPort [15:0]
+ tcp.seqNo [31:0]
+ tcp.ackNo [31:0]
+ tcp.dataOffset [3:0]
+ tcp.res [2:0]
+ tcp.ecn [2:0]
+ tcp.ctrl [5:0]
+ tcp.window [15:0]
+ tcp.checksum [15:0]
+ tcp.urgentPtr [15:0]
+-------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------
+| tcp.srcPort | 16 | True | - | - | - | 2 | 1 |
+| tcp.dstPort | 16 | True | - | - | - | 2 | 1 |
+| tcp.seqNo | 32 | True | - | - | - | 4 | 1 |
+| tcp.ackNo | 32 | True | - | - | - | 4 | 1 |
+| tcp.dataOffset | 4 | True | - | - | - | 1 | 1 |
+| tcp.res | 3 | True | - | - | - | 1 | 1 |
+| tcp.ecn | 3 | True | - | - | - | 2 | 1 |
+| tcp.ctrl | 6 | True | - | - | - | 1 | 1 |
+| tcp.window | 16 | True | - | - | - | 2 | 1 |
+| tcp.checksum | 16 | True | - | - | - | 2 | 1 |
+| tcp.urgentPtr | 16 | True | - | - | - | 2 | 1 |
+-------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+ 8-bit: 46
+ 16-bit: 76
+ 32-bit: 45
+Tagalong containers available:
+ 8-bit: 31
+ 16-bit: 46
+ 32-bit: 31
+Initial packing options: 5196
+
+Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
+MAU containers after:
+ 8-bit: 46
+ 16-bit: 76
+ 32-bit: 45
++-------------------------+
+| tcp.srcPort [15:8] |
++-------------------------+
+| tcp.srcPort [7:0] |
++-------------------------+
+| tcp.dstPort [15:0] |
++-------------------------+
+| tcp.seqNo [31:16] |
++-------------------------+
+| tcp.seqNo [15:0] |
++-------------------------+
+| tcp.ackNo [31:0] |
++-------------------------+
+| tcp.dataOffset [3:0] |
+| tcp.res [2:0] |
+| tcp.ecn [2:0] |
+| tcp.ctrl [5:0] |
+| tcp.window [15:0] |
++-------------------------+
+| tcp.checksum [15:0] |
+| tcp.urgentPtr [15:0] |
++-------------------------+
+
+Looking at tcp.srcPort (ingress) [15:8], with test_alloc = True
+----> tcp.srcPort (ingress) is allocated? False
+***Allocating phv289[7:0] for tcp.srcPort[15:8]
+Looking at tcp.srcPort (ingress) [7:0], with test_alloc = True
+----> tcp.srcPort (ingress) is allocated? False
+***Allocating phv290[7:0] for tcp.srcPort[7:0]
+Looking at tcp.dstPort (ingress) [15:0], with test_alloc = True
+----> tcp.dstPort (ingress) is allocated? False
+***Allocating phv322[15:0] for tcp.dstPort[15:0]
+Looking at tcp.seqNo (ingress) [31:16], with test_alloc = True
+----> tcp.seqNo (ingress) is allocated? False
+***Allocating phv323[15:0] for tcp.seqNo[31:16]
+Looking at tcp.seqNo (ingress) [15:0], with test_alloc = True
+----> tcp.seqNo (ingress) is allocated? False
+***Allocating phv324[15:0] for tcp.seqNo[15:0]
+Looking at tcp.ackNo (ingress) [31:0], with test_alloc = True
+----> tcp.ackNo (ingress) is allocated? False
+***Allocating phv257[31:0] for tcp.ackNo[31:0]
+Looking at tcp.dataOffset (ingress) [3:0], with test_alloc = True
+----> tcp.dataOffset (ingress) is allocated? False
+Looking at tcp.res (ingress) [2:0], with test_alloc = True
+Looking at tcp.ecn (ingress) [2:0], with test_alloc = True
+Looking at tcp.ctrl (ingress) [5:0], with test_alloc = True
+Looking at tcp.window (ingress) [15:0], with test_alloc = True
+***Allocating phv258[31:28] for tcp.dataOffset[3:0]
+***Allocating phv258[27:25] for tcp.res[2:0]
+***Allocating phv258[24:22] for tcp.ecn[2:0]
+***Allocating phv258[21:16] for tcp.ctrl[5:0]
+***Allocating phv258[15:0] for tcp.window[15:0]
+Looking at tcp.checksum (ingress) [15:0], with test_alloc = True
+----> tcp.checksum (ingress) is allocated? False
+Looking at tcp.urgentPtr (ingress) [15:0], with test_alloc = True
+***Allocating phv259[31:16] for tcp.checksum[15:0]
+***Allocating phv259[15:0] for tcp.urgentPtr[15:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ipv4 (6) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+ ipv4.version [3:0]
+ ipv4.ihl [3:0]
+ ipv4.diffserv [7:0]
+ ipv4.totalLen [15:0]
+ ipv4.identification [15:0]
+ ipv4.flags [2:0]
+ ipv4.fragOffset [12:0]
+ ipv4.ttl [7:0]
+ ipv4.protocol [7:0]
+ ipv4.hdrChecksum [15:0]
+ ipv4.srcAddr [31:0]
+ ipv4.dstAddr [31:0]
+------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+------------------------------------------------------------------------------------------
+| ipv4.version | 4 | True | - | - | - | 1 | 1 |
+| ipv4.ihl | 4 | True | - | - | - | 1 | 1 |
+| ipv4.diffserv | 8 | True | - | - | - | 1 | 1 |
+| ipv4.totalLen | 16 | True | - | - | - | 2 | 1 |
+| ipv4.identification | 16 | True | - | - | - | 2 | 1 |
+| ipv4.flags | 3 | True | - | - | - | 1 | 1 |
+| ipv4.fragOffset | 13 | True | - | - | - | 2 | 1 |
+| ipv4.ttl | 8 | True | - | - | - | 1 | 1 |
+| ipv4.protocol | 8 | True | - | - | - | 1 | 1 |
+| ipv4.hdrChecksum | 16 | True | - | - | - | 2 | 1 |
+| ipv4.srcAddr | 32 | True | - | - | - | 4 | 1 |
+| ipv4.dstAddr | 32 | True | - | - | - | 4 | 1 |
+------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
+Tagalong containers available:
+ 8-bit: 28
+ 16-bit: 42
+ 32-bit: 28
+Initial packing options: 5196
+
+Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
+MAU containers after:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
++------------------------------+
+| ipv4.version [3:0] |
+| ipv4.ihl [3:0] |
++------------------------------+
+| ipv4.diffserv [7:0] |
++------------------------------+
+| ipv4.totalLen [15:0] |
++------------------------------+
+| ipv4.identification [15:0] |
++------------------------------+
+| ipv4.flags [2:0] |
+| ipv4.fragOffset [12:0] |
++------------------------------+
+| ipv4.ttl [7:0] |
+| ipv4.protocol [7:0] |
+| ipv4.hdrChecksum [15:0] |
++------------------------------+
+| ipv4.srcAddr [31:0] |
++------------------------------+
+| ipv4.dstAddr [31:0] |
++------------------------------+
+
+Looking at ipv4.version (egress) [3:0], with test_alloc = True
+----> ipv4.version (egress) is allocated? False
+Looking at ipv4.ihl (egress) [3:0], with test_alloc = True
+***Allocating phv292[7:4] for ipv4.version[3:0]
+***Allocating phv292[3:0] for ipv4.ihl[3:0]
+Looking at ipv4.diffserv (egress) [7:0], with test_alloc = True
+----> ipv4.diffserv (egress) is allocated? False
+***Allocating phv293[7:0] for ipv4.diffserv[7:0]
+Looking at ipv4.totalLen (egress) [15:0], with test_alloc = True
+----> ipv4.totalLen (egress) is allocated? False
+***Allocating phv326[15:0] for ipv4.totalLen[15:0]
+Looking at ipv4.identification (egress) [15:0], with test_alloc = True
+----> ipv4.identification (egress) is allocated? False
+***Allocating phv327[15:0] for ipv4.identification[15:0]
+Looking at ipv4.flags (egress) [2:0], with test_alloc = True
+----> ipv4.flags (egress) is allocated? False
+Looking at ipv4.fragOffset (egress) [12:0], with test_alloc = True
+***Allocating phv328[15:13] for ipv4.flags[2:0]
+***Allocating phv328[12:0] for ipv4.fragOffset[12:0]
+Looking at ipv4.ttl (egress) [7:0], with test_alloc = True
+----> ipv4.ttl (egress) is allocated? False
+Looking at ipv4.protocol (egress) [7:0], with test_alloc = True
+Looking at ipv4.hdrChecksum (egress) [15:0], with test_alloc = True
+***Allocating phv260[31:24] for ipv4.ttl[7:0]
+***Allocating phv260[23:16] for ipv4.protocol[7:0]
+***Allocating phv260[15:0] for ipv4.hdrChecksum[15:0]
+Looking at ipv4.srcAddr (egress) [31:0], with test_alloc = True
+----> ipv4.srcAddr (egress) is allocated? False
+***Allocating phv261[31:0] for ipv4.srcAddr[31:0]
+Looking at ipv4.dstAddr (egress) [31:0], with test_alloc = True
+----> ipv4.dstAddr (egress) is allocated? False
+***Allocating phv262[31:0] for ipv4.dstAddr[31:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_tcp (7) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 160
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 160
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 160
+Parse state 0 (160 bits)
+ tcp.srcPort [15:0]
+ tcp.dstPort [15:0]
+ tcp.seqNo [31:0]
+ tcp.ackNo [31:0]
+ tcp.dataOffset [3:0]
+ tcp.res [2:0]
+ tcp.ecn [2:0]
+ tcp.ctrl [5:0]
+ tcp.window [15:0]
+ tcp.checksum [15:0]
+ tcp.urgentPtr [15:0]
+-------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------
+| tcp.srcPort | 16 | True | - | - | - | 2 | 1 |
+| tcp.dstPort | 16 | True | - | - | - | 2 | 1 |
+| tcp.seqNo | 32 | True | - | - | - | 4 | 1 |
+| tcp.ackNo | 32 | True | - | - | - | 4 | 1 |
+| tcp.dataOffset | 4 | True | - | - | - | 1 | 1 |
+| tcp.res | 3 | True | - | - | - | 1 | 1 |
+| tcp.ecn | 3 | True | - | - | - | 2 | 1 |
+| tcp.ctrl | 6 | True | - | - | - | 1 | 1 |
+| tcp.window | 16 | True | - | - | - | 2 | 1 |
+| tcp.checksum | 16 | True | - | - | - | 2 | 1 |
+| tcp.urgentPtr | 16 | True | - | - | - | 2 | 1 |
+-------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 5196
+MAU containers available:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
+Tagalong containers available:
+ 8-bit: 26
+ 16-bit: 39
+ 32-bit: 25
+Initial packing options: 5196
+
+Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
+MAU containers after:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
++-------------------------+
+| tcp.srcPort [15:8] |
++-------------------------+
+| tcp.srcPort [7:0] |
++-------------------------+
+| tcp.dstPort [15:0] |
++-------------------------+
+| tcp.seqNo [31:16] |
++-------------------------+
+| tcp.seqNo [15:0] |
++-------------------------+
+| tcp.ackNo [31:0] |
++-------------------------+
+| tcp.dataOffset [3:0] |
+| tcp.res [2:0] |
+| tcp.ecn [2:0] |
+| tcp.ctrl [5:0] |
+| tcp.window [15:0] |
++-------------------------+
+| tcp.checksum [15:0] |
+| tcp.urgentPtr [15:0] |
++-------------------------+
+
+Looking at tcp.srcPort (egress) [15:8], with test_alloc = True
+----> tcp.srcPort (egress) is allocated? False
+***Allocating phv294[7:0] for tcp.srcPort[15:8]
+Looking at tcp.srcPort (egress) [7:0], with test_alloc = True
+----> tcp.srcPort (egress) is allocated? False
+***Allocating phv295[7:0] for tcp.srcPort[7:0]
+Looking at tcp.dstPort (egress) [15:0], with test_alloc = True
+----> tcp.dstPort (egress) is allocated? False
+***Allocating phv329[15:0] for tcp.dstPort[15:0]
+Looking at tcp.seqNo (egress) [31:16], with test_alloc = True
+----> tcp.seqNo (egress) is allocated? False
+***Allocating phv330[15:0] for tcp.seqNo[31:16]
+Looking at tcp.seqNo (egress) [15:0], with test_alloc = True
+----> tcp.seqNo (egress) is allocated? False
+***Allocating phv331[15:0] for tcp.seqNo[15:0]
+Looking at tcp.ackNo (egress) [31:0], with test_alloc = True
+----> tcp.ackNo (egress) is allocated? False
+***Allocating phv263[31:0] for tcp.ackNo[31:0]
+Looking at tcp.dataOffset (egress) [3:0], with test_alloc = True
+----> tcp.dataOffset (egress) is allocated? False
+Looking at tcp.res (egress) [2:0], with test_alloc = True
+Looking at tcp.ecn (egress) [2:0], with test_alloc = True
+Looking at tcp.ctrl (egress) [5:0], with test_alloc = True
+Looking at tcp.window (egress) [15:0], with test_alloc = True
+***Allocating phv264[31:28] for tcp.dataOffset[3:0]
+***Allocating phv264[27:25] for tcp.res[2:0]
+***Allocating phv264[24:22] for tcp.ecn[2:0]
+***Allocating phv264[21:16] for tcp.ctrl[5:0]
+***Allocating phv264[15:0] for tcp.window[15:0]
+Looking at tcp.checksum (egress) [15:0], with test_alloc = True
+----> tcp.checksum (egress) is allocated? False
+Looking at tcp.urgentPtr (egress) [15:0], with test_alloc = True
+***Allocating phv265[31:16] for tcp.checksum[15:0]
+***Allocating phv265[15:0] for tcp.urgentPtr[15:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ethernet (5) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 112
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 112
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 112
+Parse state 0 (112 bits)
+ ethernet.dstAddr [47:0]
+ ethernet.srcAddr [47:0]
+ ethernet.etherType [15:0]
+-----------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------------
+| ethernet.dstAddr | 48 | False | - | - | - | 6 | 1 |
+| ethernet.srcAddr | 48 | False | - | - | - | 6 | 1 |
+| ethernet.etherType | 16 | False | - | - | - | 2 | 1 |
+-----------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 604
+MAU containers available:
+ 8-bit: 46
+ 16-bit: 76
+ 32-bit: 45
+Tagalong containers available:
+ 8-bit: 21
+ 16-bit: 31
+ 32-bit: 20
+Initial packing options: 604
+
+Packing option 0: [8, 32, 16, 8, 32, 16]
+MAU containers after:
+ 8-bit: 44
+ 16-bit: 74
+ 32-bit: 43
++-----------------------------+
+| ethernet.dstAddr [47:40] |
++-----------------------------+
+| ethernet.dstAddr [39:8] |
++-----------------------------+
+| ethernet.dstAddr [7:0] |
+| ethernet.srcAddr [47:40] |
++-----------------------------+
+| ethernet.srcAddr [39:32] |
++-----------------------------+
+| ethernet.srcAddr [31:0] |
++-----------------------------+
+| ethernet.etherType [15:0] |
++-----------------------------+
+
+Looking at ethernet.dstAddr (ingress) [47:40], with test_alloc = True
+----> ethernet.dstAddr (ingress) is allocated? False
+
+MAU groups: 3
+ Group 4 8 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv66
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+***Allocating phv66[7:0] for ethernet.dstAddr[47:40]
+Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
+----> ethernet.dstAddr (ingress) is allocated? False
+
+MAU groups: 3
+ Group 0 32 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv3
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+***Allocating phv3[31:0] for ethernet.dstAddr[39:8]
+Looking at ethernet.dstAddr (ingress) [7:0], with test_alloc = True
+----> ethernet.dstAddr (ingress) is allocated? False
+Looking at ethernet.srcAddr (ingress) [47:40], with test_alloc = True
+
+MAU groups: 5
+ Group 8 16 bits -- avail 13 -- ingress avail 13 and remain 11 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv132
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+***Allocating phv132[15:8] for ethernet.dstAddr[7:0]
+***Allocating phv132[7:0] for ethernet.srcAddr[47:40]
+Looking at ethernet.srcAddr (ingress) [39:32], with test_alloc = True
+----> ethernet.srcAddr (ingress) is allocated? False
+
+MAU groups: 3
+ Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv67
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+***Allocating phv67[7:0] for ethernet.srcAddr[39:32]
+Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
+----> ethernet.srcAddr (ingress) is allocated? False
+
+MAU groups: 3
+ Group 0 32 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 12 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv4
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+***Allocating phv4[31:0] for ethernet.srcAddr[31:0]
+Looking at ethernet.etherType (ingress) [15:0], with test_alloc = True
+----> ethernet.etherType (ingress) is allocated? False
+
+MAU groups: 5
+ Group 8 16 bits -- avail 12 -- ingress avail 12 and remain 10 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv133
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+***Allocating phv133[15:0] for ethernet.etherType[15:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_ethernet (5) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 112
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 112
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 112
+Parse state 0 (112 bits)
+ ethernet.dstAddr [47:0]
+ ethernet.srcAddr [47:0]
+ ethernet.etherType [15:0]
+-----------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------------
+| ethernet.dstAddr | 48 | True | - | - | - | 6 | 1 |
+| ethernet.srcAddr | 48 | True | - | - | - | 6 | 1 |
+| ethernet.etherType | 16 | True | - | - | - | 2 | 1 |
+-----------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 604
+MAU containers available:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
+Tagalong containers available:
+ 8-bit: 24
+ 16-bit: 36
+ 32-bit: 22
+Initial packing options: 604
+
+Packing option 0: [8, 32, 16, 8, 32, 16]
+MAU containers after:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
++-----------------------------+
+| ethernet.dstAddr [47:40] |
++-----------------------------+
+| ethernet.dstAddr [39:8] |
++-----------------------------+
+| ethernet.dstAddr [7:0] |
+| ethernet.srcAddr [47:40] |
++-----------------------------+
+| ethernet.srcAddr [39:32] |
++-----------------------------+
+| ethernet.srcAddr [31:0] |
++-----------------------------+
+| ethernet.etherType [15:0] |
++-----------------------------+
+
+Looking at ethernet.dstAddr (egress) [47:40], with test_alloc = True
+----> ethernet.dstAddr (egress) is allocated? False
+***Allocating phv296[7:0] for ethernet.dstAddr[47:40]
+Looking at ethernet.dstAddr (egress) [39:8], with test_alloc = True
+----> ethernet.dstAddr (egress) is allocated? False
+***Allocating phv266[31:0] for ethernet.dstAddr[39:8]
+Looking at ethernet.dstAddr (egress) [7:0], with test_alloc = True
+----> ethernet.dstAddr (egress) is allocated? False
+Looking at ethernet.srcAddr (egress) [47:40], with test_alloc = True
+***Allocating phv332[15:8] for ethernet.dstAddr[7:0]
+***Allocating phv332[7:0] for ethernet.srcAddr[47:40]
+Looking at ethernet.srcAddr (egress) [39:32], with test_alloc = True
+----> ethernet.srcAddr (egress) is allocated? False
+***Allocating phv297[7:0] for ethernet.srcAddr[39:32]
+Looking at ethernet.srcAddr (egress) [31:0], with test_alloc = True
+----> ethernet.srcAddr (egress) is allocated? False
+***Allocating phv267[31:0] for ethernet.srcAddr[31:0]
+Looking at ethernet.etherType (egress) [15:0], with test_alloc = True
+----> ethernet.etherType (egress) is allocated? False
+***Allocating phv333[15:0] for ethernet.etherType[15:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node egress_intrinsic_metadata (9) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 24
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 24
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 24
+Parse state 0 (24 bits)
+ eg_intr_md._pad0 [6:0]
+ eg_intr_md.egress_port [8:0]
+ eg_intr_md._pad7 [4:0]
+ eg_intr_md.egress_cos [2:0]
+---------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+---------------------------------------------------------------------------------------------
+| eg_intr_md._pad0 | 7 | False | - | - | - | 1 | 1 |
+| eg_intr_md.egress_port | 9 | False | - | - | [8] | 1 | 1 |
+| eg_intr_md._pad7 | 5 | False | - | - | - | 1 | 1 |
+| eg_intr_md.egress_cos | 3 | False | - | - | - | 1 | 1 |
+---------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 3
+MAU containers available:
+ 8-bit: 47
+ 16-bit: 78
+ 32-bit: 48
+Tagalong containers available:
+ 8-bit: 22
+ 16-bit: 34
+ 32-bit: 20
+Initial packing options: 3
+
+Packing option 1: [16, 8]
+MAU containers after:
+ 8-bit: 46
+ 16-bit: 77
+ 32-bit: 48
++---------------------------------+
+| eg_intr_md._pad0 [6:0] |
+| eg_intr_md.egress_port [8:0] |
++---------------------------------+
+| eg_intr_md._pad7 [4:0] |
+| eg_intr_md.egress_cos [2:0] |
++---------------------------------+
+
+Looking at eg_intr_md._pad0 (egress) [6:0], with test_alloc = True
+----> eg_intr_md._pad0 (egress) is allocated? False
+Looking at eg_intr_md.egress_port (egress) [8:0], with test_alloc = True
+Checking if can overlay metadata field.
+No required PHV group.
+ Group 9 16 bits -- deparsed True -- avail 15 and promised 2 -- ingress promised 0 and remain 0 and req 8 -- egress promised 2 and remain 13 and req 2 -- act like deparsed True -- container_to_use phv146 -- fails False
+Could not find container to overlay in.
+
+MAU groups: 5
+ Group 9 16 bits -- avail 15 -- ingress avail 8 and remain 8 and promised 0 and req 0 -- egress avail 15 and remain 13 and promised 2 and req 2 -- as if deparsed True -- container_to_use phv146
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv208
+***Allocating phv146[15:9] for eg_intr_md._pad0[6:0]
+***Allocating phv146[8:0] for eg_intr_md.egress_port[8:0]
+Looking at eg_intr_md._pad7 (egress) [4:0], with test_alloc = True
+----> eg_intr_md._pad7 (egress) is allocated? False
+Looking at eg_intr_md.egress_cos (egress) [2:0], with test_alloc = True
+Checking if can overlay metadata field.
+No required PHV group.
+ Group 5 8 bits -- deparsed True -- avail 15 and promised 1 -- ingress promised 0 and remain 0 and req 8 -- egress promised 1 and remain 14 and req 1 -- act like deparsed True -- container_to_use phv81 -- fails False
+Could not find container to overlay in.
+
+MAU groups: 3
+ Group 5 8 bits -- avail 15 -- ingress avail 8 and remain 8 and promised 0 and req 0 -- egress avail 15 and remain 14 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv81
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
+***Allocating phv81[7:3] for eg_intr_md._pad7[4:0]
+***Allocating phv81[2:0] for eg_intr_md.egress_cos[2:0]
+Packing options tried: 2
+Packing options skipped: 0
+Failure Reasons:
+ Field in disallowed list (case 3) -- tried 1 variants
+ field: eg_intr_md.egress_port
+ with constraints: [
+ ParsedAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- lsb bit: 0
+ MaxFieldSplit Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- max split: 1
+ RightAdjacentAlignment Constraint: (left) eg_intr_md._pad7 <5 bits egress parsed imeta> -- (right) eg_intr_md.egress_cos <3 bits egress parsed imeta>
+ ContainerAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- field_bit: 0 -- bits_list: [0, 1, 2, 3, 4, 5, 6, 7]
+]
+
+Working on parse node ingress_intrinsic_metadata (9) (ingress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (5) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Already allocated? ig_intr_md.resubmit_flag (ingress)
+Already allocated? ig_intr_md._pad1 (ingress)
+Already allocated? ig_intr_md._pad2 (ingress)
+Already allocated? ig_intr_md._pad3 (ingress)
+Already allocated? ig_intr_md.ingress_port (ingress)
+Already allocated? ig_intr_md.ingress_port (ingress)
+Parse state 0 (16 bits)
+ ig_intr_md.resubmit_flag [0:0]
+ ig_intr_md._pad1 [0:0]
+ ig_intr_md._pad2 [1:0]
+ ig_intr_md._pad3 [2:0]
+ ig_intr_md.ingress_port [8:0]
+-----------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------------------------
+| ig_intr_md.resubmit_flag | 1 | False | [(16, 1)] | - | - | 1 | 1 |
+| ig_intr_md._pad1 | 1 | False | [(16, 1)] | - | - | 1 | 1 |
+| ig_intr_md._pad2 | 2 | False | [(16, 2)] | - | - | 1 | 1 |
+| ig_intr_md._pad3 | 3 | False | [(16, 3)] | - | - | 1 | 1 |
+| ig_intr_md.ingress_port | 9 | False | [(16, 9)] | - | - | 2 | 1 |
+-----------------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 6
+min_extracts[32] = 1
+Packing options: 2
+MAU containers available:
+ 8-bit: 44
+ 16-bit: 74
+ 32-bit: 43
+Tagalong containers available:
+ 8-bit: 21
+ 16-bit: 31
+ 32-bit: 20
+Initial packing options: 2
+
+Packing option 0: [16]
+MAU containers after:
+ 8-bit: 44
+ 16-bit: 74
+ 32-bit: 43
++-----------------------------------+
+| ig_intr_md.resubmit_flag [0:0] |
+| ig_intr_md._pad1 [0:0] |
+| ig_intr_md._pad2 [1:0] |
+| ig_intr_md._pad3 [2:0] |
+| ig_intr_md.ingress_port [8:0] |
++-----------------------------------+
+
+Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
+----> ig_intr_md.resubmit_flag (ingress) is allocated? True
+Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
+----> ig_intr_md._pad1 (ingress) is allocated? True
+Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
+----> ig_intr_md._pad2 (ingress) is allocated? True
+Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
+----> ig_intr_md._pad3 (ingress) is allocated? True
+Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
+----> ig_intr_md.ingress_port (ingress) is allocated? True
+Fields for container 16 at index 0 already allocated. No need to overlay or allocate new.
+ ig_intr_md.resubmit_flag[0:0]
+ ig_intr_md._pad1[0:0]
+ ig_intr_md._pad2[1:0]
+ ig_intr_md._pad3[2:0]
+ ig_intr_md.ingress_port[8:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node parse_pkt_out (4) (egress)
+
+-------------------------------------------
+Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+ packet_out_hdr.egress_port [8:0]
+ packet_out_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| packet_out_hdr.egress_port | 9 | True | - | - | [32] | 2 | 1 |
+| packet_out_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
+-------------------------------------------------------------------------------------------------
+
+min_extracts[8] = 1
+min_extracts[16] = 1
+min_extracts[32] = 1
+Packing options: 2
+MAU containers available:
+ 8-bit: 46
+ 16-bit: 77
+ 32-bit: 48
+Tagalong containers available:
+ 8-bit: 22
+ 16-bit: 34
+ 32-bit: 20
+Initial packing options: 2
+
+Packing option 0: [16]
+MAU containers after:
+ 8-bit: 46
+ 16-bit: 77
+ 32-bit: 48
++-------------------------------------+
+| packet_out_hdr.egress_port [8:0] |
+| packet_out_hdr._padding [6:0] |
++-------------------------------------+
+
+Looking at packet_out_hdr.egress_port (egress) [8:0], with test_alloc = True
+----> packet_out_hdr.egress_port (egress) is allocated? False
+Looking at packet_out_hdr._padding (egress) [6:0], with test_alloc = True
+***Allocating phv334[15:7] for packet_out_hdr.egress_port[8:0]
+***Allocating phv334[6:0] for packet_out_hdr._padding[6:0]
+Packing options tried: 1
+Packing options skipped: 0
+
+Working on parse node start (1) ()
+Working on parse node default_parser (3) ()
+Working on parse node --ingress-- (0) ()
+Working on parse node start (1) ()
+Working on parse node default_parser (3) ()
+Working on parse node egress_for_mirror_buffer (10) ()
+Working on parse node --egress-- (0) ()
+
+After allocating critical parse paths:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+------------------------------------------------------------------------------
+| 0 (32) | 5 (31.25%) | 160 (31.25%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 5 (7.81%) | 160 (7.81%) | 2048 |
+| | | | |
+| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
+| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 6 (9.38%) | 48 (9.38%) | 512 |
+| | | | |
+| 8 (16) | 5 (31.25%) | 80 (31.25%) | 256 |
+| 9 (16) | 2 (12.50%) | 32 (12.50%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 7 (7.29%) | 112 (7.29%) | 1536 |
+| | | | |
+| 14 (32) T | 12 (75.00%) | 384 (75.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 12 (37.50%) | 384 (37.50%) | 1024 |
+| | | | |
+| 16 (8) T | 9 (56.25%) | 72 (56.25%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 9 (28.12%) | 72 (28.12%) | 256 |
+| | | | |
+| 18 (16) T | 14 (87.50%) | 224 (87.50%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 14 (29.17%) | 224 (29.17%) | 768 |
+| | | | |
+| MAU total | 18 (8.04%) | 320 (7.81%) | 4096 |
+| Tagalong total | 35 (31.25%) | 680 (33.20%) | 2048 |
+| Overall total | 53 (15.77%) | 1000 (16.28%) | 6144 |
+------------------------------------------------------------------------------
+
+>>Event 'pa_overlay' at time 1504795741.17
+ Took 9.08 seconds
+
+-----------------------------------------------
+ Allocating remaining parsed fields
+-----------------------------------------------
+Allocation Step
+
+All Sorted parse nodes (non-critical):
+ parse_pkt_in (egress) with bits = 16 and max = 2
+ parse_udp (ingress) with bits = 64 and max = 1
+ parse_udp (egress) with bits = 64 and max = 1
+ parse_pkt_in (ingress) with bits = 16 and max = 1
+Total packet bits: 160
+Total meta bits: 0
+Total bits: 160
+Working on parse node parse_pkt_in (2) (egress)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+ packet_in_hdr.ingress_port [8:0]
+ packet_in_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------------
+| packet_in_hdr.ingress_port | 9 | False | [(16, 9)] | - | [32] | 2 | 2 |
+| packet_in_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
+-------------------------------------------------------------------------------------------------------
+
+MAU containers available:
+ 8-bit: 46
+ 16-bit: 77
+ 32-bit: 48
+Packing options: 2
+Initial packing options: 2
+
+Packing option 0: [16]
+>>Can pack using [16] if open up 1 new containers.
+Packing options tried: 2
+Packing options skipped: 0
+Trying to place using best packing [16]
+***Allocating phv145[15:7] for packet_in_hdr.ingress_port[8:0]
+***Allocating phv145[6:0] for packet_in_hdr._padding[6:0]
+Working on parse node parse_udp (8) (ingress)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 64
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 64
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 64
+Parse state 0 (64 bits)
+ udp.srcPort [15:0]
+ udp.dstPort [15:0]
+ udp.length_ [15:0]
+ udp.checksum [15:0]
+-----------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------
+| udp.srcPort | 16 | False | - | - | - | 2 | 1 |
+| udp.dstPort | 16 | False | - | - | - | 2 | 1 |
+| udp.length_ | 16 | True | - | - | - | 2 | 1 |
+| udp.checksum | 16 | True | - | - | - | 2 | 1 |
+-----------------------------------------------------------------------------------
+
+MAU containers available:
+ 8-bit: 44
+ 16-bit: 74
+ 32-bit: 43
+Packing options: 47
+Initial packing options: 47
+
+Packing option 0: [8, 8, 16, 32]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+>>Can pack using [8, 8, 16, 32] if open up 3 new containers.
+
+Packing option 1: [8, 8, 32, 16]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [8, 8, 32, 16] if open up 3 new containers.
+
+Packing option 2: [8, 16, 8, 32]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+>>Can pack using [8, 16, 8, 32] if open up 3 new containers.
+
+Packing option 3: [8, 16, 32, 8]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [8, 16, 32, 8] if open up 3 new containers.
+
+Packing option 4: [8, 32, 8, 16]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [8, 32, 8, 16] if open up 2 new containers.
+
+Packing option 5: [8, 32, 16, 8]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [8, 32, 16, 8] if open up 2 new containers.
+
+Packing option 6: [16, 8, 8, 32]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+>>Can pack using [16, 8, 8, 32] if open up 3 new containers.
+
+Packing option 7: [16, 8, 32, 8]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [16, 8, 32, 8] if open up 3 new containers.
+
+Packing option 8: [16, 32, 8, 8]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [16, 32, 8, 8] if open up 2 new containers.
+
+Packing option 9: [32, 8, 8, 16]
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [32, 8, 8, 16] if open up 1 new containers.
+
+Packing option 10: [32, 8, 16, 8]
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [32, 8, 16, 8] if open up 1 new containers.
+
+Packing option 11: [32, 16, 8, 8]
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [32, 16, 8, 8] if open up 1 new containers.
+
+Packing option 12: [16, 16, 32]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 5
+ Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv135
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+>>Can pack using [16, 16, 32] if open up 2 new containers.
+
+Packing option 13: [16, 32, 16]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [16, 32, 16] if open up 2 new containers.
+
+Packing option 14: [32, 16, 16]
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+>>Can pack using [32, 16, 16] if open up 1 new containers.
+
+Packing option 15: [8, 8, 16, 16, 16]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+>>Can pack using [8, 8, 16, 16, 16] if open up 3 new containers.
+
+Packing option 16: [8, 16, 8, 16, 16]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+>>Can pack using [8, 16, 8, 16, 16] if open up 3 new containers.
+
+Packing option 17: [8, 16, 16, 8, 16]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 5
+ Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv135
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+>>Can pack using [8, 16, 16, 8, 16] if open up 3 new containers.
+
+Packing option 18: [8, 16, 16, 16, 8]
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 5
+ Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv135
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+>>Can pack using [8, 16, 16, 16, 8] if open up 3 new containers.
+
+Packing option 19: [16, 8, 8, 16, 16]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 3
+ Group 4 8 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv69
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+>>Can pack using [16, 8, 8, 16, 16] if open up 3 new containers.
+
+Packing option 20: [16, 8, 16, 8, 16]
+
+MAU groups: 5
+ Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+
+MAU groups: 3
+ Group 4 8 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv68
+ Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
+ Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
+
+MAU groups: 5
+ Group 8 16 bits -- avail 10 -- ingress avail 10 and remain 8 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv135
+ Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
+ Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
+ Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
+ Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
+>>Can pack using [16, 8, 16, 8, 16] if open up 3 new containers.
+Terminate search for time purposes...
+Packing options tried: 21
+Packing options skipped: 0
+Trying to place using best packing [32, 8, 8, 16]
+
+MAU groups: 3
+ Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
+ Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
+ Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
+***Allocating phv5[31:16] for udp.srcPort[15:0]
+***Allocating phv5[15:0] for udp.dstPort[15:0]
+***Allocating phv289[7:0] for udp.length_[15:8]
+***Allocating phv290[7:0] for udp.length_[7:0]
+***Allocating phv322[15:0] for udp.checksum[15:0]
+Working on parse node parse_udp (8) (egress)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 64
+Set metadata bits: 0
+Gress: egress
+bits_will_need_to_parse = 64
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 64
+Parse state 0 (64 bits)
+ udp.srcPort [15:0]
+ udp.dstPort [15:0]
+ udp.length_ [15:0]
+ udp.checksum [15:0]
+-----------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-----------------------------------------------------------------------------------
+| udp.srcPort | 16 | True | - | - | - | 2 | 1 |
+| udp.dstPort | 16 | True | - | - | - | 2 | 1 |
+| udp.length_ | 16 | True | - | - | - | 2 | 1 |
+| udp.checksum | 16 | True | - | - | - | 2 | 1 |
+-----------------------------------------------------------------------------------
+
+MAU containers available:
+ 8-bit: 46
+ 16-bit: 77
+ 32-bit: 48
+Packing options: 47
+Initial packing options: 47
+
+Packing option 0: [8, 8, 16, 32]
+>>Can pack using [8, 8, 16, 32] if open up 0 new containers.
+Packing options tried: 1
+Packing options skipped: 0
+Trying to place using best packing [8, 8, 16, 32]
+***Allocating phv294[7:0] for udp.srcPort[15:8]
+***Allocating phv295[7:0] for udp.srcPort[7:0]
+***Allocating phv329[15:0] for udp.dstPort[15:0]
+***Allocating phv263[31:16] for udp.length_[15:0]
+***Allocating phv263[15:0] for udp.checksum[15:0]
+Working on parse node parse_pkt_in (2) (ingress)
+
+-------------------------------------------
+Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
+-------------------------------------------
+Extracted bits: 16
+Set metadata bits: 0
+Gress: ingress
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+ packet_in_hdr.ingress_port [8:0]
+ packet_in_hdr._padding [6:0]
+-------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| packet_in_hdr.ingress_port | 9 | True | - | - | [32] | 2 | 1 |
+| packet_in_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
+-------------------------------------------------------------------------------------------------
+
+MAU containers available:
+ 8-bit: 44
+ 16-bit: 74
+ 32-bit: 42
+Packing options: 2
+Initial packing options: 2
+
+Packing option 0: [16]
+>>Can pack using [16] if open up 0 new containers.
+Packing options tried: 1
+Packing options skipped: 0
+Trying to place using best packing [16]
+***Allocating phv129[15:7] for packet_in_hdr.ingress_port[8:0]
+***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
+
+After allocating remaining parse nodes:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+------------------------------------------------------------------------------
+| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
+| | | | |
+| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
+| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 6 (9.38%) | 48 (9.38%) | 512 |
+| | | | |
+| 8 (16) | 5 (31.25%) | 80 (31.25%) | 256 |
+| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 8 (8.33%) | 128 (8.33%) | 1536 |
+| | | | |
+| 14 (32) T | 12 (75.00%) | 384 (75.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 12 (37.50%) | 384 (37.50%) | 1024 |
+| | | | |
+| 16 (8) T | 9 (56.25%) | 72 (56.25%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 9 (28.12%) | 72 (28.12%) | 256 |
+| | | | |
+| 18 (16) T | 14 (87.50%) | 224 (87.50%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 14 (29.17%) | 224 (29.17%) | 768 |
+| | | | |
+| MAU total | 20 (8.93%) | 368 (8.98%) | 4096 |
+| Tagalong total | 35 (31.25%) | 680 (33.20%) | 2048 |
+| Overall total | 55 (16.37%) | 1048 (17.06%) | 6144 |
+------------------------------------------------------------------------------
+
+
+
+Difference in allocation between critical parse path and overlaying headers:
+Allocation state: Diff
+---------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+---------------------------------------------------------------------------
+| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
+| | | | |
+| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
+| | | | |
+| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 1 (1.04%) | 16 (1.04%) | 1536 |
+| | | | |
+| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
+| | | | |
+| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
+| | | | |
+| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
+| | | | |
+| MAU total | 2 (0.89%) | 48 (1.17%) | 4096 |
+| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
+| Overall total | 2 (0.60%) | 48 (0.78%) | 6144 |
+---------------------------------------------------------------------------
+
+>>Event 'pa_meta1' at time 1504795745.06
+ Took 3.89 seconds
+
+-----------------------------------------------
+ Allocating metadata (pass 1)
+-----------------------------------------------
+Allocation Step
+Total metadata field instances to allocate: 4 / 44 bits (44 ingress bits and 0 egress bits)
+Promised metadata field instances to allocate: 1 / 9 bits (9 ingress bits and 0 egress bits)
+ 0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=3, earliest_use=0, latest_use=12)
+
+--------------
+Working on:
+ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
+bits_will_need_to_parse = 9
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+extracted_bits = 9 while meta_fi.bit_width = 9
+Parse state 0 (9 bits)
+ ig_intr_md_for_tm.ucast_egress_port [8:0]
+----------------------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+----------------------------------------------------------------------------------------------------------------
+| ig_intr_md_for_tm.ucast_egress_port | 9 | False | [(16, 9)] | - | [8, 32] | 1 | 2 |
+----------------------------------------------------------------------------------------------------------------
+
+max_split = 1, adj = False
+required_packing = [(16, 9)]
+Packing options: 1
+Valid packing options: 1
+
+Attempting to overlay...
+ [16]
+ case 2: looking at allowed start bits [0]
+ final start_bit = 0
+ (1) msb_offset = 9
+>> HEY!: Adjusted msb_offset!
+>>Can pack using [16] if open up 1 new containers.
+
+Attempting to share...
+
+ [16]
+ (2a) msb_offset = 16
+>>Can pack using [16] if open up 1 new containers.
+
+>>Choose overlay option
+ case 2: looking at allowed start bits [0]
+ final start_bit = 0
+ (1) msb_offset = 9
+>> HEY!: Adjusted msb_offset!
+***Allocating phv130[8:0] for ig_intr_md_for_tm.ucast_egress_port[8:0]
+Allocation state after promised meta allocated:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+------------------------------------------------------------------------------
+| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
+| | | | |
+| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
+| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 6 (9.38%) | 48 (9.38%) | 512 |
+| | | | |
+| 8 (16) | 6 (37.50%) | 89 (34.77%) | 256 |
+| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 9 (9.38%) | 137 (8.92%) | 1536 |
+| | | | |
+| 14 (32) T | 12 (75.00%) | 384 (75.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 12 (37.50%) | 384 (37.50%) | 1024 |
+| | | | |
+| 16 (8) T | 9 (56.25%) | 72 (56.25%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 9 (28.12%) | 72 (28.12%) | 256 |
+| | | | |
+| 18 (16) T | 14 (87.50%) | 224 (87.50%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 14 (29.17%) | 224 (29.17%) | 768 |
+| | | | |
+| MAU total | 21 (9.38%) | 377 (9.20%) | 4096 |
+| Tagalong total | 35 (31.25%) | 680 (33.20%) | 2048 |
+| Overall total | 56 (16.67%) | 1057 (17.20%) | 6144 |
+------------------------------------------------------------------------------
+
+Allocation state difference after promised meta allocated:
+Allocation state: Diff
+--------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+--------------------------------------------------------------------------
+| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
+| | | | |
+| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
+| | | | |
+| 8 (16) | 1 (6.25%) | 9 (3.52%) | 256 |
+| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 1 (1.04%) | 9 (0.59%) | 1536 |
+| | | | |
+| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
+| | | | |
+| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
+| | | | |
+| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
+| | | | |
+| MAU total | 1 (0.45%) | 9 (0.22%) | 4096 |
+| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
+| Overall total | 1 (0.30%) | 9 (0.15%) | 6144 |
+--------------------------------------------------------------------------
+
+Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
+>>Event 'pa_pov' at time 1504795745.11
+ Took 0.05 seconds
+
+-----------------------------------------------
+ Allocating POV
+-----------------------------------------------
+Allocation Step
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+------------------------------------------------------------------------------
+| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
+| | | | |
+| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
+| 5 (8) | 2 (12.50%) | 16 (12.50%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 6 (9.38%) | 48 (9.38%) | 512 |
+| | | | |
+| 8 (16) | 6 (37.50%) | 89 (34.77%) | 256 |
+| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 9 (9.38%) | 137 (8.92%) | 1536 |
+| | | | |
+| 14 (32) T | 12 (75.00%) | 384 (75.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 12 (37.50%) | 384 (37.50%) | 1024 |
+| | | | |
+| 16 (8) T | 9 (56.25%) | 72 (56.25%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 9 (28.12%) | 72 (28.12%) | 256 |
+| | | | |
+| 18 (16) T | 14 (87.50%) | 224 (87.50%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 14 (29.17%) | 224 (29.17%) | 768 |
+| | | | |
+| MAU total | 21 (9.38%) | 377 (9.20%) | 4096 |
+| Tagalong total | 35 (31.25%) | 680 (33.20%) | 2048 |
+| Overall total | 56 (16.67%) | 1057 (17.20%) | 6144 |
+------------------------------------------------------------------------------
+
+Sorted POV field instances to allocate (with best pack): 13
+ 0: --validity_check--packet_in_hdr (ingress) -- max pov share 6 / best pack 5
+ 1: --validity_check--packet_out_hdr (ingress) -- max pov share 6 / best pack 5
+ 2: --validity_check--ethernet (ingress) -- max pov share 6 / best pack 5
+ 3: --validity_check--ipv4 (ingress) -- max pov share 6 / best pack 5
+ 4: --validity_check--tcp (ingress) -- max pov share 6 / best pack 5
+ 5: --validity_check--udp (ingress) -- max pov share 6 / best pack 5
+ 6: --validity_check--metadata_bridge (ingress) -- max pov share 6 / best pack 5
+ 7: --validity_check--packet_in_hdr (egress) -- max pov share 5 / best pack 4
+ 8: --validity_check--packet_out_hdr (egress) -- max pov share 5 / best pack 4
+ 9: --validity_check--ethernet (egress) -- max pov share 5 / best pack 4
+ 10: --validity_check--ipv4 (egress) -- max pov share 5 / best pack 4
+ 11: --validity_check--tcp (egress) -- max pov share 5 / best pack 4
+ 12: --validity_check--udp (egress) -- max pov share 5 / best pack 4
+
+Working on
+--validity_check--packet_in_hdr <1 bits ingress parsed pov>
+Call to _allocate_pov_helper for:
+ --validity_check--packet_in_hdr (ingress)
+ Best pack group: (6)
+
+Looking for container to share POV bit in from already allocated containers for POV.
+Container availability (not used yet for POV): total 192 / partial 1
+
+Looking for container to share POV bit in from already allocated containers that have not been used for POV.
+>>Choose container phv68, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
+ >> Decided to allocate new container
+Required container phv68
+***Allocating phv68[0:0] for --validity_check--packet_in_hdr[0:0]
+***Allocating phv68[1:1] for --validity_check--packet_out_hdr[0:0]
+***Allocating phv68[2:2] for --validity_check--ethernet[0:0]
+***Allocating phv68[3:3] for --validity_check--ipv4[0:0]
+***Allocating phv68[4:4] for --validity_check--tcp[0:0]
+***Allocating phv68[5:5] for --validity_check--udp[0:0]
+***Allocating phv68[6:6] for --validity_check--metadata_bridge[0:0]
+
+Working on
+--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
+ Already allocated.
+
+Working on
+--validity_check--ethernet <1 bits ingress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--ipv4 <1 bits ingress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--tcp <1 bits ingress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--udp <1 bits ingress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--metadata_bridge <1 bits ingress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--packet_in_hdr <1 bits egress parsed pov W>
+Call to _allocate_pov_helper for:
+ --validity_check--packet_in_hdr (egress)
+ Best pack group: (5)
+
+Looking for container to share POV bit in from already allocated containers for POV.
+Container availability (not used yet for POV): total 195 / partial 0
+
+Looking for container to share POV bit in from already allocated containers that have not been used for POV.
+>>Choose container phv82, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 6).
+ >> Decided to allocate new container
+Required container phv82
+***Allocating phv82[0:0] for --validity_check--packet_in_hdr[0:0]
+***Allocating phv82[1:1] for --validity_check--packet_out_hdr[0:0]
+***Allocating phv82[2:2] for --validity_check--ethernet[0:0]
+***Allocating phv82[3:3] for --validity_check--ipv4[0:0]
+***Allocating phv82[4:4] for --validity_check--tcp[0:0]
+***Allocating phv82[5:5] for --validity_check--udp[0:0]
+
+Working on
+--validity_check--packet_out_hdr <1 bits egress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--ethernet <1 bits egress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--ipv4 <1 bits egress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--tcp <1 bits egress parsed pov>
+ Already allocated.
+
+Working on
+--validity_check--udp <1 bits egress parsed pov>
+ Already allocated.
+
+Sum of container bit widths POVs found in: 16
+ ingress
+ phv68 (8 bits)
+ >> 8 total bits
+ egress
+ phv82 (8 bits)
+ >> 8 total bits
+>>Event 'pa_meta2' at time 1504795745.23
+ Took 0.12 seconds
+
+-----------------------------------------------
+ Allocating metadata (pass 2)
+-----------------------------------------------
+Allocation Step
+Total metadata field instances to allocate: 3 / 35 bits (35 ingress bits and 0 egress bits)
+Promised metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
+Allocation state after promised meta allocated:
+Allocation state: Final Allocation
+------------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+------------------------------------------------------------------------------
+| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
+| | | | |
+| 4 (8) | 5 (31.25%) | 39 (30.47%) | 128 |
+| 5 (8) | 3 (18.75%) | 22 (17.19%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 8 (12.50%) | 61 (11.91%) | 512 |
+| | | | |
+| 8 (16) | 6 (37.50%) | 89 (34.77%) | 256 |
+| 9 (16) | 3 (18.75%) | 48 (18.75%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 9 (9.38%) | 137 (8.92%) | 1536 |
+| | | | |
+| 14 (32) T | 12 (75.00%) | 384 (75.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 12 (37.50%) | 384 (37.50%) | 1024 |
+| | | | |
+| 16 (8) T | 9 (56.25%) | 72 (56.25%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 9 (28.12%) | 72 (28.12%) | 256 |
+| | | | |
+| 18 (16) T | 14 (87.50%) | 224 (87.50%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 14 (29.17%) | 224 (29.17%) | 768 |
+| | | | |
+| MAU total | 23 (10.27%) | 390 (9.52%) | 4096 |
+| Tagalong total | 35 (31.25%) | 680 (33.20%) | 2048 |
+| Overall total | 58 (17.26%) | 1070 (17.42%) | 6144 |
+------------------------------------------------------------------------------
+
+Allocation state difference after promised meta allocated:
+Allocation state: Diff
+--------------------------------------------------------------------------
+| PHV Group | Containers Used | Bits Used | Bits Available |
+| (container bit widths) | (% used) | (% used) | |
+--------------------------------------------------------------------------
+| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
+| | | | |
+| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
+| | | | |
+| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 1536 |
+| | | | |
+| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
+| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
+| | | | |
+| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
+| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
+| | | | |
+| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
+| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
+| | | | |
+| MAU total | 0 (0.00%) | 0 (0.00%) | 4096 |
+| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
+| Overall total | 0 (0.00%) | 0 (0.00%) | 6144 |
+--------------------------------------------------------------------------
+
+Sorted metadata field instances to allocate: 3 / 35 bits (35 ingress bits and 0 egress bits)
+ 0: ecmp_metadata.groupId (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=1, latest_use=2)
+ 1: ecmp_metadata.selector (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=1, latest_use=2)
+ 2: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=2, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=1, latest_use=12)
+
+---------------------------------------
+Working on:
+ecmp_metadata.groupId <16 bits ingress meta R W>
+max_split = None, adj = None
+Of remaining metadata fields to allocate
+ max_overlay = 0 (0 bits)
+ max_share = 1 (3 bits)
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+ ecmp_metadata.groupId [15:0]
+--------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+--------------------------------------------------------------------------------------------
+| ecmp_metadata.groupId | 16 | False | - | - | - | None | 1 |
+--------------------------------------------------------------------------------------------
+
+ req packing: [None]
+ disallowed packing: [None]
+ Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv6 -- fails False
+ Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
+ Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
+ Group 4 8 bits -- avail 11 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 5 8 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 6 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 7 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 8 16 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv134 -- fails False
+ Group 9 16 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
+ Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
+ Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
+ Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
+Metadata instance: ecmp_metadata.groupId <16 bits ingress meta R W>
+>>req_alignment = None
+>>allowed_container_start_bits = None
+>>req_container = None
+***Allocating phv134[15:0] for ecmp_metadata.groupId[15:0]
+
+---------------------------------------
+Working on:
+ecmp_metadata.selector <16 bits ingress meta R W>
+max_split = None, adj = None
+Of remaining metadata fields to allocate
+ max_overlay = 0 (0 bits)
+ max_share = 1 (3 bits)
+bits_will_need_to_parse = 16
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 16
+Parse state 0 (16 bits)
+ ecmp_metadata.selector [15:0]
+---------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+---------------------------------------------------------------------------------------------
+| ecmp_metadata.selector | 16 | False | - | - | - | None | 1 |
+---------------------------------------------------------------------------------------------
+
+ req packing: [None]
+ disallowed packing: [None]
+ Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv6 -- fails False
+ Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
+ Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
+ Group 4 8 bits -- avail 11 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 5 8 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 6 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 7 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 8 16 bits -- avail 9 and promised 1 -- ingress promised 1 and remain 8 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv135 -- fails False
+ Group 9 16 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
+ Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
+ Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
+ Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
+Metadata instance: ecmp_metadata.selector <16 bits ingress meta R W>
+>>req_alignment = None
+>>allowed_container_start_bits = None
+>>req_container = None
+***Allocating phv135[15:0] for ecmp_metadata.selector[15:0]
+
+---------------------------------------
+Working on:
+ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
+max_split = 1, adj = False
+Of remaining metadata fields to allocate
+ max_overlay = 0 (0 bits)
+ max_share = 0 (0 bits)
+bits_will_need_to_parse = 3
+unused_metadata_container_bits = 0
+min_parse_states = 1
+bits_per_state = 8
+Parse state 0 (3 bits)
+ ig_intr_md_for_tm.drop_ctl [2:0]
+-------------------------------------------------------------------------------------------------
+| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
+-------------------------------------------------------------------------------------------------
+| ig_intr_md_for_tm.drop_ctl | 3 | False | - | - | - | 1 | 1 |
+-------------------------------------------------------------------------------------------------
+
+ req packing: [None]
+ disallowed packing: [None]
+ Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv6 -- fails False
+ Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv32 -- fails False
+ Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv48 -- fails False
+ Group 4 8 bits -- avail 11 and promised 1 -- ingress promised 1 and remain 10 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv69 -- fails False
+ Group 5 8 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 6 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv96 -- fails False
+ Group 7 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv112 -- fails False
+ Group 8 16 bits -- avail 8 and promised 1 -- ingress promised 1 and remain 7 and req 1 -- egress promised 0 and remain 0 and req 0 -- as if deparsed True -- container_to_use phv136 -- fails False
+ Group 9 16 bits -- avail 13 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
+ Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv160 -- fails False
+ Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv176 -- fails False
+ Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv192 -- fails False
+ Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv208 -- fails False
+Metadata instance: ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
+>>req_alignment = None
+>>allowed_container_start_bits = [0, 1, 2, 3, 4, 5, 6, 7]
+>>req_container = None
+ case 2: looking at allowed start bits [0, 1, 2, 3, 4, 5, 6, 7]
+ final start_bit = 5
+ (1) msb_offset = 8
+***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
+>>Event 'pa_meta_init' at time 1504795745.39
+ Took 0.16 seconds
+
+-----------------------------------------------
+ Adding metadata initialization
+-----------------------------------------------
+
++------------------------+
+
+Performing inject metadata initialization instructions: (0)
+tbl_name_to_common_edge_groups: 0
+all_edge: 0
+
+Performing replace metadata initialization instructions: (0)
+
+Performing remove metadata initialization instructions: (0)
+
+Performing clear metadata initialization instructions: (0)
+
+Performing invalidate metadata initialization instructions: (0)
+
+ Total overlay containers examined for initialization: 0
+
+-----------------------------------------------
+ Checking constraints satisfied
+-----------------------------------------------
+ No constraints violated.