blob: fa6a416595e70659fcbca57a9fa1191cf793e366 [file] [log] [blame]
+---------------------------------------------------------------------+
| Log file: pa.log |
| Compiler version: 5.1.0 (fca32d1) |
| Created on: Wed Sep 13 12:57:41 2017 |
+---------------------------------------------------------------------+
HLIR Version: 0.10.5
PHV container sizes are: [8, 16, 32]
Parser state extraction bandwidth: 224
8-bit: 4 extracts
16-bit: 4 extracts
32-bit: 4 extracts
Free containers to start for 8 bits:
Group 4 8 bits has 16 available
Group 5 8 bits has 16 available
Group 6 8 bits has 16 available
Group 7 8 bits has 16 available
Group 16 8 bits (tagalong) has 16 available
Group 17 8 bits (tagalong) has 16 available
Free containers to start for 16 bits:
Group 8 16 bits has 16 available
Group 9 16 bits has 16 available
Group 10 16 bits has 16 available
Group 11 16 bits has 16 available
Group 12 16 bits has 16 available
Group 13 16 bits has 16 available
Group 18 16 bits (tagalong) has 16 available
Group 19 16 bits (tagalong) has 16 available
Group 20 16 bits (tagalong) has 16 available
Free containers to start for 32 bits:
Group 0 32 bits has 16 available
Group 1 32 bits has 16 available
Group 2 32 bits has 16 available
Group 3 32 bits has 16 available
Group 14 32 bits (tagalong) has 16 available
Group 15 32 bits (tagalong) has 16 available
Initializing PHV allocation...
Ingress intrinsic metadata fields branch on includes:
ig_intr_md.ingress_port
-----------------------------------------------
User added PHV constraints
-----------------------------------------------
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
-----------------------------------------------
Scanning for field list calculations
-----------------------------------------------
-----------------------------------------------
Eliminating unused metadata (100 instances)
-----------------------------------------------
Removing standard_metadata.ingress_port in ingress
Removing standard_metadata.packet_length in ingress
Removing standard_metadata.egress_spec in ingress
Removing standard_metadata.egress_port in ingress
Removing standard_metadata.egress_instance in ingress
Removing standard_metadata.instance_type in ingress
Removing standard_metadata.clone_spec in ingress
Removing standard_metadata._padding in ingress
Removing standard_metadata.valid in ingress
Removing ig_intr_md.ingress_mac_tstamp in ingress
Removing ig_intr_md.valid in ingress
Removing ig_intr_md_for_tm._pad1 in ingress
Removing ig_intr_md_for_tm.bypass_egress in ingress
Removing ig_intr_md_for_tm.deflect_on_drop in ingress
Removing ig_intr_md_for_tm.ingress_cos in ingress
Removing ig_intr_md_for_tm.qid in ingress
Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
Removing ig_intr_md_for_tm._pad2 in ingress
Removing ig_intr_md_for_tm.copy_to_cpu in ingress
Removing ig_intr_md_for_tm.packet_color in ingress
Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
Removing ig_intr_md_for_tm.mcast_grp_a in ingress
Removing ig_intr_md_for_tm.mcast_grp_b in ingress
Removing ig_intr_md_for_tm._pad3 in ingress
Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
Removing ig_intr_md_for_tm._pad4 in ingress
Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
Removing ig_intr_md_for_tm._pad5 in ingress
Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
Removing ig_intr_md_for_tm.rid in ingress
Removing ig_intr_md_for_tm.valid in ingress
Removing ig_intr_md_for_mb._pad1 in ingress
Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
Removing ig_intr_md_for_mb.valid in ingress
Removing eg_intr_md._pad0 in ingress
Removing eg_intr_md.egress_port in ingress
Removing eg_intr_md._pad1 in ingress
Removing eg_intr_md.enq_qdepth in ingress
Removing eg_intr_md._pad2 in ingress
Removing eg_intr_md.enq_congest_stat in ingress
Removing eg_intr_md.enq_tstamp in ingress
Removing eg_intr_md._pad3 in ingress
Removing eg_intr_md.deq_qdepth in ingress
Removing eg_intr_md._pad4 in ingress
Removing eg_intr_md.deq_congest_stat in ingress
Removing eg_intr_md.app_pool_congest_stat in ingress
Removing eg_intr_md.deq_timedelta in ingress
Removing eg_intr_md.egress_rid in ingress
Removing eg_intr_md._pad5 in ingress
Removing eg_intr_md.egress_rid_first in ingress
Removing eg_intr_md._pad6 in ingress
Removing eg_intr_md.egress_qid in ingress
Removing eg_intr_md._pad7 in ingress
Removing eg_intr_md.egress_cos in ingress
Removing eg_intr_md._pad8 in ingress
Removing eg_intr_md.deflection_flag in ingress
Removing eg_intr_md.pkt_length in ingress
Removing eg_intr_md.valid in ingress
Removing eg_intr_md_for_mb._pad1 in ingress
Removing eg_intr_md_for_mb.egress_mirror_id in ingress
Removing eg_intr_md_for_mb.coalesce_flush in ingress
Removing eg_intr_md_for_mb.coalesce_length in ingress
Removing eg_intr_md_for_mb.valid in ingress
Removing eg_intr_md_for_oport._pad1 in ingress
Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
Removing eg_intr_md_for_oport.force_tx_error in ingress
Removing eg_intr_md_for_oport.drop_ctl in ingress
Removing eg_intr_md_for_oport.valid in ingress
Removing ecmp_metadata.valid in ingress
Removing eg_intr_md._pad1 in egress
Removing eg_intr_md.enq_qdepth in egress
Removing eg_intr_md._pad2 in egress
Removing eg_intr_md.enq_congest_stat in egress
Removing eg_intr_md.enq_tstamp in egress
Removing eg_intr_md._pad3 in egress
Removing eg_intr_md.deq_qdepth in egress
Removing eg_intr_md._pad4 in egress
Removing eg_intr_md.deq_congest_stat in egress
Removing eg_intr_md.app_pool_congest_stat in egress
Removing eg_intr_md.deq_timedelta in egress
Removing eg_intr_md.egress_rid in egress
Removing eg_intr_md._pad5 in egress
Removing eg_intr_md.egress_rid_first in egress
Removing eg_intr_md._pad6 in egress
Removing eg_intr_md.egress_qid in egress
Removing eg_intr_md._pad8 in egress
Removing eg_intr_md.deflection_flag in egress
Removing eg_intr_md.pkt_length in egress
Removing eg_intr_md_for_oport._pad1 in egress
Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
Removing eg_intr_md_for_oport.update_delay_on_tx in egress
Removing eg_intr_md_for_oport.force_tx_error in egress
Removing eg_intr_md_for_oport.drop_ctl in egress
Removing eg_intr_md_for_mb._pad1 in egress
Removing eg_intr_md_for_mb.egress_mirror_id in egress
Removing eg_intr_md_for_mb.coalesce_flush in egress
Removing eg_intr_md_for_mb.coalesce_length in egress
-----------------------------------------------
Eliminating unused packet fields (6 instances)
-----------------------------------------------
Removing packet_in_hdr.valid in ingress
Removing packet_out_hdr.valid in ingress
Removing ethernet.valid in ingress
Removing ipv4.valid in ingress
Removing tcp.valid in ingress
Removing udp.valid in ingress
--------------------------------------------
ingress field instance bit width histogram
--------------------------------------------
Total fields: 50
Max value: 15
1 : xxxxxxxxx (9)
2 : x (1)
3 : xxxxx (5)
4 : xxx (3)
6 : x (1)
7 : xx (2)
8 : xxx (3)
9 : xxxx (4)
13 : x (1)
16 : xxxxxxxxxxxxxxx (15)
32 : xxxx (4)
48 : xx (2)
--------------------------------------------
egress field instance bit width histogram
--------------------------------------------
Total fields: 44
Max value: 13
1 : xxxxxx (6)
3 : xxxx (4)
4 : xxx (3)
5 : x (1)
6 : x (1)
7 : xxx (3)
8 : xxx (3)
9 : xxx (3)
13 : x (1)
16 : xxxxxxxxxxxxx (13)
32 : xxxx (4)
48 : xx (2)
HLIR Version: 0.10.5
PHV container sizes are: [8, 16, 32]
Parser state extraction bandwidth: 224
8-bit: 4 extracts
16-bit: 4 extracts
32-bit: 4 extracts
Free containers to start for 8 bits:
Group 4 8 bits has 16 available
Group 5 8 bits has 16 available
Group 6 8 bits has 16 available
Group 7 8 bits has 16 available
Group 16 8 bits (tagalong) has 16 available
Group 17 8 bits (tagalong) has 16 available
Free containers to start for 16 bits:
Group 8 16 bits has 16 available
Group 9 16 bits has 16 available
Group 10 16 bits has 16 available
Group 11 16 bits has 16 available
Group 12 16 bits has 16 available
Group 13 16 bits has 16 available
Group 18 16 bits (tagalong) has 16 available
Group 19 16 bits (tagalong) has 16 available
Group 20 16 bits (tagalong) has 16 available
Free containers to start for 32 bits:
Group 0 32 bits has 16 available
Group 1 32 bits has 16 available
Group 2 32 bits has 16 available
Group 3 32 bits has 16 available
Group 14 32 bits (tagalong) has 16 available
Group 15 32 bits (tagalong) has 16 available
Initializing PHV allocation...
Ingress intrinsic metadata fields branch on includes:
ig_intr_md.ingress_port
-----------------------------------------------
User added PHV constraints
-----------------------------------------------
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_mcast_hash <13 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level2_exclusion_id <9 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_b <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_exclusion_id <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.rid <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.level1_mcast_hash <13 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_tm.mcast_grp_a <16 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: ig_intr_md_for_mb.ingress_mirror_id <10 bits ingress imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: eg_intr_md.egress_port <9 bits egress parsed imeta> -- max split: 1
User added constraint MaxFieldSplit Constraint: eg_intr_md_for_mb.egress_mirror_id <10 bits egress imeta> -- max split: 1
-----------------------------------------------
Scanning for field list calculations
-----------------------------------------------
-----------------------------------------------
Eliminating unused metadata (100 instances)
-----------------------------------------------
Removing standard_metadata.ingress_port in ingress
Removing standard_metadata.packet_length in ingress
Removing standard_metadata.egress_spec in ingress
Removing standard_metadata.egress_port in ingress
Removing standard_metadata.egress_instance in ingress
Removing standard_metadata.instance_type in ingress
Removing standard_metadata.clone_spec in ingress
Removing standard_metadata._padding in ingress
Removing standard_metadata.valid in ingress
Removing ig_intr_md.ingress_mac_tstamp in ingress
Removing ig_intr_md.valid in ingress
Removing ig_intr_md_for_tm._pad1 in ingress
Removing ig_intr_md_for_tm.bypass_egress in ingress
Removing ig_intr_md_for_tm.deflect_on_drop in ingress
Removing ig_intr_md_for_tm.ingress_cos in ingress
Removing ig_intr_md_for_tm.qid in ingress
Removing ig_intr_md_for_tm.icos_for_copy_to_cpu in ingress
Removing ig_intr_md_for_tm._pad2 in ingress
Removing ig_intr_md_for_tm.copy_to_cpu in ingress
Removing ig_intr_md_for_tm.packet_color in ingress
Removing ig_intr_md_for_tm.disable_ucast_cutthru in ingress
Removing ig_intr_md_for_tm.enable_mcast_cutthru in ingress
Removing ig_intr_md_for_tm.mcast_grp_a in ingress
Removing ig_intr_md_for_tm.mcast_grp_b in ingress
Removing ig_intr_md_for_tm._pad3 in ingress
Removing ig_intr_md_for_tm.level1_mcast_hash in ingress
Removing ig_intr_md_for_tm._pad4 in ingress
Removing ig_intr_md_for_tm.level2_mcast_hash in ingress
Removing ig_intr_md_for_tm.level1_exclusion_id in ingress
Removing ig_intr_md_for_tm._pad5 in ingress
Removing ig_intr_md_for_tm.level2_exclusion_id in ingress
Removing ig_intr_md_for_tm.rid in ingress
Removing ig_intr_md_for_tm.valid in ingress
Removing ig_intr_md_for_mb._pad1 in ingress
Removing ig_intr_md_for_mb.ingress_mirror_id in ingress
Removing ig_intr_md_for_mb.valid in ingress
Removing eg_intr_md._pad0 in ingress
Removing eg_intr_md.egress_port in ingress
Removing eg_intr_md._pad1 in ingress
Removing eg_intr_md.enq_qdepth in ingress
Removing eg_intr_md._pad2 in ingress
Removing eg_intr_md.enq_congest_stat in ingress
Removing eg_intr_md.enq_tstamp in ingress
Removing eg_intr_md._pad3 in ingress
Removing eg_intr_md.deq_qdepth in ingress
Removing eg_intr_md._pad4 in ingress
Removing eg_intr_md.deq_congest_stat in ingress
Removing eg_intr_md.app_pool_congest_stat in ingress
Removing eg_intr_md.deq_timedelta in ingress
Removing eg_intr_md.egress_rid in ingress
Removing eg_intr_md._pad5 in ingress
Removing eg_intr_md.egress_rid_first in ingress
Removing eg_intr_md._pad6 in ingress
Removing eg_intr_md.egress_qid in ingress
Removing eg_intr_md._pad7 in ingress
Removing eg_intr_md.egress_cos in ingress
Removing eg_intr_md._pad8 in ingress
Removing eg_intr_md.deflection_flag in ingress
Removing eg_intr_md.pkt_length in ingress
Removing eg_intr_md.valid in ingress
Removing eg_intr_md_for_mb._pad1 in ingress
Removing eg_intr_md_for_mb.egress_mirror_id in ingress
Removing eg_intr_md_for_mb.coalesce_flush in ingress
Removing eg_intr_md_for_mb.coalesce_length in ingress
Removing eg_intr_md_for_mb.valid in ingress
Removing eg_intr_md_for_oport._pad1 in ingress
Removing eg_intr_md_for_oport.capture_tstamp_on_tx in ingress
Removing eg_intr_md_for_oport.update_delay_on_tx in ingress
Removing eg_intr_md_for_oport.force_tx_error in ingress
Removing eg_intr_md_for_oport.drop_ctl in ingress
Removing eg_intr_md_for_oport.valid in ingress
Removing ecmp_metadata.valid in ingress
Removing eg_intr_md._pad1 in egress
Removing eg_intr_md.enq_qdepth in egress
Removing eg_intr_md._pad2 in egress
Removing eg_intr_md.enq_congest_stat in egress
Removing eg_intr_md.enq_tstamp in egress
Removing eg_intr_md._pad3 in egress
Removing eg_intr_md.deq_qdepth in egress
Removing eg_intr_md._pad4 in egress
Removing eg_intr_md.deq_congest_stat in egress
Removing eg_intr_md.app_pool_congest_stat in egress
Removing eg_intr_md.deq_timedelta in egress
Removing eg_intr_md.egress_rid in egress
Removing eg_intr_md._pad5 in egress
Removing eg_intr_md.egress_rid_first in egress
Removing eg_intr_md._pad6 in egress
Removing eg_intr_md.egress_qid in egress
Removing eg_intr_md._pad8 in egress
Removing eg_intr_md.deflection_flag in egress
Removing eg_intr_md.pkt_length in egress
Removing eg_intr_md_for_oport._pad1 in egress
Removing eg_intr_md_for_oport.capture_tstamp_on_tx in egress
Removing eg_intr_md_for_oport.update_delay_on_tx in egress
Removing eg_intr_md_for_oport.force_tx_error in egress
Removing eg_intr_md_for_oport.drop_ctl in egress
Removing eg_intr_md_for_mb._pad1 in egress
Removing eg_intr_md_for_mb.egress_mirror_id in egress
Removing eg_intr_md_for_mb.coalesce_flush in egress
Removing eg_intr_md_for_mb.coalesce_length in egress
-----------------------------------------------
Eliminating unused packet fields (6 instances)
-----------------------------------------------
Removing packet_in_hdr.valid in ingress
Removing packet_out_hdr.valid in ingress
Removing ethernet.valid in ingress
Removing ipv4.valid in ingress
Removing tcp.valid in ingress
Removing udp.valid in ingress
--------------------------------------------
ingress field instance bit width histogram
--------------------------------------------
Total fields: 50
Max value: 15
1 : xxxxxxxxx (9)
2 : x (1)
3 : xxxxx (5)
4 : xxx (3)
6 : x (1)
7 : xx (2)
8 : xxx (3)
9 : xxxx (4)
13 : x (1)
16 : xxxxxxxxxxxxxxx (15)
32 : xxxx (4)
48 : xx (2)
--------------------------------------------
egress field instance bit width histogram
--------------------------------------------
Total fields: 44
Max value: 13
1 : xxxxxx (6)
3 : xxxx (4)
4 : xxx (3)
5 : x (1)
6 : x (1)
7 : xxx (3)
8 : xxx (3)
9 : xxx (3)
13 : x (1)
16 : xxxxxxxxxxxxx (13)
32 : xxxx (4)
48 : xx (2)
---------------------------------------------------------------------------------------------------------------------------------
| Field Name | Bit Width | Direction | Parsed? | Deparsed? | Metadata? | Read in MAU? | Write in MAU? |
---------------------------------------------------------------------------------------------------------------------------------
| --validity_check--ethernet | 1 | egress | x | x | | | |
| --validity_check--ipv4 | 1 | egress | x | x | | | |
| --validity_check--packet_in_hdr | 1 | egress | x | x | | | |
| --validity_check--packet_out_hdr | 1 | egress | x | x | | | |
| --validity_check--tcp | 1 | egress | x | x | | | |
| --validity_check--udp | 1 | egress | x | x | | | |
| eg_intr_md._pad0 | 7 | egress | x | | x | | |
| eg_intr_md._pad7 | 5 | egress | x | | x | | |
| eg_intr_md.egress_cos | 3 | egress | x | x | x | | |
| eg_intr_md.egress_port | 9 | egress | x | x | x | | |
| ethernet.dstAddr | 48 | egress | x | x | | | |
| ethernet.etherType | 16 | egress | x | x | | | |
| ethernet.srcAddr | 48 | egress | x | x | | | |
| ipv4.diffserv | 8 | egress | x | x | | | |
| ipv4.dstAddr | 32 | egress | x | x | | | |
| ipv4.flags | 3 | egress | x | x | | | |
| ipv4.fragOffset | 13 | egress | x | x | | | |
| ipv4.hdrChecksum | 16 | egress | x | x | | | |
| ipv4.identification | 16 | egress | x | x | | | |
| ipv4.ihl | 4 | egress | x | x | | | |
| ipv4.protocol | 8 | egress | x | x | | | |
| ipv4.srcAddr | 32 | egress | x | x | | | |
| ipv4.totalLen | 16 | egress | x | x | | | |
| ipv4.ttl | 8 | egress | x | x | | | |
| ipv4.version | 4 | egress | x | x | | | |
| packet_in_hdr._padding | 7 | egress | x | x | | | |
| packet_in_hdr.ingress_port | 9 | egress | x | x | | | |
| packet_out_hdr._padding | 7 | egress | x | x | | | |
| packet_out_hdr.egress_port | 9 | egress | x | x | | | |
| tcp.ackNo | 32 | egress | x | x | | | |
| tcp.checksum | 16 | egress | x | x | | | |
| tcp.ctrl | 6 | egress | x | x | | | |
| tcp.dataOffset | 4 | egress | x | x | | | |
| tcp.dstPort | 16 | egress | x | x | | | |
| tcp.ecn | 3 | egress | x | x | | | |
| tcp.res | 3 | egress | x | x | | | |
| tcp.seqNo | 32 | egress | x | x | | | |
| tcp.srcPort | 16 | egress | x | x | | | |
| tcp.urgentPtr | 16 | egress | x | x | | | |
| tcp.window | 16 | egress | x | x | | | |
| udp.checksum | 16 | egress | x | x | | | |
| udp.dstPort | 16 | egress | x | x | | | |
| udp.length_ | 16 | egress | x | x | | | |
| udp.srcPort | 16 | egress | x | x | | | |
| --validity_check--ethernet | 1 | ingress | x | x | | | |
| --validity_check--ipv4 | 1 | ingress | x | x | | | |
| --validity_check--metadata_bridge | 1 | ingress | x | x | | | |
| --validity_check--packet_in_hdr | 1 | ingress | x | x | | | x |
| --validity_check--packet_out_hdr | 1 | ingress | x | x | | x | x |
| --validity_check--tcp | 1 | ingress | x | x | | | |
| --validity_check--udp | 1 | ingress | x | x | | | |
| ecmp_metadata.group_id | 16 | ingress | | | x | x | x |
| ecmp_metadata.selector | 16 | ingress | | | x | x | x |
| ethernet.dstAddr | 48 | ingress | x | x | | x | |
| ethernet.etherType | 16 | ingress | x | x | | x | |
| ethernet.srcAddr | 48 | ingress | x | x | | x | |
| ig_intr_md._pad1 | 1 | ingress | x | | x | | |
| ig_intr_md._pad2 | 2 | ingress | x | | x | | |
| ig_intr_md._pad3 | 3 | ingress | x | | x | | |
| ig_intr_md.ingress_port | 9 | ingress | x | x | x | x | |
| ig_intr_md.resubmit_flag | 1 | ingress | x | | x | | |
| ig_intr_md_for_tm.drop_ctl | 3 | ingress | | x | x | | x |
| ig_intr_md_for_tm.ucast_egress_port | 9 | ingress | | x | x | x | x |
| ipv4.diffserv | 8 | ingress | x | x | | | |
| ipv4.dstAddr | 32 | ingress | x | x | | x | |
| ipv4.flags | 3 | ingress | x | x | | | |
| ipv4.fragOffset | 13 | ingress | x | x | | | |
| ipv4.hdrChecksum | 16 | ingress | x | x | | | |
| ipv4.identification | 16 | ingress | x | x | | | |
| ipv4.ihl | 4 | ingress | x | x | | | |
| ipv4.protocol | 8 | ingress | x | x | | | |
| ipv4.srcAddr | 32 | ingress | x | x | | x | |
| ipv4.totalLen | 16 | ingress | x | x | | | |
| ipv4.ttl | 8 | ingress | x | x | | | |
| ipv4.version | 4 | ingress | x | x | | | |
| packet_in_hdr._padding | 7 | ingress | x | x | | | |
| packet_in_hdr.ingress_port | 9 | ingress | x | x | | | x |
| packet_out_hdr._padding | 7 | ingress | x | x | | | |
| packet_out_hdr.egress_port | 9 | ingress | x | x | | x | |
| tcp.ackNo | 32 | ingress | x | x | | | |
| tcp.checksum | 16 | ingress | x | x | | | |
| tcp.ctrl | 6 | ingress | x | x | | | |
| tcp.dataOffset | 4 | ingress | x | x | | | |
| tcp.dstPort | 16 | ingress | x | x | | x | |
| tcp.ecn | 3 | ingress | x | x | | | |
| tcp.res | 3 | ingress | x | x | | | |
| tcp.seqNo | 32 | ingress | x | x | | | |
| tcp.srcPort | 16 | ingress | x | x | | x | |
| tcp.urgentPtr | 16 | ingress | x | x | | | |
| tcp.window | 16 | ingress | x | x | | | |
| udp.checksum | 16 | ingress | x | x | | | |
| udp.dstPort | 16 | ingress | x | x | | | |
| udp.length_ | 16 | ingress | x | x | | | |
| udp.srcPort | 16 | ingress | x | x | | | |
---------------------------------------------------------------------------------------------------------------------------------
Performing PHV allocation...
ingress_parser critical path: 464 bits
start of 0 bits
ingress_intrinsic_metadata of 16 bits
default_parser of 0 bits
parse_pkt_out of 16 bits
parse_ethernet of 112 bits
parse_ipv4 of 160 bits
parse_tcp of 160 bits
--ingress-- of 0 bits
--------------------------------------
Exclusive parse states in ingress_parser
--------------------------------------
parse_pkt_in and default_parser are exclusive parse states
parse_pkt_in and parse_pkt_out are exclusive parse states
parse_tcp and parse_udp are exclusive parse states
egress_parser critical path: 472 bits
start of 0 bits
egress_intrinsic_metadata of 24 bits
default_parser of 0 bits
parse_pkt_out of 16 bits
parse_ethernet of 112 bits
parse_ipv4 of 160 bits
parse_tcp of 160 bits
egress_for_mirror_buffer of 0 bits
--egress-- of 0 bits
--------------------------------------
Exclusive parse states in egress_parser
--------------------------------------
parse_pkt_in and default_parser are exclusive parse states
parse_pkt_in and parse_pkt_out are exclusive parse states
parse_tcp and parse_udp are exclusive parse states
>>Event 'pa_init' at time 1505307464.13
Took 0.01 seconds
--------------------------------------------
PHV MAU Groups: 92
--------------------------------------------
Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
ig_intr_md.ingress_port <9 bits ingress parsed imeta R>
packet_in_hdr.ingress_port <9 bits ingress parsed W>
Phv Mau Group (ingress) -- 2 instances for total bit width of 18.
ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
packet_out_hdr.egress_port <9 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
ig_intr_md.resubmit_flag <1 bits ingress parsed imeta>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
ig_intr_md._pad1 <1 bits ingress parsed imeta>
Phv Mau Group (ingress) -- 1 instance for total bit width of 2.
ig_intr_md._pad2 <2 bits ingress parsed imeta>
Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
ig_intr_md._pad3 <3 bits ingress parsed imeta>
Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--packet_in_hdr <1 bits ingress parsed pov W>
Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
packet_in_hdr._padding <7 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
Phv Mau Group (ingress) -- 1 instance for total bit width of 7.
packet_out_hdr._padding <7 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
ethernet.dstAddr <48 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--ethernet <1 bits ingress parsed pov>
Phv Mau Group (ingress) -- 1 instance for total bit width of 48.
ethernet.srcAddr <48 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
ethernet.etherType <16 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
ipv4.version <4 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--ipv4 <1 bits ingress parsed pov>
Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
ipv4.ihl <4 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
ipv4.diffserv <8 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
ipv4.totalLen <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
ipv4.identification <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
ipv4.flags <3 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 13.
ipv4.fragOffset <13 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
ipv4.ttl <8 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 8.
ipv4.protocol <8 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
ipv4.hdrChecksum <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
ipv4.srcAddr <32 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
ipv4.dstAddr <32 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
tcp.srcPort <16 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--tcp <1 bits ingress parsed pov>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
tcp.dstPort <16 bits ingress parsed R>
Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
tcp.seqNo <32 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 32.
tcp.ackNo <32 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 4.
tcp.dataOffset <4 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
tcp.res <3 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 3.
tcp.ecn <3 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 6.
tcp.ctrl <6 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
tcp.window <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
tcp.checksum <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
tcp.urgentPtr <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
udp.srcPort <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--udp <1 bits ingress parsed pov>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
udp.dstPort <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
udp.length_ <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
udp.checksum <16 bits ingress parsed tagalong>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
ecmp_metadata.group_id <16 bits ingress meta R W>
Phv Mau Group (ingress) -- 1 instance for total bit width of 16.
ecmp_metadata.selector <16 bits ingress meta R W>
Phv Mau Group (ingress) -- 1 instance for total bit width of 1.
--validity_check--metadata_bridge <1 bits ingress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 9.
packet_in_hdr.ingress_port <9 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 1.
--validity_check--packet_in_hdr <1 bits egress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 7.
packet_in_hdr._padding <7 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 9.
packet_out_hdr.egress_port <9 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 1.
--validity_check--packet_out_hdr <1 bits egress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 7.
packet_out_hdr._padding <7 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 48.
ethernet.dstAddr <48 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 1.
--validity_check--ethernet <1 bits egress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 48.
ethernet.srcAddr <48 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
ethernet.etherType <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 4.
ipv4.version <4 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 1.
--validity_check--ipv4 <1 bits egress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 4.
ipv4.ihl <4 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 8.
ipv4.diffserv <8 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
ipv4.totalLen <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
ipv4.identification <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 3.
ipv4.flags <3 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 13.
ipv4.fragOffset <13 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 8.
ipv4.ttl <8 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 8.
ipv4.protocol <8 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
ipv4.hdrChecksum <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 32.
ipv4.srcAddr <32 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 32.
ipv4.dstAddr <32 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
tcp.srcPort <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 1.
--validity_check--tcp <1 bits egress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
tcp.dstPort <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 32.
tcp.seqNo <32 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 32.
tcp.ackNo <32 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 4.
tcp.dataOffset <4 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 3.
tcp.res <3 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 3.
tcp.ecn <3 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 6.
tcp.ctrl <6 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
tcp.window <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
tcp.checksum <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
tcp.urgentPtr <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
udp.srcPort <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 1.
--validity_check--udp <1 bits egress parsed pov>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
udp.dstPort <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
udp.length_ <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 16.
udp.checksum <16 bits egress parsed tagalong>
Phv Mau Group (egress) -- 1 instance for total bit width of 7.
eg_intr_md._pad0 <7 bits egress parsed imeta>
Phv Mau Group (egress) -- 1 instance for total bit width of 9.
eg_intr_md.egress_port <9 bits egress parsed imeta>
Phv Mau Group (egress) -- 1 instance for total bit width of 5.
eg_intr_md._pad7 <5 bits egress parsed imeta>
Phv Mau Group (egress) -- 1 instance for total bit width of 3.
eg_intr_md.egress_cos <3 bits egress parsed imeta>
>>Event 'pa_resv' at time 1505307464.14
Took 0.00 seconds
-----------------------------------------------
Container reservations
-----------------------------------------------
Allocation Step
ingress reservations:
8-bit containers: 0
16-bit containers: 0
32-bit containers: 0
egress reservations:
8-bit containers: 0
16-bit containers: 0
32-bit containers: 0
None required.
-----------------------------------------------
Tagalong container reservations
-----------------------------------------------
Allocation Step
ingress reservations:
8-bit containers: 0
16-bit containers: 0
32-bit containers: 0
egress reservations:
8-bit containers: 0
16-bit containers: 0
32-bit containers: 0
None required.
-----------------------------------------------
POV bit index reservations
-----------------------------------------------
Allocation Step
POV bit indicies requested for ingress: [16]
MAU groups: 3
Group 0 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv0
Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
Reserving 32-bit container for ingress: phv0
>>Event 'pa_bridge' at time 1505307464.17
Took 0.04 seconds
-----------------------------------------------
Allocating fields related to bridged metadata
-----------------------------------------------
Allocation Step
No bridged metadata field instances required
After allocating bridged metadata:
Allocation state: Final Allocation
---------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
---------------------------------------------------------------------------
| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
| | | | |
| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
| | | | |
| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 1536 |
| | | | |
| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
| | | | |
| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
| | | | |
| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
| | | | |
| MAU total | 1 (0.45%) | 32 (0.78%) | 4096 |
| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
| Overall total | 1 (0.30%) | 32 (0.52%) | 6144 |
---------------------------------------------------------------------------
>>Event 'pa_phase0' at time 1505307464.18
Took 0.00 seconds
-----------------------------------------------
Allocating Phase 0-related metadata
-----------------------------------------------
Allocation Step
Phase 0 not in use.
After allocating data written by Phase 0:
Allocation state: Final Allocation
---------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
---------------------------------------------------------------------------
| 0 (32) | 1 (6.25%) | 32 (6.25%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 1 (1.56%) | 32 (1.56%) | 2048 |
| | | | |
| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
| | | | |
| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 1536 |
| | | | |
| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
| | | | |
| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
| | | | |
| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
| | | | |
| MAU total | 1 (0.45%) | 32 (0.78%) | 4096 |
| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
| Overall total | 1 (0.30%) | 32 (0.52%) | 6144 |
---------------------------------------------------------------------------
>>Event 'pa_critical' at time 1505307464.18
Took 0.00 seconds
-----------------------------------------------
Allocating headers on longest parse paths
-----------------------------------------------
Allocation Step
All Sorted parse nodes:
ingress_intrinsic_metadata (ingress) with bits = 16 and max = 2
parse_pkt_out (ingress) with bits = 16 and max = 2
parse_ipv4 (ingress) with bits = 160 and max = 1
parse_tcp (ingress) with bits = 160 and max = 1
parse_ipv4 (egress) with bits = 160 and max = 1
parse_tcp (egress) with bits = 160 and max = 1
parse_ethernet (ingress) with bits = 112 and max = 1
parse_ethernet (egress) with bits = 112 and max = 1
egress_intrinsic_metadata (egress) with bits = 24 and max = 1
parse_pkt_out (egress) with bits = 16 and max = 1
start () with bits = 0 and max = 0
default_parser () with bits = 0 and max = 0
--ingress-- () with bits = 0 and max = 0
start () with bits = 0 and max = 0
default_parser () with bits = 0 and max = 0
egress_for_mirror_buffer () with bits = 0 and max = 0
--egress-- () with bits = 0 and max = 0
Total packet bits: 936
Total meta bits: 0
Total bits: 936
Working on parse node ingress_intrinsic_metadata (9) (ingress)
-------------------------------------------
Allocating parsed header: pkt fields (5) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
ig_intr_md.resubmit_flag [0:0]
ig_intr_md._pad1 [0:0]
ig_intr_md._pad2 [1:0]
ig_intr_md._pad3 [2:0]
ig_intr_md.ingress_port [8:0]
-----------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------------
| ig_intr_md.resubmit_flag | 1 | False | - | - | - | 1 | 1 |
| ig_intr_md._pad1 | 1 | False | - | - | - | 1 | 1 |
| ig_intr_md._pad2 | 2 | False | - | - | - | 1 | 1 |
| ig_intr_md._pad3 | 3 | False | - | - | - | 1 | 1 |
| ig_intr_md.ingress_port | 9 | False | - | - | [32] | 2 | 2 |
-----------------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 2
MAU containers available:
8-bit: 48
16-bit: 80
32-bit: 47
Tagalong containers available:
8-bit: 32
16-bit: 48
32-bit: 32
Initial packing options: 2
Packing option 0: [16]
MAU containers after:
8-bit: 48
16-bit: 78
32-bit: 47
+-----------------------------------+
| ig_intr_md.resubmit_flag [0:0] |
| ig_intr_md._pad1 [0:0] |
| ig_intr_md._pad2 [1:0] |
| ig_intr_md._pad3 [2:0] |
| ig_intr_md.ingress_port [8:0] |
+-----------------------------------+
Looking at ig_intr_md.resubmit_flag (ingress) [0:0], with test_alloc = True
----> ig_intr_md.resubmit_flag (ingress) is allocated? False
Looking at ig_intr_md._pad1 (ingress) [0:0], with test_alloc = True
Looking at ig_intr_md._pad2 (ingress) [1:0], with test_alloc = True
Looking at ig_intr_md._pad3 (ingress) [2:0], with test_alloc = True
Looking at ig_intr_md.ingress_port (ingress) [8:0], with test_alloc = True
Checking if can overlay metadata field.
No required PHV group.
Could not find container to overlay in.
MAU groups: 5
Group 8 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv128
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv128[15:15] for ig_intr_md.resubmit_flag[0:0]
***Allocating phv128[14:14] for ig_intr_md._pad1[0:0]
***Allocating phv128[13:12] for ig_intr_md._pad2[1:0]
***Allocating phv128[11:9] for ig_intr_md._pad3[2:0]
***Allocating phv128[8:0] for ig_intr_md.ingress_port[8:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_pkt_out (4) (ingress)
-------------------------------------------
Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
packet_out_hdr.egress_port [8:0]
packet_out_hdr._padding [6:0]
-------------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------------------
| packet_out_hdr.egress_port | 9 | False | - | - | [8, 32] | 2 | 2 |
| packet_out_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
-------------------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 2
MAU containers available:
8-bit: 48
16-bit: 78
32-bit: 47
Tagalong containers available:
8-bit: 32
16-bit: 48
32-bit: 32
Initial packing options: 2
Packing option 0: [16]
MAU containers after:
8-bit: 48
16-bit: 76
32-bit: 47
+-------------------------------------+
| packet_out_hdr.egress_port [8:0] |
| packet_out_hdr._padding [6:0] |
+-------------------------------------+
Looking at packet_out_hdr.egress_port (ingress) [8:0], with test_alloc = True
----> packet_out_hdr.egress_port (ingress) is allocated? False
Looking at packet_out_hdr._padding (ingress) [6:0], with test_alloc = True
$$$ initialization at table table0 will expand the table layout due to adding a default action.
MAU groups: 5
Group 8 16 bits -- avail 15 -- ingress avail 15 and remain 13 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv129
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 14 and promised 2 and req 2 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv129[15:7] for packet_out_hdr.egress_port[8:0]
***Allocating phv129[6:0] for packet_out_hdr._padding[6:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_ipv4 (6) (ingress)
-------------------------------------------
Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
ipv4.version [3:0]
ipv4.ihl [3:0]
ipv4.diffserv [7:0]
ipv4.totalLen [15:0]
ipv4.identification [15:0]
ipv4.flags [2:0]
ipv4.fragOffset [12:0]
ipv4.ttl [7:0]
ipv4.protocol [7:0]
ipv4.hdrChecksum [15:0]
ipv4.srcAddr [31:0]
ipv4.dstAddr [31:0]
------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
------------------------------------------------------------------------------------------
| ipv4.version | 4 | True | - | - | - | 1 | 1 |
| ipv4.ihl | 4 | True | - | - | - | 1 | 1 |
| ipv4.diffserv | 8 | True | - | - | - | 1 | 1 |
| ipv4.totalLen | 16 | True | - | - | - | 2 | 1 |
| ipv4.identification | 16 | True | - | - | - | 2 | 1 |
| ipv4.flags | 3 | True | - | - | - | 1 | 1 |
| ipv4.fragOffset | 13 | True | - | - | - | 2 | 1 |
| ipv4.ttl | 8 | True | - | - | - | 1 | 1 |
| ipv4.protocol | 8 | True | - | - | - | 1 | 1 |
| ipv4.hdrChecksum | 16 | True | - | - | - | 2 | 1 |
| ipv4.srcAddr | 32 | False | - | - | - | 4 | 1 |
| ipv4.dstAddr | 32 | False | - | - | - | 4 | 1 |
------------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
8-bit: 48
16-bit: 77
32-bit: 47
Tagalong containers available:
8-bit: 32
16-bit: 48
32-bit: 32
Initial packing options: 5196
Packing option 0: [8, 16, 16, 32, 32, 8, 16, 32]
MAU containers after:
8-bit: 47
16-bit: 76
32-bit: 45
+------------------------------+
| ipv4.version [3:0] |
| ipv4.ihl [3:0] |
+------------------------------+
| ipv4.diffserv [7:0] |
| ipv4.totalLen [15:8] |
+------------------------------+
| ipv4.totalLen [7:0] |
| ipv4.identification [15:8] |
+------------------------------+
| ipv4.identification [7:0] |
| ipv4.flags [2:0] |
| ipv4.fragOffset [12:0] |
| ipv4.ttl [7:0] |
+------------------------------+
| ipv4.protocol [7:0] |
| ipv4.hdrChecksum [15:0] |
| ipv4.srcAddr [31:24] |
+------------------------------+
| ipv4.srcAddr [23:16] |
+------------------------------+
| ipv4.srcAddr [15:0] |
+------------------------------+
| ipv4.dstAddr [31:0] |
+------------------------------+
Looking at ipv4.version (ingress) [3:0], with test_alloc = True
----> ipv4.version (ingress) is allocated? False
Looking at ipv4.ihl (ingress) [3:0], with test_alloc = True
***Allocating phv288[7:4] for ipv4.version[3:0]
***Allocating phv288[3:0] for ipv4.ihl[3:0]
Looking at ipv4.diffserv (ingress) [7:0], with test_alloc = True
----> ipv4.diffserv (ingress) is allocated? False
Looking at ipv4.totalLen (ingress) [15:8], with test_alloc = True
***Allocating phv320[15:8] for ipv4.diffserv[7:0]
***Allocating phv320[7:0] for ipv4.totalLen[15:8]
Looking at ipv4.totalLen (ingress) [7:0], with test_alloc = True
----> ipv4.totalLen (ingress) is allocated? False
Looking at ipv4.identification (ingress) [15:8], with test_alloc = True
***Allocating phv321[15:8] for ipv4.totalLen[7:0]
***Allocating phv321[7:0] for ipv4.identification[15:8]
Looking at ipv4.identification (ingress) [7:0], with test_alloc = True
----> ipv4.identification (ingress) is allocated? False
Looking at ipv4.flags (ingress) [2:0], with test_alloc = True
Looking at ipv4.fragOffset (ingress) [12:0], with test_alloc = True
Looking at ipv4.ttl (ingress) [7:0], with test_alloc = True
***Allocating phv256[31:24] for ipv4.identification[7:0]
***Allocating phv256[23:21] for ipv4.flags[2:0]
***Allocating phv256[20:8] for ipv4.fragOffset[12:0]
***Allocating phv256[7:0] for ipv4.ttl[7:0]
Looking at ipv4.protocol (ingress) [7:0], with test_alloc = True
----> ipv4.protocol (ingress) is allocated? False
Looking at ipv4.hdrChecksum (ingress) [15:0], with test_alloc = True
Looking at ipv4.srcAddr (ingress) [31:24], with test_alloc = True
MAU groups: 3
Group 0 32 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv1
Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv1[31:24] for ipv4.protocol[7:0]
***Allocating phv1[23:8] for ipv4.hdrChecksum[15:0]
***Allocating phv1[7:0] for ipv4.srcAddr[31:24]
Looking at ipv4.srcAddr (ingress) [23:16], with test_alloc = True
----> ipv4.srcAddr (ingress) is allocated? False
MAU groups: 3
Group 4 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv64
Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
***Allocating phv64[7:0] for ipv4.srcAddr[23:16]
Looking at ipv4.srcAddr (ingress) [15:0], with test_alloc = True
----> ipv4.srcAddr (ingress) is allocated? False
MAU groups: 5
Group 8 16 bits -- avail 14 -- ingress avail 14 and remain 12 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv131
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv131[15:0] for ipv4.srcAddr[15:0]
Looking at ipv4.dstAddr (ingress) [31:0], with test_alloc = True
----> ipv4.dstAddr (ingress) is allocated? False
MAU groups: 3
Group 0 32 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv2
Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv2[31:0] for ipv4.dstAddr[31:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_tcp (7) (ingress)
-------------------------------------------
Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
tcp.srcPort [15:0]
tcp.dstPort [15:0]
tcp.seqNo [31:0]
tcp.ackNo [31:0]
tcp.dataOffset [3:0]
tcp.res [2:0]
tcp.ecn [2:0]
tcp.ctrl [5:0]
tcp.window [15:0]
tcp.checksum [15:0]
tcp.urgentPtr [15:0]
-------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------
| tcp.srcPort | 16 | False | - | - | - | 2 | 1 |
| tcp.dstPort | 16 | False | - | - | - | 2 | 1 |
| tcp.seqNo | 32 | True | - | - | - | 4 | 1 |
| tcp.ackNo | 32 | True | - | - | - | 4 | 1 |
| tcp.dataOffset | 4 | True | - | - | - | 1 | 1 |
| tcp.res | 3 | True | - | - | - | 1 | 1 |
| tcp.ecn | 3 | True | - | - | - | 2 | 1 |
| tcp.ctrl | 6 | True | - | - | - | 1 | 1 |
| tcp.window | 16 | True | - | - | - | 2 | 1 |
| tcp.checksum | 16 | True | - | - | - | 2 | 1 |
| tcp.urgentPtr | 16 | True | - | - | - | 2 | 1 |
-------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
8-bit: 47
16-bit: 76
32-bit: 45
Tagalong containers available:
8-bit: 31
16-bit: 46
32-bit: 31
Initial packing options: 5196
Packing option 0: [8, 16, 32, 8, 16, 16, 32, 32]
MAU containers after:
8-bit: 46
16-bit: 75
32-bit: 44
+-------------------------+
| tcp.srcPort [15:8] |
+-------------------------+
| tcp.srcPort [7:0] |
| tcp.dstPort [15:8] |
+-------------------------+
| tcp.dstPort [7:0] |
| tcp.seqNo [31:8] |
+-------------------------+
| tcp.seqNo [7:0] |
+-------------------------+
| tcp.ackNo [31:16] |
+-------------------------+
| tcp.ackNo [15:0] |
+-------------------------+
| tcp.dataOffset [3:0] |
| tcp.res [2:0] |
| tcp.ecn [2:0] |
| tcp.ctrl [5:0] |
| tcp.window [15:0] |
+-------------------------+
| tcp.checksum [15:0] |
| tcp.urgentPtr [15:0] |
+-------------------------+
Looking at tcp.srcPort (ingress) [15:8], with test_alloc = True
----> tcp.srcPort (ingress) is allocated? False
MAU groups: 3
Group 4 8 bits -- avail 15 -- ingress avail 15 and remain 14 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv65
Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
***Allocating phv65[7:0] for tcp.srcPort[15:8]
Looking at tcp.srcPort (ingress) [7:0], with test_alloc = True
----> tcp.srcPort (ingress) is allocated? False
Looking at tcp.dstPort (ingress) [15:8], with test_alloc = True
MAU groups: 5
Group 8 16 bits -- avail 13 -- ingress avail 13 and remain 11 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv132
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv132[15:8] for tcp.srcPort[7:0]
***Allocating phv132[7:0] for tcp.dstPort[15:8]
Looking at tcp.dstPort (ingress) [7:0], with test_alloc = True
----> tcp.dstPort (ingress) is allocated? False
Looking at tcp.seqNo (ingress) [31:8], with test_alloc = True
MAU groups: 3
Group 0 32 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 12 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv3
Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv3[31:24] for tcp.dstPort[7:0]
***Allocating phv3[23:0] for tcp.seqNo[31:8]
Looking at tcp.seqNo (ingress) [7:0], with test_alloc = True
----> tcp.seqNo (ingress) is allocated? False
***Allocating phv289[7:0] for tcp.seqNo[7:0]
Looking at tcp.ackNo (ingress) [31:16], with test_alloc = True
----> tcp.ackNo (ingress) is allocated? False
***Allocating phv322[15:0] for tcp.ackNo[31:16]
Looking at tcp.ackNo (ingress) [15:0], with test_alloc = True
----> tcp.ackNo (ingress) is allocated? False
***Allocating phv323[15:0] for tcp.ackNo[15:0]
Looking at tcp.dataOffset (ingress) [3:0], with test_alloc = True
----> tcp.dataOffset (ingress) is allocated? False
Looking at tcp.res (ingress) [2:0], with test_alloc = True
Looking at tcp.ecn (ingress) [2:0], with test_alloc = True
Looking at tcp.ctrl (ingress) [5:0], with test_alloc = True
Looking at tcp.window (ingress) [15:0], with test_alloc = True
***Allocating phv257[31:28] for tcp.dataOffset[3:0]
***Allocating phv257[27:25] for tcp.res[2:0]
***Allocating phv257[24:22] for tcp.ecn[2:0]
***Allocating phv257[21:16] for tcp.ctrl[5:0]
***Allocating phv257[15:0] for tcp.window[15:0]
Looking at tcp.checksum (ingress) [15:0], with test_alloc = True
----> tcp.checksum (ingress) is allocated? False
Looking at tcp.urgentPtr (ingress) [15:0], with test_alloc = True
***Allocating phv258[31:16] for tcp.checksum[15:0]
***Allocating phv258[15:0] for tcp.urgentPtr[15:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_ipv4 (6) (egress)
-------------------------------------------
Allocating parsed header: pkt fields (12) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
ipv4.version [3:0]
ipv4.ihl [3:0]
ipv4.diffserv [7:0]
ipv4.totalLen [15:0]
ipv4.identification [15:0]
ipv4.flags [2:0]
ipv4.fragOffset [12:0]
ipv4.ttl [7:0]
ipv4.protocol [7:0]
ipv4.hdrChecksum [15:0]
ipv4.srcAddr [31:0]
ipv4.dstAddr [31:0]
------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
------------------------------------------------------------------------------------------
| ipv4.version | 4 | True | - | - | - | 1 | 1 |
| ipv4.ihl | 4 | True | - | - | - | 1 | 1 |
| ipv4.diffserv | 8 | True | - | - | - | 1 | 1 |
| ipv4.totalLen | 16 | True | - | - | - | 2 | 1 |
| ipv4.identification | 16 | True | - | - | - | 2 | 1 |
| ipv4.flags | 3 | True | - | - | - | 1 | 1 |
| ipv4.fragOffset | 13 | True | - | - | - | 2 | 1 |
| ipv4.ttl | 8 | True | - | - | - | 1 | 1 |
| ipv4.protocol | 8 | True | - | - | - | 1 | 1 |
| ipv4.hdrChecksum | 16 | True | - | - | - | 2 | 1 |
| ipv4.srcAddr | 32 | True | - | - | - | 4 | 1 |
| ipv4.dstAddr | 32 | True | - | - | - | 4 | 1 |
------------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
8-bit: 48
16-bit: 80
32-bit: 48
Tagalong containers available:
8-bit: 28
16-bit: 42
32-bit: 28
Initial packing options: 5196
Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
8-bit: 48
16-bit: 80
32-bit: 48
+------------------------------+
| ipv4.version [3:0] |
| ipv4.ihl [3:0] |
+------------------------------+
| ipv4.diffserv [7:0] |
+------------------------------+
| ipv4.totalLen [15:0] |
+------------------------------+
| ipv4.identification [15:0] |
+------------------------------+
| ipv4.flags [2:0] |
| ipv4.fragOffset [12:0] |
+------------------------------+
| ipv4.ttl [7:0] |
| ipv4.protocol [7:0] |
| ipv4.hdrChecksum [15:0] |
+------------------------------+
| ipv4.srcAddr [31:0] |
+------------------------------+
| ipv4.dstAddr [31:0] |
+------------------------------+
Looking at ipv4.version (egress) [3:0], with test_alloc = True
----> ipv4.version (egress) is allocated? False
Looking at ipv4.ihl (egress) [3:0], with test_alloc = True
***Allocating phv292[7:4] for ipv4.version[3:0]
***Allocating phv292[3:0] for ipv4.ihl[3:0]
Looking at ipv4.diffserv (egress) [7:0], with test_alloc = True
----> ipv4.diffserv (egress) is allocated? False
***Allocating phv293[7:0] for ipv4.diffserv[7:0]
Looking at ipv4.totalLen (egress) [15:0], with test_alloc = True
----> ipv4.totalLen (egress) is allocated? False
***Allocating phv326[15:0] for ipv4.totalLen[15:0]
Looking at ipv4.identification (egress) [15:0], with test_alloc = True
----> ipv4.identification (egress) is allocated? False
***Allocating phv327[15:0] for ipv4.identification[15:0]
Looking at ipv4.flags (egress) [2:0], with test_alloc = True
----> ipv4.flags (egress) is allocated? False
Looking at ipv4.fragOffset (egress) [12:0], with test_alloc = True
***Allocating phv328[15:13] for ipv4.flags[2:0]
***Allocating phv328[12:0] for ipv4.fragOffset[12:0]
Looking at ipv4.ttl (egress) [7:0], with test_alloc = True
----> ipv4.ttl (egress) is allocated? False
Looking at ipv4.protocol (egress) [7:0], with test_alloc = True
Looking at ipv4.hdrChecksum (egress) [15:0], with test_alloc = True
***Allocating phv260[31:24] for ipv4.ttl[7:0]
***Allocating phv260[23:16] for ipv4.protocol[7:0]
***Allocating phv260[15:0] for ipv4.hdrChecksum[15:0]
Looking at ipv4.srcAddr (egress) [31:0], with test_alloc = True
----> ipv4.srcAddr (egress) is allocated? False
***Allocating phv261[31:0] for ipv4.srcAddr[31:0]
Looking at ipv4.dstAddr (egress) [31:0], with test_alloc = True
----> ipv4.dstAddr (egress) is allocated? False
***Allocating phv262[31:0] for ipv4.dstAddr[31:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_tcp (7) (egress)
-------------------------------------------
Allocating parsed header: pkt fields (11) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 160
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 160
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 160
Parse state 0 (160 bits)
tcp.srcPort [15:0]
tcp.dstPort [15:0]
tcp.seqNo [31:0]
tcp.ackNo [31:0]
tcp.dataOffset [3:0]
tcp.res [2:0]
tcp.ecn [2:0]
tcp.ctrl [5:0]
tcp.window [15:0]
tcp.checksum [15:0]
tcp.urgentPtr [15:0]
-------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------
| tcp.srcPort | 16 | True | - | - | - | 2 | 1 |
| tcp.dstPort | 16 | True | - | - | - | 2 | 1 |
| tcp.seqNo | 32 | True | - | - | - | 4 | 1 |
| tcp.ackNo | 32 | True | - | - | - | 4 | 1 |
| tcp.dataOffset | 4 | True | - | - | - | 1 | 1 |
| tcp.res | 3 | True | - | - | - | 1 | 1 |
| tcp.ecn | 3 | True | - | - | - | 2 | 1 |
| tcp.ctrl | 6 | True | - | - | - | 1 | 1 |
| tcp.window | 16 | True | - | - | - | 2 | 1 |
| tcp.checksum | 16 | True | - | - | - | 2 | 1 |
| tcp.urgentPtr | 16 | True | - | - | - | 2 | 1 |
-------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 5196
MAU containers available:
8-bit: 48
16-bit: 80
32-bit: 48
Tagalong containers available:
8-bit: 26
16-bit: 39
32-bit: 25
Initial packing options: 5196
Packing option 0: [8, 8, 16, 16, 16, 32, 32, 32]
MAU containers after:
8-bit: 48
16-bit: 80
32-bit: 48
+-------------------------+
| tcp.srcPort [15:8] |
+-------------------------+
| tcp.srcPort [7:0] |
+-------------------------+
| tcp.dstPort [15:0] |
+-------------------------+
| tcp.seqNo [31:16] |
+-------------------------+
| tcp.seqNo [15:0] |
+-------------------------+
| tcp.ackNo [31:0] |
+-------------------------+
| tcp.dataOffset [3:0] |
| tcp.res [2:0] |
| tcp.ecn [2:0] |
| tcp.ctrl [5:0] |
| tcp.window [15:0] |
+-------------------------+
| tcp.checksum [15:0] |
| tcp.urgentPtr [15:0] |
+-------------------------+
Looking at tcp.srcPort (egress) [15:8], with test_alloc = True
----> tcp.srcPort (egress) is allocated? False
***Allocating phv294[7:0] for tcp.srcPort[15:8]
Looking at tcp.srcPort (egress) [7:0], with test_alloc = True
----> tcp.srcPort (egress) is allocated? False
***Allocating phv295[7:0] for tcp.srcPort[7:0]
Looking at tcp.dstPort (egress) [15:0], with test_alloc = True
----> tcp.dstPort (egress) is allocated? False
***Allocating phv329[15:0] for tcp.dstPort[15:0]
Looking at tcp.seqNo (egress) [31:16], with test_alloc = True
----> tcp.seqNo (egress) is allocated? False
***Allocating phv330[15:0] for tcp.seqNo[31:16]
Looking at tcp.seqNo (egress) [15:0], with test_alloc = True
----> tcp.seqNo (egress) is allocated? False
***Allocating phv331[15:0] for tcp.seqNo[15:0]
Looking at tcp.ackNo (egress) [31:0], with test_alloc = True
----> tcp.ackNo (egress) is allocated? False
***Allocating phv263[31:0] for tcp.ackNo[31:0]
Looking at tcp.dataOffset (egress) [3:0], with test_alloc = True
----> tcp.dataOffset (egress) is allocated? False
Looking at tcp.res (egress) [2:0], with test_alloc = True
Looking at tcp.ecn (egress) [2:0], with test_alloc = True
Looking at tcp.ctrl (egress) [5:0], with test_alloc = True
Looking at tcp.window (egress) [15:0], with test_alloc = True
***Allocating phv264[31:28] for tcp.dataOffset[3:0]
***Allocating phv264[27:25] for tcp.res[2:0]
***Allocating phv264[24:22] for tcp.ecn[2:0]
***Allocating phv264[21:16] for tcp.ctrl[5:0]
***Allocating phv264[15:0] for tcp.window[15:0]
Looking at tcp.checksum (egress) [15:0], with test_alloc = True
----> tcp.checksum (egress) is allocated? False
Looking at tcp.urgentPtr (egress) [15:0], with test_alloc = True
***Allocating phv265[31:16] for tcp.checksum[15:0]
***Allocating phv265[15:0] for tcp.urgentPtr[15:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_ethernet (5) (ingress)
-------------------------------------------
Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 112
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 112
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 112
Parse state 0 (112 bits)
ethernet.dstAddr [47:0]
ethernet.srcAddr [47:0]
ethernet.etherType [15:0]
-----------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------
| ethernet.dstAddr | 48 | False | - | - | - | 6 | 1 |
| ethernet.srcAddr | 48 | False | - | - | - | 6 | 1 |
| ethernet.etherType | 16 | False | - | - | - | 2 | 1 |
-----------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 604
MAU containers available:
8-bit: 46
16-bit: 75
32-bit: 44
Tagalong containers available:
8-bit: 22
16-bit: 32
32-bit: 21
Initial packing options: 604
Packing option 0: [8, 32, 16, 8, 32, 16]
MAU containers after:
8-bit: 44
16-bit: 73
32-bit: 42
+-----------------------------+
| ethernet.dstAddr [47:40] |
+-----------------------------+
| ethernet.dstAddr [39:8] |
+-----------------------------+
| ethernet.dstAddr [7:0] |
| ethernet.srcAddr [47:40] |
+-----------------------------+
| ethernet.srcAddr [39:32] |
+-----------------------------+
| ethernet.srcAddr [31:0] |
+-----------------------------+
| ethernet.etherType [15:0] |
+-----------------------------+
Looking at ethernet.dstAddr (ingress) [47:40], with test_alloc = True
----> ethernet.dstAddr (ingress) is allocated? False
MAU groups: 3
Group 4 8 bits -- avail 14 -- ingress avail 14 and remain 13 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv66
Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
***Allocating phv66[7:0] for ethernet.dstAddr[47:40]
Looking at ethernet.dstAddr (ingress) [39:8], with test_alloc = True
----> ethernet.dstAddr (ingress) is allocated? False
MAU groups: 3
Group 0 32 bits -- avail 12 -- ingress avail 12 and remain 11 and promised 1 and req 1 -- egress avail 12 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv4
Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv4[31:0] for ethernet.dstAddr[39:8]
Looking at ethernet.dstAddr (ingress) [7:0], with test_alloc = True
----> ethernet.dstAddr (ingress) is allocated? False
Looking at ethernet.srcAddr (ingress) [47:40], with test_alloc = True
MAU groups: 5
Group 8 16 bits -- avail 12 -- ingress avail 12 and remain 10 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv133
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv133[15:8] for ethernet.dstAddr[7:0]
***Allocating phv133[7:0] for ethernet.srcAddr[47:40]
Looking at ethernet.srcAddr (ingress) [39:32], with test_alloc = True
----> ethernet.srcAddr (ingress) is allocated? False
MAU groups: 3
Group 4 8 bits -- avail 13 -- ingress avail 13 and remain 12 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv67
Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv96
Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv112
***Allocating phv67[7:0] for ethernet.srcAddr[39:32]
Looking at ethernet.srcAddr (ingress) [31:0], with test_alloc = True
----> ethernet.srcAddr (ingress) is allocated? False
MAU groups: 3
Group 0 32 bits -- avail 11 -- ingress avail 11 and remain 10 and promised 1 and req 1 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv5
Group 2 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv32
Group 3 32 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 12 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv48
***Allocating phv5[31:0] for ethernet.srcAddr[31:0]
Looking at ethernet.etherType (ingress) [15:0], with test_alloc = True
----> ethernet.etherType (ingress) is allocated? False
MAU groups: 5
Group 8 16 bits -- avail 11 -- ingress avail 11 and remain 9 and promised 2 and req 2 -- egress avail 8 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv134
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 15 and promised 1 and req 1 -- egress avail 16 and remain 8 and promised 0 and req 0 -- as if deparsed True -- container_to_use phv208
***Allocating phv134[15:0] for ethernet.etherType[15:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node parse_ethernet (5) (egress)
-------------------------------------------
Allocating parsed header: pkt fields (3) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 112
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 112
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 112
Parse state 0 (112 bits)
ethernet.dstAddr [47:0]
ethernet.srcAddr [47:0]
ethernet.etherType [15:0]
-----------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------------
| ethernet.dstAddr | 48 | True | - | - | - | 6 | 1 |
| ethernet.srcAddr | 48 | True | - | - | - | 6 | 1 |
| ethernet.etherType | 16 | True | - | - | - | 2 | 1 |
-----------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 604
MAU containers available:
8-bit: 48
16-bit: 80
32-bit: 48
Tagalong containers available:
8-bit: 24
16-bit: 36
32-bit: 22
Initial packing options: 604
Packing option 0: [8, 32, 16, 8, 32, 16]
MAU containers after:
8-bit: 48
16-bit: 80
32-bit: 48
+-----------------------------+
| ethernet.dstAddr [47:40] |
+-----------------------------+
| ethernet.dstAddr [39:8] |
+-----------------------------+
| ethernet.dstAddr [7:0] |
| ethernet.srcAddr [47:40] |
+-----------------------------+
| ethernet.srcAddr [39:32] |
+-----------------------------+
| ethernet.srcAddr [31:0] |
+-----------------------------+
| ethernet.etherType [15:0] |
+-----------------------------+
Looking at ethernet.dstAddr (egress) [47:40], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
***Allocating phv296[7:0] for ethernet.dstAddr[47:40]
Looking at ethernet.dstAddr (egress) [39:8], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
***Allocating phv266[31:0] for ethernet.dstAddr[39:8]
Looking at ethernet.dstAddr (egress) [7:0], with test_alloc = True
----> ethernet.dstAddr (egress) is allocated? False
Looking at ethernet.srcAddr (egress) [47:40], with test_alloc = True
***Allocating phv332[15:8] for ethernet.dstAddr[7:0]
***Allocating phv332[7:0] for ethernet.srcAddr[47:40]
Looking at ethernet.srcAddr (egress) [39:32], with test_alloc = True
----> ethernet.srcAddr (egress) is allocated? False
***Allocating phv297[7:0] for ethernet.srcAddr[39:32]
Looking at ethernet.srcAddr (egress) [31:0], with test_alloc = True
----> ethernet.srcAddr (egress) is allocated? False
***Allocating phv267[31:0] for ethernet.srcAddr[31:0]
Looking at ethernet.etherType (egress) [15:0], with test_alloc = True
----> ethernet.etherType (egress) is allocated? False
***Allocating phv333[15:0] for ethernet.etherType[15:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node egress_intrinsic_metadata (9) (egress)
-------------------------------------------
Allocating parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 24
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 24
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 24
Parse state 0 (24 bits)
eg_intr_md._pad0 [6:0]
eg_intr_md.egress_port [8:0]
eg_intr_md._pad7 [4:0]
eg_intr_md.egress_cos [2:0]
---------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
| eg_intr_md._pad0 | 7 | False | - | - | - | 1 | 1 |
| eg_intr_md.egress_port | 9 | False | - | - | [8] | 1 | 1 |
| eg_intr_md._pad7 | 5 | False | - | - | - | 1 | 1 |
| eg_intr_md.egress_cos | 3 | False | - | - | - | 1 | 1 |
---------------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 3
MAU containers available:
8-bit: 48
16-bit: 80
32-bit: 48
Tagalong containers available:
8-bit: 22
16-bit: 34
32-bit: 20
Initial packing options: 3
Packing option 1: [16, 8]
MAU containers after:
8-bit: 47
16-bit: 79
32-bit: 48
+---------------------------------+
| eg_intr_md._pad0 [6:0] |
| eg_intr_md.egress_port [8:0] |
+---------------------------------+
| eg_intr_md._pad7 [4:0] |
| eg_intr_md.egress_cos [2:0] |
+---------------------------------+
Looking at eg_intr_md._pad0 (egress) [6:0], with test_alloc = True
----> eg_intr_md._pad0 (egress) is allocated? False
Looking at eg_intr_md.egress_port (egress) [8:0], with test_alloc = True
Checking if can overlay metadata field.
No required PHV group.
Could not find container to overlay in.
MAU groups: 5
Group 9 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv144
Group 10 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv160
Group 11 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv176
Group 12 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv192
Group 13 16 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv208
***Allocating phv144[15:9] for eg_intr_md._pad0[6:0]
***Allocating phv144[8:0] for eg_intr_md.egress_port[8:0]
Looking at eg_intr_md._pad7 (egress) [4:0], with test_alloc = True
----> eg_intr_md._pad7 (egress) is allocated? False
Looking at eg_intr_md.egress_cos (egress) [2:0], with test_alloc = True
Checking if can overlay metadata field.
No required PHV group.
Could not find container to overlay in.
MAU groups: 3
Group 5 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv80
Group 6 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv96
Group 7 8 bits -- avail 16 -- ingress avail 16 and remain 8 and promised 0 and req 0 -- egress avail 16 and remain 15 and promised 1 and req 1 -- as if deparsed True -- container_to_use phv112
***Allocating phv80[7:3] for eg_intr_md._pad7[4:0]
***Allocating phv80[2:0] for eg_intr_md.egress_cos[2:0]
Packing options tried: 2
Packing options skipped: 0
Failure Reasons:
Field in disallowed list (case 3) -- tried 1 variants
field: eg_intr_md.egress_port
with constraints: [
ParsedAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- lsb bit: 0
MaxFieldSplit Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- max split: 1
RightAdjacentAlignment Constraint: (left) eg_intr_md._pad7 <5 bits egress parsed imeta> -- (right) eg_intr_md.egress_cos <3 bits egress parsed imeta>
ContainerAlignment Constraint: eg_intr_md.egress_cos <3 bits egress parsed imeta> -- field_bit: 0 -- bits_list: [0, 1, 2, 3, 4, 5, 6, 7]
]
Working on parse node parse_pkt_out (4) (egress)
-------------------------------------------
Allocating parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
packet_out_hdr.egress_port [8:0]
packet_out_hdr._padding [6:0]
-------------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------------------
| packet_out_hdr.egress_port | 9 | True | - | - | [32] | 2 | 1 |
| packet_out_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
-------------------------------------------------------------------------------------------------
min_extracts[8] = 1
min_extracts[16] = 1
min_extracts[32] = 1
Packing options: 2
MAU containers available:
8-bit: 47
16-bit: 79
32-bit: 48
Tagalong containers available:
8-bit: 22
16-bit: 34
32-bit: 20
Initial packing options: 2
Packing option 0: [16]
MAU containers after:
8-bit: 47
16-bit: 79
32-bit: 48
+-------------------------------------+
| packet_out_hdr.egress_port [8:0] |
| packet_out_hdr._padding [6:0] |
+-------------------------------------+
Looking at packet_out_hdr.egress_port (egress) [8:0], with test_alloc = True
----> packet_out_hdr.egress_port (egress) is allocated? False
Looking at packet_out_hdr._padding (egress) [6:0], with test_alloc = True
***Allocating phv334[15:7] for packet_out_hdr.egress_port[8:0]
***Allocating phv334[6:0] for packet_out_hdr._padding[6:0]
Packing options tried: 1
Packing options skipped: 0
Working on parse node start (1) ()
Working on parse node default_parser (3) ()
Working on parse node --ingress-- (0) ()
Working on parse node start (1) ()
Working on parse node default_parser (3) ()
Working on parse node egress_for_mirror_buffer (10) ()
Working on parse node --egress-- (0) ()
After allocating critical parse paths:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
-----------------------------------------------------------------------------
| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
| | | | |
| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
| | | | |
| 8 (16) | 6 (37.50%) | 96 (37.50%) | 256 |
| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 7 (7.29%) | 112 (7.29%) | 1536 |
| | | | |
| 14 (32) T | 11 (68.75%) | 352 (68.75%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 11 (34.38%) | 352 (34.38%) | 1024 |
| | | | |
| 16 (8) T | 8 (50.00%) | 64 (50.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 8 (25.00%) | 64 (25.00%) | 256 |
| | | | |
| 18 (16) T | 13 (81.25%) | 208 (81.25%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 13 (27.08%) | 208 (27.08%) | 768 |
| | | | |
| MAU total | 18 (8.04%) | 344 (8.40%) | 4096 |
| Tagalong total | 32 (28.57%) | 624 (30.47%) | 2048 |
| Overall total | 50 (14.88%) | 968 (15.76%) | 6144 |
-----------------------------------------------------------------------------
>>Event 'pa_overlay' at time 1505307473.24
Took 9.06 seconds
-----------------------------------------------
Allocating remaining parsed fields
-----------------------------------------------
Allocation Step
All Sorted parse nodes (non-critical):
parse_pkt_in (ingress) with bits = 16 and max = 2
parse_udp (ingress) with bits = 64 and max = 1
parse_udp (egress) with bits = 64 and max = 1
parse_pkt_in (egress) with bits = 16 and max = 1
Total packet bits: 160
Total meta bits: 0
Total bits: 160
Working on parse node parse_pkt_in (2) (ingress)
-------------------------------------------
Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
packet_in_hdr.ingress_port [8:0]
packet_in_hdr._padding [6:0]
-------------------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------------------------
| packet_in_hdr.ingress_port | 9 | False | [(16, 9)] | - | [32] | 2 | 2 |
| packet_in_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
-------------------------------------------------------------------------------------------------------
MAU containers available:
8-bit: 44
16-bit: 73
32-bit: 42
Packing options: 2
Initial packing options: 2
Packing option 0: [16]
>>Can pack using [16] if open up 0 new containers.
Packing options tried: 1
Packing options skipped: 0
Trying to place using best packing [16]
***Allocating phv129[15:7] for packet_in_hdr.ingress_port[8:0]
***Allocating phv129[6:0] for packet_in_hdr._padding[6:0]
Working on parse node parse_udp (8) (ingress)
-------------------------------------------
Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 64
Set metadata bits: 0
Gress: ingress
bits_will_need_to_parse = 64
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 64
Parse state 0 (64 bits)
udp.srcPort [15:0]
udp.dstPort [15:0]
udp.length_ [15:0]
udp.checksum [15:0]
-----------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------
| udp.srcPort | 16 | True | - | - | - | 2 | 1 |
| udp.dstPort | 16 | True | - | - | - | 2 | 1 |
| udp.length_ | 16 | True | - | - | - | 2 | 1 |
| udp.checksum | 16 | True | - | - | - | 2 | 1 |
-----------------------------------------------------------------------------------
MAU containers available:
8-bit: 44
16-bit: 73
32-bit: 42
Packing options: 47
Initial packing options: 47
Packing option 0: [8, 8, 16, 32]
>>Can pack using [8, 8, 16, 32] if open up 0 new containers.
Packing options tried: 1
Packing options skipped: 0
Trying to place using best packing [8, 8, 16, 32]
***Allocating phv289[7:0] for udp.srcPort[15:8]
***Allocating phv65[7:0] for udp.srcPort[7:0]
***Allocating phv322[15:0] for udp.dstPort[15:0]
***Allocating phv257[31:16] for udp.length_[15:0]
***Allocating phv257[15:0] for udp.checksum[15:0]
Working on parse node parse_udp (8) (egress)
-------------------------------------------
Overlaying parsed header: pkt fields (4) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 64
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 64
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 64
Parse state 0 (64 bits)
udp.srcPort [15:0]
udp.dstPort [15:0]
udp.length_ [15:0]
udp.checksum [15:0]
-----------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-----------------------------------------------------------------------------------
| udp.srcPort | 16 | True | - | - | - | 2 | 1 |
| udp.dstPort | 16 | True | - | - | - | 2 | 1 |
| udp.length_ | 16 | True | - | - | - | 2 | 1 |
| udp.checksum | 16 | True | - | - | - | 2 | 1 |
-----------------------------------------------------------------------------------
MAU containers available:
8-bit: 47
16-bit: 79
32-bit: 48
Packing options: 47
Initial packing options: 47
Packing option 0: [8, 8, 16, 32]
>>Can pack using [8, 8, 16, 32] if open up 0 new containers.
Packing options tried: 1
Packing options skipped: 0
Trying to place using best packing [8, 8, 16, 32]
***Allocating phv294[7:0] for udp.srcPort[15:8]
***Allocating phv295[7:0] for udp.srcPort[7:0]
***Allocating phv329[15:0] for udp.dstPort[15:0]
***Allocating phv263[31:16] for udp.length_[15:0]
***Allocating phv263[15:0] for udp.checksum[15:0]
Working on parse node parse_pkt_in (2) (egress)
-------------------------------------------
Overlaying parsed header: pkt fields (2) / meta fields (0) using extraction bandwidth 224
-------------------------------------------
Extracted bits: 16
Set metadata bits: 0
Gress: egress
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
packet_in_hdr.ingress_port [8:0]
packet_in_hdr._padding [6:0]
-------------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------------------
| packet_in_hdr.ingress_port | 9 | True | - | - | [32] | 2 | 1 |
| packet_in_hdr._padding | 7 | True | - | - | [32] | 1 | 1 |
-------------------------------------------------------------------------------------------------
MAU containers available:
8-bit: 47
16-bit: 79
32-bit: 48
Packing options: 2
Initial packing options: 2
Packing option 0: [16]
>>Can pack using [16] if open up 0 new containers.
Packing options tried: 1
Packing options skipped: 0
Trying to place using best packing [16]
***Allocating phv334[15:7] for packet_in_hdr.ingress_port[8:0]
***Allocating phv334[6:0] for packet_in_hdr._padding[6:0]
After allocating remaining parse nodes:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
-----------------------------------------------------------------------------
| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
| | | | |
| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
| | | | |
| 8 (16) | 6 (37.50%) | 96 (37.50%) | 256 |
| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 7 (7.29%) | 112 (7.29%) | 1536 |
| | | | |
| 14 (32) T | 11 (68.75%) | 352 (68.75%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 11 (34.38%) | 352 (34.38%) | 1024 |
| | | | |
| 16 (8) T | 8 (50.00%) | 64 (50.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 8 (25.00%) | 64 (25.00%) | 256 |
| | | | |
| 18 (16) T | 13 (81.25%) | 208 (81.25%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 13 (27.08%) | 208 (27.08%) | 768 |
| | | | |
| MAU total | 18 (8.04%) | 344 (8.40%) | 4096 |
| Tagalong total | 32 (28.57%) | 624 (30.47%) | 2048 |
| Overall total | 50 (14.88%) | 968 (15.76%) | 6144 |
-----------------------------------------------------------------------------
Difference in allocation between critical parse path and overlaying headers:
Allocation state: Diff
--------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
--------------------------------------------------------------------------
| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
| | | | |
| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
| | | | |
| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 1536 |
| | | | |
| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
| | | | |
| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
| | | | |
| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
| | | | |
| MAU total | 0 (0.00%) | 0 (0.00%) | 4096 |
| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
| Overall total | 0 (0.00%) | 0 (0.00%) | 6144 |
--------------------------------------------------------------------------
>>Event 'pa_meta1' at time 1505307473.75
Took 0.51 seconds
-----------------------------------------------
Allocating metadata (pass 1)
-----------------------------------------------
Allocation Step
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md.resubmit_flag (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad1 (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad2 (ingress) will require table injection to initialize.
@@@ overlaying ig_intr_md_for_tm.drop_ctl (ingress) and ig_intr_md._pad3 (ingress) will require table injection to initialize.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
$$$ initialization at table table0 will expand the table layout due to adding a default action.
Total metadata field instances to allocate: 4 / 44 bits (44 ingress bits and 0 egress bits)
Promised metadata field instances to allocate: 1 / 9 bits (9 ingress bits and 0 egress bits)
0: ig_intr_md_for_tm.ucast_egress_port (ingress) (highly=0, mau_group_size=2, max_overlay=0, max_share=0, max_split=1, bit_width=9, initial_usage_read=2, earliest_use=0, latest_use=12)
--------------
Working on:
ig_intr_md_for_tm.ucast_egress_port <9 bits ingress imeta R W>
bits_will_need_to_parse = 9
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
extracted_bits = 9 while meta_fi.bit_width = 9
Parse state 0 (9 bits)
ig_intr_md_for_tm.ucast_egress_port [8:0]
----------------------------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
----------------------------------------------------------------------------------------------------------------
| ig_intr_md_for_tm.ucast_egress_port | 9 | False | [(16, 9)] | - | [8, 32] | 1 | 2 |
----------------------------------------------------------------------------------------------------------------
max_split = 1, adj = False
required_packing = [(16, 9)]
Packing options: 1
Valid packing options: 1
Attempting to overlay...
[16]
case 2: looking at allowed start bits [0]
final start_bit = 0
(1) msb_offset = 9
>> HEY!: Adjusted msb_offset!
>>Can pack using [16] if open up 1 new containers.
Attempting to share...
[16]
(2a) msb_offset = 16
>>Can pack using [16] if open up 1 new containers.
>>Choose overlay option
case 2: looking at allowed start bits [0]
final start_bit = 0
(1) msb_offset = 9
>> HEY!: Adjusted msb_offset!
***Allocating phv130[8:0] for ig_intr_md_for_tm.ucast_egress_port[8:0]
Allocation state after promised meta allocated:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
-----------------------------------------------------------------------------
| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
| | | | |
| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
| | | | |
| 8 (16) | 7 (43.75%) | 105 (41.02%) | 256 |
| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 8 (8.33%) | 121 (7.88%) | 1536 |
| | | | |
| 14 (32) T | 11 (68.75%) | 352 (68.75%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 11 (34.38%) | 352 (34.38%) | 1024 |
| | | | |
| 16 (8) T | 8 (50.00%) | 64 (50.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 8 (25.00%) | 64 (25.00%) | 256 |
| | | | |
| 18 (16) T | 13 (81.25%) | 208 (81.25%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 13 (27.08%) | 208 (27.08%) | 768 |
| | | | |
| MAU total | 19 (8.48%) | 353 (8.62%) | 4096 |
| Tagalong total | 32 (28.57%) | 624 (30.47%) | 2048 |
| Overall total | 51 (15.18%) | 977 (15.90%) | 6144 |
-----------------------------------------------------------------------------
Allocation state difference after promised meta allocated:
Allocation state: Diff
--------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
--------------------------------------------------------------------------
| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
| | | | |
| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
| | | | |
| 8 (16) | 1 (6.25%) | 9 (3.52%) | 256 |
| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 1 (1.04%) | 9 (0.59%) | 1536 |
| | | | |
| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
| | | | |
| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
| | | | |
| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
| | | | |
| MAU total | 1 (0.45%) | 9 (0.22%) | 4096 |
| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
| Overall total | 1 (0.30%) | 9 (0.15%) | 6144 |
--------------------------------------------------------------------------
Sorted metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
>>Event 'pa_pov' at time 1505307473.85
Took 0.10 seconds
-----------------------------------------------
Allocating POV
-----------------------------------------------
Allocation Step
Allocation state: Final Allocation
-----------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
-----------------------------------------------------------------------------
| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
| | | | |
| 4 (8) | 4 (25.00%) | 32 (25.00%) | 128 |
| 5 (8) | 1 (6.25%) | 8 (6.25%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 5 (7.81%) | 40 (7.81%) | 512 |
| | | | |
| 8 (16) | 7 (43.75%) | 105 (41.02%) | 256 |
| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 8 (8.33%) | 121 (7.88%) | 1536 |
| | | | |
| 14 (32) T | 11 (68.75%) | 352 (68.75%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 11 (34.38%) | 352 (34.38%) | 1024 |
| | | | |
| 16 (8) T | 8 (50.00%) | 64 (50.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 8 (25.00%) | 64 (25.00%) | 256 |
| | | | |
| 18 (16) T | 13 (81.25%) | 208 (81.25%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 13 (27.08%) | 208 (27.08%) | 768 |
| | | | |
| MAU total | 19 (8.48%) | 353 (8.62%) | 4096 |
| Tagalong total | 32 (28.57%) | 624 (30.47%) | 2048 |
| Overall total | 51 (15.18%) | 977 (15.90%) | 6144 |
-----------------------------------------------------------------------------
Sorted POV field instances to allocate (with best pack): 13
0: --validity_check--packet_in_hdr (ingress) -- max pov share 6 / best pack 5
1: --validity_check--packet_out_hdr (ingress) -- max pov share 6 / best pack 5
2: --validity_check--ethernet (ingress) -- max pov share 6 / best pack 5
3: --validity_check--ipv4 (ingress) -- max pov share 6 / best pack 5
4: --validity_check--tcp (ingress) -- max pov share 6 / best pack 5
5: --validity_check--udp (ingress) -- max pov share 6 / best pack 5
6: --validity_check--metadata_bridge (ingress) -- max pov share 6 / best pack 5
7: --validity_check--packet_in_hdr (egress) -- max pov share 5 / best pack 4
8: --validity_check--packet_out_hdr (egress) -- max pov share 5 / best pack 4
9: --validity_check--ethernet (egress) -- max pov share 5 / best pack 4
10: --validity_check--ipv4 (egress) -- max pov share 5 / best pack 4
11: --validity_check--tcp (egress) -- max pov share 5 / best pack 4
12: --validity_check--udp (egress) -- max pov share 5 / best pack 4
Working on
--validity_check--packet_in_hdr <1 bits ingress parsed pov W>
Call to _allocate_pov_helper for:
--validity_check--packet_in_hdr (ingress)
Best pack group: (6)
Looking for container to share POV bit in from already allocated containers for POV.
Container availability (not used yet for POV): total 191 / partial 1
Looking for container to share POV bit in from already allocated containers that have not been used for POV.
>>Choose container phv68, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 7).
>> Decided to allocate new container
Required container phv68
***Allocating phv68[0:0] for --validity_check--packet_in_hdr[0:0]
***Allocating phv68[1:1] for --validity_check--packet_out_hdr[0:0]
***Allocating phv68[2:2] for --validity_check--ethernet[0:0]
***Allocating phv68[3:3] for --validity_check--ipv4[0:0]
***Allocating phv68[4:4] for --validity_check--tcp[0:0]
***Allocating phv68[5:5] for --validity_check--udp[0:0]
***Allocating phv68[6:6] for --validity_check--metadata_bridge[0:0]
Working on
--validity_check--packet_out_hdr <1 bits ingress parsed pov R W>
Already allocated.
Working on
--validity_check--ethernet <1 bits ingress parsed pov>
Already allocated.
Working on
--validity_check--ipv4 <1 bits ingress parsed pov>
Already allocated.
Working on
--validity_check--tcp <1 bits ingress parsed pov>
Already allocated.
Working on
--validity_check--udp <1 bits ingress parsed pov>
Already allocated.
Working on
--validity_check--metadata_bridge <1 bits ingress parsed pov>
Already allocated.
Working on
--validity_check--packet_in_hdr <1 bits egress parsed pov>
Call to _allocate_pov_helper for:
--validity_check--packet_in_hdr (egress)
Best pack group: (5)
Looking for container to share POV bit in from already allocated containers for POV.
Container availability (not used yet for POV): total 198 / partial 0
Looking for container to share POV bit in from already allocated containers that have not been used for POV.
>>Choose container phv81, starting at container bit 0, which results in 7 bits still available (unused = 8 and could fit = 6).
>> Decided to allocate new container
Required container phv81
***Allocating phv81[0:0] for --validity_check--packet_in_hdr[0:0]
***Allocating phv81[1:1] for --validity_check--packet_out_hdr[0:0]
***Allocating phv81[2:2] for --validity_check--ethernet[0:0]
***Allocating phv81[3:3] for --validity_check--ipv4[0:0]
***Allocating phv81[4:4] for --validity_check--tcp[0:0]
***Allocating phv81[5:5] for --validity_check--udp[0:0]
Working on
--validity_check--packet_out_hdr <1 bits egress parsed pov>
Already allocated.
Working on
--validity_check--ethernet <1 bits egress parsed pov>
Already allocated.
Working on
--validity_check--ipv4 <1 bits egress parsed pov>
Already allocated.
Working on
--validity_check--tcp <1 bits egress parsed pov>
Already allocated.
Working on
--validity_check--udp <1 bits egress parsed pov>
Already allocated.
Sum of container bit widths POVs found in: 16
ingress
phv68 (8 bits)
>> 8 total bits
egress
phv81 (8 bits)
>> 8 total bits
>>Event 'pa_meta2' at time 1505307473.97
Took 0.12 seconds
-----------------------------------------------
Allocating metadata (pass 2)
-----------------------------------------------
Allocation Step
Total metadata field instances to allocate: 3 / 35 bits (35 ingress bits and 0 egress bits)
Promised metadata field instances to allocate: 0 / 0 bits (0 ingress bits and 0 egress bits)
Allocation state after promised meta allocated:
Allocation state: Final Allocation
-----------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
-----------------------------------------------------------------------------
| 0 (32) | 6 (37.50%) | 192 (37.50%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 6 (9.38%) | 192 (9.38%) | 2048 |
| | | | |
| 4 (8) | 5 (31.25%) | 39 (30.47%) | 128 |
| 5 (8) | 2 (12.50%) | 14 (10.94%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 7 (10.94%) | 53 (10.35%) | 512 |
| | | | |
| 8 (16) | 7 (43.75%) | 105 (41.02%) | 256 |
| 9 (16) | 1 (6.25%) | 16 (6.25%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 8 (8.33%) | 121 (7.88%) | 1536 |
| | | | |
| 14 (32) T | 11 (68.75%) | 352 (68.75%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 11 (34.38%) | 352 (34.38%) | 1024 |
| | | | |
| 16 (8) T | 8 (50.00%) | 64 (50.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 8 (25.00%) | 64 (25.00%) | 256 |
| | | | |
| 18 (16) T | 13 (81.25%) | 208 (81.25%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 13 (27.08%) | 208 (27.08%) | 768 |
| | | | |
| MAU total | 21 (9.38%) | 366 (8.94%) | 4096 |
| Tagalong total | 32 (28.57%) | 624 (30.47%) | 2048 |
| Overall total | 53 (15.77%) | 990 (16.11%) | 6144 |
-----------------------------------------------------------------------------
Allocation state difference after promised meta allocated:
Allocation state: Diff
--------------------------------------------------------------------------
| PHV Group | Containers Used | Bits Used | Bits Available |
| (container bit widths) | (% used) | (% used) | |
--------------------------------------------------------------------------
| 0 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 1 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 2 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| 3 (32) | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 2048 |
| | | | |
| 4 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 5 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 6 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| 7 (8) | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 512 |
| | | | |
| 8 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 9 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 10 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 11 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 12 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| 13 (16) | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 1536 |
| | | | |
| 14 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| 15 (32) T | 0 (0.00%) | 0 (0.00%) | 512 |
| Total for 32 bit | 0 (0.00%) | 0 (0.00%) | 1024 |
| | | | |
| 16 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| 17 (8) T | 0 (0.00%) | 0 (0.00%) | 128 |
| Total for 8 bit | 0 (0.00%) | 0 (0.00%) | 256 |
| | | | |
| 18 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 19 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| 20 (16) T | 0 (0.00%) | 0 (0.00%) | 256 |
| Total for 16 bit | 0 (0.00%) | 0 (0.00%) | 768 |
| | | | |
| MAU total | 0 (0.00%) | 0 (0.00%) | 4096 |
| Tagalong total | 0 (0.00%) | 0 (0.00%) | 2048 |
| Overall total | 0 (0.00%) | 0 (0.00%) | 6144 |
--------------------------------------------------------------------------
Sorted metadata field instances to allocate: 3 / 35 bits (35 ingress bits and 0 egress bits)
0: ecmp_metadata.group_id (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
1: ecmp_metadata.selector (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=1, best_share_pack=0, max_split=16, bit_width=16, initial_usage_read=1, earliest_use=0, latest_use=1)
2: ig_intr_md_for_tm.drop_ctl (ingress) (highly=0, mau_group_size=1, max_overlay=0, best_overlay_pack=0, max_share=2, best_share_pack=0, max_split=1, bit_width=3, initial_usage_read=2, earliest_use=0, latest_use=12)
---------------------------------------
Working on:
ecmp_metadata.group_id <16 bits ingress meta R W>
max_split = None, adj = None
Of remaining metadata fields to allocate
max_overlay = 0 (0 bits)
max_share = 1 (3 bits)
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
ecmp_metadata.group_id [15:0]
---------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
| ecmp_metadata.group_id | 16 | False | - | - | - | None | 1 |
---------------------------------------------------------------------------------------------
req packing: [None]
disallowed packing: [None]
Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv6 -- fails False
Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
Group 4 8 bits -- avail 11 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 6 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 7 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 8 16 bits -- avail 9 and promised 1 -- ingress promised 1 and remain 8 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv135 -- fails False
Group 9 16 bits -- avail 15 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
Metadata instance: ecmp_metadata.group_id <16 bits ingress meta R W>
>>req_alignment = None
>>allowed_container_start_bits = None
>>req_container = None
***Allocating phv135[15:0] for ecmp_metadata.group_id[15:0]
---------------------------------------
Working on:
ecmp_metadata.selector <16 bits ingress meta R W>
max_split = None, adj = None
Of remaining metadata fields to allocate
max_overlay = 0 (0 bits)
max_share = 1 (3 bits)
bits_will_need_to_parse = 16
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 16
Parse state 0 (16 bits)
ecmp_metadata.selector [15:0]
---------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
---------------------------------------------------------------------------------------------
| ecmp_metadata.selector | 16 | False | - | - | - | None | 1 |
---------------------------------------------------------------------------------------------
req packing: [None]
disallowed packing: [None]
Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 0 -- egress promised 0 and remain 8 and req 0 -- as if deparsed False -- container_to_use phv6 -- fails False
Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv32 -- fails False
Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv48 -- fails False
Group 4 8 bits -- avail 11 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 6 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 7 8 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 8 16 bits -- avail 8 and promised 1 -- ingress promised 1 and remain 7 and req 0 -- egress promised 0 and remain 7 and req 0 -- as if deparsed False -- container_to_use phv136 -- fails False
Group 9 16 bits -- avail 15 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv160 -- fails False
Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv176 -- fails False
Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv192 -- fails False
Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 0 -- egress promised 0 and remain 15 and req 0 -- as if deparsed False -- container_to_use phv208 -- fails False
Metadata instance: ecmp_metadata.selector <16 bits ingress meta R W>
>>req_alignment = None
>>allowed_container_start_bits = None
>>req_container = None
***Allocating phv136[15:0] for ecmp_metadata.selector[15:0]
---------------------------------------
Working on:
ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
max_split = 1, adj = False
Of remaining metadata fields to allocate
max_overlay = 0 (0 bits)
max_share = 0 (0 bits)
bits_will_need_to_parse = 3
unused_metadata_container_bits = 0
min_parse_states = 1
bits_per_state = 8
Parse state 0 (3 bits)
ig_intr_md_for_tm.drop_ctl [2:0]
-------------------------------------------------------------------------------------------------
| Name | BW | Tagalong? | Req | Pref | Not Allow | MaxSplit | Group Size |
-------------------------------------------------------------------------------------------------
| ig_intr_md_for_tm.drop_ctl | 3 | False | - | - | - | 1 | 1 |
-------------------------------------------------------------------------------------------------
req packing: [None]
disallowed packing: [None]
Group 0 32 bits -- avail 10 and promised 1 -- ingress promised 1 and remain 9 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv6 -- fails False
Group 1 32 bits -- avail 16 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 2 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv32 -- fails False
Group 3 32 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 12 and req 0 -- as if deparsed True -- container_to_use phv48 -- fails False
Group 4 8 bits -- avail 11 and promised 1 -- ingress promised 1 and remain 10 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv69 -- fails False
Group 5 8 bits -- avail 14 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 6 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv96 -- fails False
Group 7 8 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv112 -- fails False
Group 8 16 bits -- avail 7 and promised 1 -- ingress promised 1 and remain 6 and req 1 -- egress promised 0 and remain 0 and req 0 -- as if deparsed True -- container_to_use phv137 -- fails False
Group 9 16 bits -- avail 15 and promised None -- ingress promised None and remain None and req None -- egress promised None and remain None and req None -- as if deparsed False -- container_to_use None -- fails True
Group 10 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv160 -- fails False
Group 11 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv176 -- fails False
Group 12 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv192 -- fails False
Group 13 16 bits -- avail 16 and promised 1 -- ingress promised 1 and remain 15 and req 1 -- egress promised 0 and remain 8 and req 0 -- as if deparsed True -- container_to_use phv208 -- fails False
Metadata instance: ig_intr_md_for_tm.drop_ctl <3 bits ingress imeta W>
>>req_alignment = None
>>allowed_container_start_bits = [0, 1, 2, 3, 4, 5, 6, 7]
>>req_container = None
case 2: looking at allowed start bits [0, 1, 2, 3, 4, 5, 6, 7]
final start_bit = 5
(1) msb_offset = 8
***Allocating phv69[7:5] for ig_intr_md_for_tm.drop_ctl[2:0]
>>Event 'pa_meta_init' at time 1505307474.14
Took 0.16 seconds
-----------------------------------------------
Adding metadata initialization
-----------------------------------------------
+------------------------+
Performing inject metadata initialization instructions: (0)
tbl_name_to_common_edge_groups: 0
all_edge: 0
Performing replace metadata initialization instructions: (0)
Performing remove metadata initialization instructions: (0)
Performing clear metadata initialization instructions: (0)
Performing invalidate metadata initialization instructions: (0)
Total overlay containers examined for initialization: 0
-----------------------------------------------
Checking constraints satisfied
-----------------------------------------------
No constraints violated.