+---------------------------------------------------------------------+ | Log file: pa.results.log | | Compiler version: 9.13.4 | | Created on: Thu Jul 10 16:50:18 2025 | | Run ID: 6c7dcb3a0098464f | +---------------------------------------------------------------------+ Allocation state: Final Allocation ------------------------------------------------------------------------------ | PHV Group | Containers Used | Bits Used | Bits Available | | (container bit widths) | (% used) | (% used) | | ------------------------------------------------------------------------------ | 0 (32) | 17 (85.00%) | 521 (81.41%) | 640 | | 1 (32) | 15 (75.00%) | 480 (75.00%) | 640 | | 2 (32) | 15 (75.00%) | 480 (75.00%) | 640 | | 3 (32) | 6 (30.00%) | 192 (30.00%) | 640 | | Total for 32 bit | 53 (66.25%) | 1673 (65.35%) | 2560 | | | | | | | 4 (8) | 13 (65.00%) | 88 (55.00%) | 160 | | 5 (8) | 4 (20.00%) | 25 (15.62%) | 160 | | 6 (8) | 8 (40.00%) | 64 (40.00%) | 160 | | 7 (8) | 3 (15.00%) | 17 (10.62%) | 160 | | Total for 8 bit | 28 (35.00%) | 194 (30.31%) | 640 | | | | | | | 8 (16) | 20 (100.00%) | 316 (98.75%) | 320 | | 9 (16) | 16 (80.00%) | 251 (78.44%) | 320 | | 10 (16) | 18 (90.00%) | 280 (87.50%) | 320 | | 11 (16) | 20 (100.00%) | 299 (93.44%) | 320 | | 12 (16) | 17 (85.00%) | 258 (80.62%) | 320 | | 13 (16) | 17 (85.00%) | 265 (82.81%) | 320 | | Total for 16 bit | 108 (90.00%) | 1669 (86.93%) | 1920 | | | | | | | Overall total | 189 (67.50%) | 3536 (69.06%) | 5120 | ------------------------------------------------------------------------------ -------------------------------------------- PHV Allocation -------------------------------------------- Allocations in Group 0 32 bits 32-bit PHV 0n (egress): phv0[31:16] = is_ipv6_mcast_0[15:0] 32-bit PHV 1n (ingress): phv1[31:30] = hdr.geneve.version[1:0] (deparsed) 32-bit PHV 1n (ingress): phv1[29:24] = hdr.geneve.opt_len[5:0] (deparsed) 32-bit PHV 1n (ingress): phv1[23:23] = hdr.geneve.ctrl[0:0] (deparsed) 32-bit PHV 1n (ingress): phv1[22:22] = hdr.geneve.crit[0:0] (deparsed) 32-bit PHV 1n (ingress): phv1[21:16] = hdr.geneve.reserved[5:0] (deparsed) 32-bit PHV 1n (ingress): phv1[15:0] = hdr.geneve.protocol[15:0] (deparsed) 32-bit PHV 2n (ingress): phv2[31:16] = hdr.geneve_opts.ox_external_tag.class[15:0] (deparsed) 32-bit PHV 2n (ingress): phv2[15:15] = hdr.geneve_opts.ox_external_tag.crit[0:0] (deparsed) 32-bit PHV 2n (ingress): phv2[14:8] = hdr.geneve_opts.ox_external_tag.type[6:0] (deparsed) 32-bit PHV 2n (ingress): phv2[7:5] = hdr.geneve_opts.ox_external_tag.reserved[2:0] (deparsed) 32-bit PHV 2n (ingress): phv2[4:0] = hdr.geneve_opts.ox_external_tag.opt_len[4:0] (deparsed) 32-bit PHV 3n (ingress): phv3[31:8] = hdr.geneve.vni[23:0] (deparsed) 32-bit PHV 3n (ingress): phv3[7:0] = hdr.geneve.reserved2[7:0] (deparsed) 32-bit PHV 4n (egress): phv4[31:28] = hdr.tcp.data_offset[3:0] (deparsed) 32-bit PHV 4n (egress): phv4[27:24] = hdr.tcp.res[3:0] (deparsed) 32-bit PHV 4n (egress): phv4[23:16] = hdr.tcp.flags[7:0] (deparsed) 32-bit PHV 4n (egress): phv4[15:0] = hdr.tcp.window[15:0] (deparsed) 32-bit PHV 5n (egress): phv5[31:30] = hdr.geneve_opts.ox_mcast_tag.mcast_tag[1:0] (deparsed) 32-bit PHV 5n (egress): phv5[29:0] = hdr.geneve_opts.ox_mcast_tag.reserved[29:0] (deparsed) 32-bit PHV 6n (egress): phv6[31:16] = hdr.tcp.checksum[15:0] (deparsed) 32-bit PHV 6n (egress): phv6[15:0] = hdr.tcp.urgent_ptr[15:0] (deparsed) 32-bit PHV 7n (egress): phv7[31:16] = hdr.tcp.src_port[15:0] (deparsed) 32-bit PHV 7n (egress): phv7[15:0] = hdr.tcp.dst_port[15:0] (deparsed) 32-bit PHV 8n (ingress): phv8[31:0] = hdr.ethernet.src_mac[47:16] (deparsed) 32-bit PHV 9n (ingress): phv9[31:0] = hdr.inner_eth.src_mac[47:16] (deparsed) 32-bit PHV 9n (ingress): phv9[31:0] = hdr.inner_eth.src_mac[47:16] (deparsed) 32-bit PHV 9n (ingress): phv9[7:0] = l3_router_Router4_fwd.slots[7:0] 32-bit PHV 10n (egress): phv10[31:0] = hdr.ethernet.src_mac[31:0] (deparsed) 32-bit PHV 11n (egress): phv11[31:0] = hdr.inner_ipv6.dst_addr[95:64] (deparsed) 32-bit PHV 12m (egress): phv12[31:0] = hdr.ipv6.dst_addr[127:96] (deparsed) 32-bit PHV 13m (egress): phv13[31:0] = hdr.ipv6.dst_addr[63:32] (deparsed) 32-bit PHV 14m (egress): phv14[31:0] = hdr.ipv6.dst_addr[95:64] (deparsed) 32-bit PHV 15m (ingress): phv15[31:8] = meta.nat_geneve_vni[23:0] 32-bit PHV 15m (ingress): phv15[0:0] = meta.nat_ingress_hit[0:0] 32-bit PHV 16d (ingress): phv16[31:0] = hdr.inner_eth.src_mac[47:16] (deparsed) >> 7 in ingress and 10 in egress Allocations in Group 1 32 bits 32-bit PHV 20n (ingress): phv20[31:16] = hdr.ipv4.identification[15:0] (deparsed) 32-bit PHV 20n (ingress): phv20[31:0] = hdr.ipv6.src_addr[127:96] (deparsed) 32-bit PHV 20n (ingress): phv20[15:13] = hdr.ipv4.flags[2:0] (deparsed) 32-bit PHV 20n (ingress): phv20[12:0] = hdr.ipv4.frag_offset[12:0] (deparsed) 32-bit PHV 21n (ingress): phv21[31:16] = hdr.inner_ipv4.identification[15:0] (deparsed) 32-bit PHV 21n (ingress): phv21[31:28] = hdr.inner_ipv6.version[3:0] (deparsed) 32-bit PHV 21n (ingress): phv21[27:20] = hdr.inner_ipv6.traffic_class[7:0] (deparsed) 32-bit PHV 21n (ingress): phv21[19:0] = hdr.inner_ipv6.flow_label[19:0] (deparsed) 32-bit PHV 21n (ingress): phv21[15:13] = hdr.inner_ipv4.flags[2:0] (deparsed) 32-bit PHV 21n (ingress): phv21[12:0] = hdr.inner_ipv4.frag_offset[12:0] (deparsed) 32-bit PHV 22n (ingress): phv22[31:28] = hdr.ipv6.version[3:0] (deparsed) 32-bit PHV 22n (ingress): phv22[27:20] = hdr.ipv6.traffic_class[7:0] (deparsed) 32-bit PHV 22n (ingress): phv22[19:0] = hdr.ipv6.flow_label[19:0] (deparsed) 32-bit PHV 23n (ingress): phv23[31:16] = hdr.tcp.src_port[15:0] (deparsed) 32-bit PHV 23n (ingress): phv23[31:16] = hdr.inner_tcp.src_port[15:0] (deparsed) 32-bit PHV 23n (ingress): phv23[15:0] = hdr.tcp.dst_port[15:0] (deparsed) 32-bit PHV 23n (ingress): phv23[15:0] = hdr.inner_tcp.dst_port[15:0] (deparsed) 32-bit PHV 24n (ingress): phv24[31:0] = hdr.inner_eth.dst_mac[31:0] (deparsed) 32-bit PHV 24n (ingress): phv24[31:0] = hdr.inner_eth.dst_mac[31:0] (deparsed) 32-bit PHV 24n (ingress): phv24[0:0] = l3_router_Router4_fwd.is_hit[0:0] 32-bit PHV 26n (ingress): phv26[31:0] = meta.nat_inner_mac[31:0] 32-bit PHV 27n (egress): phv27[31:0] = hdr.inner_ipv6.dst_addr[127:96] (deparsed) 32-bit PHV 28n (egress): phv28[31:0] = hdr.tcp.ack_no[31:0] (deparsed) 32-bit PHV 29n (egress): phv29[31:0] = hdr.tcp.seq_no[31:0] (deparsed) 32-bit PHV 30n (ingress): phv30[31:0] = meta.orig_dst_ipv4[31:0] 32-bit PHV 32m (ingress): phv32[31:0] = hdr.inner_ipv6.dst_addr[127:96] (deparsed) 32-bit PHV 33m (ingress): phv33[31:0] = hdr.inner_ipv6.src_addr[127:96] (deparsed) 32-bit PHV 34m (ingress): phv34[31:0] = hdr.ipv6.dst_addr[127:96] (deparsed) 32-bit PHV 35m (ingress): phv35[31:0] = meta.nat_ingress_tgt[127:96] 32-bit PHV 36d (ingress): phv36[31:0] = hdr.inner_eth.dst_mac[31:0] (deparsed) >> 12 in ingress and 3 in egress Allocations in Group 2 32 bits 32-bit PHV 40n (ingress): phv40[31:0] = hdr.ipv6.dst_addr[63:32] (deparsed) 32-bit PHV 41n (ingress): phv41[31:0] = hdr.tcp.ack_no[31:0] (deparsed) 32-bit PHV 41n (ingress): phv41[31:0] = hdr.inner_tcp.ack_no[31:0] (deparsed) 32-bit PHV 42n (egress): phv42[31:0] = meta.decap_ports_0[31:0] 32-bit PHV 43n (egress): phv43[31:0] = meta.decap_ports_1[31:0] 32-bit PHV 44n (egress): phv44[31:0] = meta.decap_ports_2[31:0] 32-bit PHV 45n (egress): phv45[31:0] = meta.decap_ports_3[31:0] 32-bit PHV 46n (egress): phv46[31:0] = meta.decap_ports_4[31:0] 32-bit PHV 47n (egress): phv47[31:0] = meta.decap_ports_5[31:0] 32-bit PHV 48n (egress): phv48[31:0] = meta.decap_ports_6[31:0] 32-bit PHV 49n (egress): phv49[31:0] = meta.decap_ports_7[31:0] 32-bit PHV 50n (egress): phv50[31:0] = meta.bitmap_result[31:0] 32-bit PHV 52m (ingress): phv52[31:0] = hdr.inner_ipv6.dst_addr[63:32] (deparsed) 32-bit PHV 53m (ingress): phv53[31:0] = hdr.inner_ipv6.src_addr[63:32] (deparsed) 32-bit PHV 54m (ingress): phv54[31:0] = hdr.ipv6.src_addr[63:32] (deparsed) 32-bit PHV 55m (ingress): phv55[31:0] = meta.nat_ingress_tgt[63:32] >> 6 in ingress and 9 in egress Allocations in Group 3 32 bits 32-bit PHV 60n (ingress): phv60[31:0] = hdr.ipv6.dst_addr[95:64] (deparsed) 32-bit PHV 61n (ingress): phv61[31:0] = hdr.tcp.seq_no[31:0] (deparsed) 32-bit PHV 61n (ingress): phv61[31:0] = hdr.inner_tcp.seq_no[31:0] (deparsed) 32-bit PHV 72m (ingress): phv72[31:0] = hdr.inner_ipv6.dst_addr[95:64] (deparsed) 32-bit PHV 73m (ingress): phv73[31:0] = hdr.inner_ipv6.src_addr[95:64] (deparsed) 32-bit PHV 74m (ingress): phv74[31:0] = hdr.ipv6.src_addr[95:64] (deparsed) 32-bit PHV 75m (ingress): phv75[31:0] = meta.nat_ingress_tgt[95:64] >> 6 in ingress and 0 in egress Allocations in Group 4 8 bits 8-bit PHV 80n (ingress): phv80[7:0] = $tmp4[7:0] (deparsed) 8-bit PHV 81n (ingress): phv81[7:7] = hdr.ipv4.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[6:6] = hdr.udp.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[5:5] = hdr.vlan.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[4:4] = hdr.arp.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[3:3] = hdr.geneve_opts.ox_mcast_tag.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[2:2] = hdr.inner_icmp.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[1:1] = hdr.inner_udp.$valid[0:0] (deparsed) 8-bit PHV 81n (ingress): phv81[0:0] = hdr.inner_tcp.$valid[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[7:7] = meta.nat_ingress_port[0:0] 8-bit PHV 82n (ingress): phv82[6:6] = hdr.inner_ipv6.$valid[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[5:5] = hdr.geneve_opts.ox_external_tag.$valid[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[4:4] = hdr.inner_ipv4.$valid[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[3:3] = hdr.inner_eth.$valid[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[2:2] = hdr.geneve.$valid[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[1:1] = hdr.icmp.hdr_checksum.$deparse_updated_csum_0[0:0] (deparsed) 8-bit PHV 82n (ingress): phv82[0:0] = hdr.icmp.hdr_checksum.$deparse_original_csum[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[7:7] = filter_hasReturned[0:0] 8-bit PHV 83n (ingress): phv83[6:6] = ig_intr_md_for_tm.bypass_egress[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[5:5] = hdr.ipv6.$valid[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[4:4] = hdr.udp.checksum.$deparse_updated_csum_3[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[3:3] = hdr.udp.checksum.$deparse_updated_csum_2[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[2:2] = hdr.udp.checksum.$deparse_updated_csum_1[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[1:1] = hdr.udp.checksum.$deparse_updated_csum_0[0:0] (deparsed) 8-bit PHV 83n (ingress): phv83[0:0] = hdr.udp.checksum.$deparse_original_csum[0:0] (deparsed) 8-bit PHV 84n (egress): phv84[7:7] = eg_intr_md_for_dprsr.mirror_io_select[0:0] (deparsed) 8-bit PHV 84n (egress): phv84[6:4] = eg_intr_md_for_dprsr.drop_ctl[2:0] (deparsed) 8-bit PHV 84n (egress): phv84[3:3] = hdr.inner_ipv4.hdr_checksum.$deparse_updated_csum_0[0:0] (deparsed) 8-bit PHV 84n (egress): phv84[2:2] = hdr.inner_ipv4.hdr_checksum.$deparse_original_csum[0:0] (deparsed) 8-bit PHV 84n (egress): phv84[1:1] = hdr.tcp.$valid[0:0] (deparsed) 8-bit PHV 84n (egress): phv84[0:0] = hdr.ipv6.$valid[0:0] (deparsed) 8-bit PHV 85n (egress): phv85[7:0] = hdr.icmp.type[7:0] (deparsed) 8-bit PHV 85n (egress): phv85[7:0] = hdr.inner_ipv4.ttl[7:0] (deparsed) 8-bit PHV 85n (egress): phv85[7:0] = hdr.inner_ipv6.hop_limit[7:0] (deparsed) 8-bit PHV 86n (ingress): phv86[7:0] = l3_router_Router4_fwd.hash[7:0] 8-bit PHV 88n (ingress): phv88[7:0] = hdr.ipv4.ttl[7:0] (deparsed) 8-bit PHV 88n (ingress): phv88[7:0] = hdr.ipv6.hop_limit[7:0] (deparsed) 8-bit PHV 89n (ingress): phv89[7:6] = hdr.geneve_opts.ox_mcast_tag.mcast_tag[1:0] (deparsed) 8-bit PHV 89n (ingress): phv89[5:0] = hdr.geneve_opts.ox_mcast_tag.reserved[29:24] (deparsed) 8-bit PHV 92m (ingress): phv92[7:0] = hdr.inner_ipv4.ttl[7:0] (deparsed) 8-bit PHV 92m (ingress): phv92[7:0] = hdr.inner_ipv6.hop_limit[7:0] (deparsed) 8-bit PHV 93m (ingress): phv93[3:0] = ig_intr_md_for_dprsr.mirror_type[3:0] (deparsed) 8-bit PHV 94m (ingress): phv94[2:0] = ig_intr_md_for_dprsr.drop_ctl[2:0] (deparsed) 8-bit PHV 95m (egress): phv95[0:0] = eg_intr_md.egress_rid_first[0:0] >> 10 in ingress and 3 in egress Allocations in Group 5 8 bits 8-bit PHV 112m (ingress): phv112[0:0] = meta.is_valid[0:0] 8-bit PHV 113m (egress): phv113[7:0] = meta.drop_reason[7:0] 8-bit PHV 114m (ingress): phv114[7:0] = hdr.inner_ipv4.protocol[7:0] (deparsed) 8-bit PHV 114m (ingress): phv114[7:0] = hdr.inner_ipv6.next_hdr[7:0] (deparsed) 8-bit PHV 115m (ingress): phv115[7:0] = hdr.ipv4.protocol[7:0] (deparsed) 8-bit PHV 115m (ingress): phv115[7:0] = hdr.ipv6.next_hdr[7:0] (deparsed) >> 3 in ingress and 1 in egress Allocations in Group 6 8 bits 8-bit PHV 120n (egress): phv120[7:0] = hdr.ethernet.dst_mac[39:32] (deparsed) 8-bit PHV 121n (egress): phv121[7:0] = hdr.ethernet.dst_mac[47:40] (deparsed) 8-bit PHV 132m (egress): phv132[7:0] = hdr.geneve.reserved2[7:0] (deparsed) 8-bit PHV 132m (egress): phv132[7:0] = hdr.geneve.reserved2[7:0] (deparsed) 8-bit PHV 132m (egress): phv132[7:0] = mac_rewrite_ip_suffix_0[39:32] 8-bit PHV 133m (egress): phv133[7:0] = hdr.inner_ipv4.src_addr[31:24] (deparsed) 8-bit PHV 133m (egress): phv133[7:0] = hdr.inner_ipv6.dst_addr[55:48] (deparsed) 8-bit PHV 134m (egress): phv134[7:0] = hdr.inner_ipv6.dst_addr[63:56] (deparsed) 8-bit PHV 135m (egress): phv135[7:0] = hdr.inner_eth.src_mac[7:0] (deparsed) 8-bit PHV 135m (egress): phv135[7:0] = hdr.inner_eth.src_mac[7:0] (deparsed) 8-bit PHV 135m (egress): phv135[7:0] = mac_rewrite_ip_suffix_0[47:40] 8-bit PHV 136d (egress): phv136[7:0] = hdr.geneve.reserved2[7:0] (deparsed) 8-bit PHV 137d (egress): phv137[7:0] = hdr.inner_eth.src_mac[7:0] (deparsed) >> 0 in ingress and 8 in egress Allocations in Group 7 8 bits 8-bit PHV 152m (ingress): phv152[7:0] = meta.drop_reason[7:0] 8-bit PHV 153m (ingress): phv153[0:0] = meta.icmp_recalc[0:0] 8-bit PHV 154m (egress): phv154[7:0] = meta.port_number[7:0] >> 2 in ingress and 1 in egress Allocations in Group 8 16 bits 16-bit PHV 160n (ingress): phv160[15:15] = hdr.tcp.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[14:14] = hdr.icmp.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[13:13] = hdr.sidecar.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[12:12] = hdr.ethernet.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[11:11] = meta.bridge_hdr.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[10:10] = ig_intr_md_for_tm.bypass_egress.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[9:9] = ig_intr_md_for_tm.level2_mcast_hash.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[8:8] = ig_intr_md_for_tm.level1_mcast_hash.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[7:7] = ig_intr_md_for_tm.level2_exclusion_id.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[6:6] = ig_intr_md_for_tm.level1_exclusion_id.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[5:5] = ig_intr_md_for_tm.rid.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[4:4] = ig_intr_md_for_tm.mcast_grp_b.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[3:3] = ig_intr_md_for_tm.mcast_grp_a.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[2:2] = ig_intr_md_for_tm.ucast_egress_port.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[1:1] = ig_intr_md_for_dprsr.drop_ctl.$valid[0:0] (deparsed) 16-bit PHV 160n (ingress): phv160[0:0] = ig_intr_md_for_dprsr.mirror_type.$valid[0:0] (deparsed) 16-bit PHV 161n (ingress): phv161[15:15] = meta.is_link_local_mcastv6[0:0] 16-bit PHV 161n (ingress): phv161[14:14] = meta.is_mcast[0:0] 16-bit PHV 161n (ingress): phv161[13:13] = meta.is_switch_address[0:0] 16-bit PHV 161n (ingress): phv161[12:0] = ig_intr_md_for_tm.level1_mcast_hash[12:0] (deparsed) 16-bit PHV 162n (ingress): phv162[15:15] = meta.allow_source_mcast[0:0] 16-bit PHV 162n (ingress): phv162[14:14] = meta.nat_egress_hit[0:0] 16-bit PHV 162n (ingress): phv162[13:13] = meta.service_routed[0:0] 16-bit PHV 162n (ingress): phv162[12:0] = ig_intr_md_for_tm.level2_mcast_hash[12:0] (deparsed) 16-bit PHV 163n (ingress): phv163[15:13] = hdr.vlan.pcp[2:0] (deparsed) 16-bit PHV 163n (ingress): phv163[12:12] = hdr.vlan.dei[0:0] (deparsed) 16-bit PHV 163n (ingress): phv163[11:0] = hdr.vlan.vlan_id[11:0] (deparsed) 16-bit PHV 164n (egress): phv164[15:15] = hdr.geneve_opts.ox_mcast_tag.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[14:14] = hdr.geneve_opts.ox_external_tag.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[13:13] = hdr.inner_ipv6.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[12:12] = hdr.inner_udp.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[11:11] = hdr.inner_tcp.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[10:10] = hdr.inner_ipv4.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[9:9] = hdr.inner_eth.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[8:8] = hdr.geneve.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[7:7] = hdr.udp.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[6:6] = hdr.icmp.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[5:5] = hdr.ipv4.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[4:4] = hdr.vlan.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[3:3] = hdr.ethernet.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[2:2] = eg_intr_md_for_dprsr.drop_ctl.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[1:1] = eg_intr_md.egress_port.$valid[0:0] (deparsed) 16-bit PHV 164n (egress): phv164[0:0] = eg_intr_md_for_dprsr.mirror_io_select.$valid[0:0] (deparsed) 16-bit PHV 165n (egress): phv165[15:0] = hdr.vlan.ether_type[15:0] (deparsed) 16-bit PHV 166n (egress): phv166[15:13] = hdr.vlan.pcp[2:0] (deparsed) 16-bit PHV 166n (egress): phv166[12:12] = hdr.vlan.dei[0:0] (deparsed) 16-bit PHV 166n (egress): phv166[11:0] = hdr.vlan.vlan_id[11:0] (deparsed) 16-bit PHV 167n (egress): phv167[15:0] = hdr.geneve.vni[15:0] (deparsed) 16-bit PHV 167n (egress): phv167[15:0] = hdr.geneve.vni[15:0] (deparsed) 16-bit PHV 167n (egress): phv167[0:0] = meta.ipv4_checksum_recalc[0:0] 16-bit PHV 168n (egress): phv168[11:0] = meta.vlan_id[11:0] 16-bit PHV 169n (ingress): phv169[15:0] = hdr.sidecar.sc_payload[31:16] (deparsed) 16-bit PHV 170n (ingress): phv170[15:0] = hdr.inner_ipv4.hdr_checksum[15:0] (deparsed) 16-bit PHV 171n (ingress): phv171[15:0] = hdr.ipv4.hdr_checksum[15:0] (deparsed) 16-bit PHV 172m (ingress): phv172[15:0] = meta.icmp_csum[15:0] (deparsed) 16-bit PHV 173m (ingress): phv173[15:0] = meta.body_checksum[15:0] (deparsed) 16-bit PHV 174m (ingress): phv174[15:0] = ig_intr_md_for_tm.mcast_grp_a[15:0] (deparsed) 16-bit PHV 174m (ingress): phv174[15:0] = ig_intr_md_for_tm.mcast_grp_a[15:0] (deparsed) 16-bit PHV 174m (ingress): phv174[15:0] = l3_router_Router4_fwd.nexthop[31:16] 16-bit PHV 175m (ingress): phv175[15:0] = ig_intr_md_for_tm.mcast_grp_b[15:0] (deparsed) 16-bit PHV 175m (ingress): phv175[15:0] = ig_intr_md_for_tm.mcast_grp_b[15:0] (deparsed) 16-bit PHV 175m (ingress): phv175[15:0] = l3_router_Router6_fwd.nexthop[31:16] 16-bit PHV 176d (ingress): phv176[15:0] = meta.nexthop_ipv4[31:16] 16-bit PHV 176d (ingress): phv176[15:0] = meta.nexthop_ipv6[31:16] 16-bit PHV 177d (ingress): phv177[15:0] = ig_intr_md_for_tm.mcast_grp_a[15:0] (deparsed) 16-bit PHV 178d (ingress): phv178[15:0] = ig_intr_md_for_tm.mcast_grp_b[15:0] (deparsed) 16-bit PHV 179d (egress): phv179[15:0] = hdr.geneve.vni[15:0] (deparsed) >> 14 in ingress and 6 in egress Allocations in Group 9 16 bits 16-bit PHV 180n (ingress): phv180[15:0] = meta.l4_length[15:0] (deparsed) 16-bit PHV 181n (ingress): phv181[15:0] = hdr.ipv4.dst_addr[15:0] (deparsed) 16-bit PHV 181n (ingress): phv181[15:0] = hdr.ipv6.payload_len[15:0] (deparsed) 16-bit PHV 182n (ingress): phv182[15:0] = hdr.udp.hdr_length[15:0] (deparsed) 16-bit PHV 183n (ingress): phv183[15:0] = hdr.inner_ipv4.dst_addr[15:0] (deparsed) 16-bit PHV 183n (ingress): phv183[15:0] = hdr.inner_ipv6.dst_addr[15:0] (deparsed) 16-bit PHV 184n (ingress): phv184[15:0] = meta.orig_src_mac[15:0] 16-bit PHV 185n (ingress): phv185[15:0] = meta.orig_src_ipv4[15:0] 16-bit PHV 186n (ingress): phv186[15:0] = hdr.inner_ipv4.src_addr[15:0] (deparsed) 16-bit PHV 186n (ingress): phv186[15:0] = hdr.inner_ipv6.src_addr[15:0] (deparsed) 16-bit PHV 187n (ingress): phv187[15:0] = hdr.ethernet.dst_mac[15:0] (deparsed) 16-bit PHV 188n (ingress): phv188[15:0] = meta.nat_ingress_tgt[15:0] 16-bit PHV 189n (ingress): phv189[15:0] = hdr.ipv4.src_addr[15:0] (deparsed) 16-bit PHV 189n (ingress): phv189[15:0] = hdr.ipv6.src_addr[15:0] (deparsed) 16-bit PHV 190n (ingress): phv190[15:8] = hdr.icmp.type[7:0] (deparsed) 16-bit PHV 190n (ingress): phv190[15:0] = hdr.tcp.urgent_ptr[15:0] (deparsed) 16-bit PHV 190n (ingress): phv190[15:0] = hdr.inner_tcp.urgent_ptr[15:0] (deparsed) 16-bit PHV 190n (ingress): phv190[15:0] = hdr.inner_udp.src_port[15:0] (deparsed) 16-bit PHV 190n (ingress): phv190[15:8] = hdr.inner_icmp.type[7:0] (deparsed) 16-bit PHV 190n (ingress): phv190[7:0] = hdr.icmp.code[7:0] (deparsed) 16-bit PHV 190n (ingress): phv190[7:0] = hdr.inner_icmp.code[7:0] (deparsed) 16-bit PHV 191n (ingress): phv191[15:0] = hdr.udp.src_port[15:0] (deparsed) 16-bit PHV 192m (ingress): phv192[10:1] = meta.pkt_type[9:0] 16-bit PHV 192m (ingress): phv192[0:0] = meta.ipv4_checksum_err[0:0] 16-bit PHV 193m (ingress): phv193[15:0] = hdr.inner_ipv4.total_len[15:0] (deparsed) 16-bit PHV 193m (ingress): phv193[15:0] = hdr.inner_ipv6.payload_len[15:0] (deparsed) 16-bit PHV 194m (ingress): phv194[15:0] = hdr.ipv4.total_len[15:0] (deparsed) 16-bit PHV 194m (ingress): phv194[15:0] = hdr.ipv6.dst_addr[15:0] (deparsed) 16-bit PHV 195m (ingress): phv195[15:0] = hdr.icmp.data[15:0] (deparsed) 16-bit PHV 195m (ingress): phv195[15:0] = hdr.tcp.window[15:0] (deparsed) 16-bit PHV 195m (ingress): phv195[15:0] = hdr.inner_tcp.window[15:0] (deparsed) 16-bit PHV 195m (ingress): phv195[15:0] = hdr.inner_udp.hdr_length[15:0] (deparsed) 16-bit PHV 195m (ingress): phv195[15:0] = hdr.inner_icmp.data[15:0] (deparsed) >> 16 in ingress and 0 in egress Allocations in Group 10 16 bits 16-bit PHV 200n (ingress): phv200[15:0] = l3_router_Router4_fwd.idx[15:0] 16-bit PHV 200n (ingress): phv200[15:0] = l3_router_Router6_fwd.nexthop[15:0] 16-bit PHV 201n (egress): phv201[15:0] = hdr.ethernet.dst_mac[15:0] (deparsed) 16-bit PHV 202n (egress): phv202[15:0] = hdr.inner_ipv4.dst_addr[31:16] (deparsed) 16-bit PHV 202n (egress): phv202[15:0] = hdr.inner_ipv6.dst_addr[31:16] (deparsed) 16-bit PHV 203n (egress): phv203[15:0] = hdr.ethernet.dst_mac[31:16] (deparsed) 16-bit PHV 204n (egress): phv204[15:0] = mac_rewrite_ip_suffix[15:0] 16-bit PHV 204n (egress): phv204[15:0] = mac_rewrite_ip_suffix_0[31:16] 16-bit PHV 205n (egress): phv205[7:0] = mac_rewrite_ip_suffix[23:16] 16-bit PHV 206n (ingress): phv206[15:0] = hdr.sidecar.sc_payload[15:0] (deparsed) 16-bit PHV 207n (ingress): phv207[15:0] = hdr.sidecar.sc_payload[79:64] (deparsed) 16-bit PHV 208n (ingress): phv208[15:0] = l3_router_Router4_fwd.nexthop[15:0] 16-bit PHV 208n (ingress): phv208[15:0] = l3_router_Router6_fwd.nexthop[79:64] 16-bit PHV 209n (egress): phv209[15:0] = hdr.inner_ipv4.hdr_checksum[15:0] (deparsed) 16-bit PHV 209n (egress): phv209[15:0] = hdr.inner_ipv6.dst_addr[47:32] (deparsed) 16-bit PHV 210n (egress): phv210[15:0] = hdr.ethernet.ether_type[15:0] (deparsed) 16-bit PHV 211n (egress): phv211[15:0] = hdr.ethernet.src_mac[47:32] (deparsed) 16-bit PHV 212m (ingress): phv212[15:0] = meta.nexthop_ipv6[15:0] 16-bit PHV 212m (ingress): phv212[15:0] = l3_router_Router4_fwd.slot[15:0] 16-bit PHV 213m (egress): phv213[15:0] = hdr.ipv4.dst_addr[15:0] (deparsed) 16-bit PHV 213m (egress): phv213[15:0] = hdr.ipv6.dst_addr[15:0] (deparsed) 16-bit PHV 214m (egress): phv214[15:8] = hdr.icmp.code[7:0] (deparsed) 16-bit PHV 214m (egress): phv214[15:0] = hdr.inner_ipv4.dst_addr[15:0] (deparsed) 16-bit PHV 214m (egress): phv214[15:0] = hdr.inner_ipv6.dst_addr[15:0] (deparsed) 16-bit PHV 214m (egress): phv214[7:0] = hdr.icmp.hdr_checksum[15:8] (deparsed) 16-bit PHV 215m (egress): phv215[15:0] = hdr.ipv4.dst_addr[31:16] (deparsed) 16-bit PHV 215m (egress): phv215[15:0] = hdr.ipv6.dst_addr[31:16] (deparsed) 16-bit PHV 216d (egress): phv216[15:0] = mac_rewrite_ip_suffix_0[15:0] 16-bit PHV 217d (ingress): phv217[15:0] = meta.nexthop_ipv4[15:0] 16-bit PHV 217d (ingress): phv217[15:0] = meta.nexthop_ipv6[79:64] >> 6 in ingress and 12 in egress Allocations in Group 11 16 bits 16-bit PHV 220n (ingress): phv220[15:0] = hdr.sidecar.sc_egress[15:0] (deparsed) 16-bit PHV 221n (ingress): phv221[15:0] = hdr.sidecar.sc_ingress[15:0] (deparsed) 16-bit PHV 222n (ingress): phv222[15:0] = hdr.sidecar.sc_payload[127:112] (deparsed) 16-bit PHV 223n (ingress): phv223[15:0] = hdr.icmp.data[31:16] (deparsed) 16-bit PHV 223n (ingress): phv223[15:12] = hdr.tcp.data_offset[3:0] (deparsed) 16-bit PHV 223n (ingress): phv223[15:12] = hdr.inner_tcp.data_offset[3:0] (deparsed) 16-bit PHV 223n (ingress): phv223[15:0] = hdr.inner_udp.dst_port[15:0] (deparsed) 16-bit PHV 223n (ingress): phv223[15:0] = hdr.inner_icmp.data[31:16] (deparsed) 16-bit PHV 223n (ingress): phv223[11:8] = hdr.tcp.res[3:0] (deparsed) 16-bit PHV 223n (ingress): phv223[11:8] = hdr.inner_tcp.res[3:0] (deparsed) 16-bit PHV 223n (ingress): phv223[7:0] = hdr.tcp.flags[7:0] (deparsed) 16-bit PHV 223n (ingress): phv223[7:0] = hdr.inner_tcp.flags[7:0] (deparsed) 16-bit PHV 224n (ingress): phv224[15:0] = meta.l4_dst_port[15:0] 16-bit PHV 225n (ingress): phv225[15:0] = hdr.udp.dst_port[15:0] (deparsed) 16-bit PHV 226n (ingress): phv226[15:0] = hdr.icmp.hdr_checksum[15:0] (deparsed) 16-bit PHV 226n (ingress): phv226[15:0] = hdr.tcp.checksum[15:0] (deparsed) 16-bit PHV 226n (ingress): phv226[15:0] = hdr.inner_tcp.checksum[15:0] (deparsed) 16-bit PHV 226n (ingress): phv226[15:0] = hdr.inner_udp.checksum[15:0] (deparsed) 16-bit PHV 226n (ingress): phv226[15:0] = hdr.inner_icmp.hdr_checksum[15:0] (deparsed) 16-bit PHV 227n (ingress): phv227[15:0] = hdr.sidecar.sc_payload[95:80] (deparsed) 16-bit PHV 228n (ingress): phv228[15:12] = hdr.inner_ipv4.version[3:0] (deparsed) 16-bit PHV 228n (ingress): phv228[15:12] = hdr.inner_ipv4.version[3:0] (deparsed) 16-bit PHV 228n (ingress): phv228[15:0] = l3_router_Router6_fwd.nexthop[95:80] 16-bit PHV 228n (ingress): phv228[11:8] = hdr.inner_ipv4.ihl[3:0] (deparsed) 16-bit PHV 228n (ingress): phv228[11:8] = hdr.inner_ipv4.ihl[3:0] (deparsed) 16-bit PHV 228n (ingress): phv228[7:0] = hdr.inner_ipv4.diffserv[7:0] (deparsed) 16-bit PHV 228n (ingress): phv228[7:0] = hdr.inner_ipv4.diffserv[7:0] (deparsed) 16-bit PHV 229n (ingress): phv229[15:12] = hdr.ipv4.version[3:0] (deparsed) 16-bit PHV 229n (ingress): phv229[11:8] = hdr.ipv4.ihl[3:0] (deparsed) 16-bit PHV 229n (ingress): phv229[7:0] = hdr.ipv4.diffserv[7:0] (deparsed) 16-bit PHV 230n (ingress): phv230[15:0] = hdr.udp.checksum[15:0] (deparsed) 16-bit PHV 231n (ingress): phv231[15:9] = meta.bridge_hdr.__pad_0[6:0] 16-bit PHV 231n (ingress): phv231[8:0] = meta.bridge_hdr.ingress_port[8:0] (deparsed) 16-bit PHV 232m (ingress): phv232[8:0] = ig_intr_md.ingress_port[8:0] 16-bit PHV 233m (ingress): phv233[8:0] = ig_intr_md_for_tm.ucast_egress_port[8:0] (deparsed) 16-bit PHV 234m (ingress): phv234[8:0] = l3_router_Router4_fwd.port[8:0] 16-bit PHV 234m (ingress): phv234[8:0] = l3_router_Router6_fwd.port[8:0] 16-bit PHV 235m (ingress): phv235[15:0] = ig_intr_md_for_tm.level1_exclusion_id[15:0] (deparsed) 16-bit PHV 235m (ingress): phv235[15:0] = ig_intr_md_for_tm.level1_exclusion_id[15:0] (deparsed) 16-bit PHV 235m (ingress): phv235[15:0] = l3_router_Router6_fwd.nexthop[127:112] 16-bit PHV 236d (ingress): phv236[15:0] = meta.nexthop_ipv6[127:112] 16-bit PHV 237d (ingress): phv237[15:0] = ig_intr_md_for_tm.level1_exclusion_id[15:0] (deparsed) 16-bit PHV 238d (ingress): phv238[15:0] = meta.nexthop_ipv6[95:80] 16-bit PHV 239d (ingress): phv239[15:12] = hdr.inner_ipv4.version[3:0] (deparsed) 16-bit PHV 239d (ingress): phv239[11:8] = hdr.inner_ipv4.ihl[3:0] (deparsed) 16-bit PHV 239d (ingress): phv239[7:0] = hdr.inner_ipv4.diffserv[7:0] (deparsed) >> 20 in ingress and 0 in egress Allocations in Group 12 16 bits 16-bit PHV 240n (ingress): phv240[15:0] = hdr.inner_ipv4.dst_addr[31:16] (deparsed) 16-bit PHV 240n (ingress): phv240[15:0] = hdr.inner_ipv6.dst_addr[31:16] (deparsed) 16-bit PHV 241n (ingress): phv241[15:0] = hdr.inner_ipv4.src_addr[31:16] (deparsed) 16-bit PHV 241n (ingress): phv241[15:0] = hdr.inner_ipv6.src_addr[31:16] (deparsed) 16-bit PHV 242n (ingress): phv242[15:0] = hdr.ipv4.dst_addr[31:16] (deparsed) 16-bit PHV 242n (ingress): phv242[15:0] = hdr.ipv6.dst_addr[31:16] (deparsed) 16-bit PHV 243n (ingress): phv243[15:0] = hdr.ethernet.dst_mac[31:16] (deparsed) 16-bit PHV 244n (ingress): phv244[15:0] = meta.nat_ingress_tgt[31:16] 16-bit PHV 245n (ingress): phv245[15:0] = hdr.ipv4.src_addr[31:16] (deparsed) 16-bit PHV 245n (ingress): phv245[15:0] = hdr.ipv6.src_addr[31:16] (deparsed) 16-bit PHV 246n (ingress): phv246[15:0] = hdr.vlan.ether_type[15:0] (deparsed) 16-bit PHV 247n (ingress): phv247[15:0] = hdr.sidecar.sc_ether_type[15:0] (deparsed) 16-bit PHV 248n (ingress): phv248[15:0] = hdr.ethernet.ether_type[15:0] (deparsed) 16-bit PHV 249n (ingress): phv249[15:0] = hdr.inner_eth.ether_type[15:0] (deparsed) 16-bit PHV 249n (ingress): phv249[15:0] = hdr.inner_eth.ether_type[15:0] (deparsed) 16-bit PHV 249n (ingress): phv249[0:0] = l3_router_Router6_fwd.is_hit[0:0] 16-bit PHV 250n (ingress): phv250[15:8] = hdr.sidecar.sc_code[7:0] (deparsed) 16-bit PHV 250n (ingress): phv250[7:0] = hdr.sidecar.sc_pad[7:0] (deparsed) 16-bit PHV 251n (egress): phv251[15:0] = eg_intr_md.egress_rid[15:0] 16-bit PHV 252m (egress): phv252[8:0] = eg_intr_md.egress_port[8:0] (deparsed) 16-bit PHV 253m (egress): phv253[8:0] = meta.bridge_hdr.ingress_port[8:0] 16-bit PHV 254m (ingress): phv254[15:0] = meta.orig_src_mac[31:16] 16-bit PHV 255m (ingress): phv255[15:0] = meta.orig_src_ipv4[31:16] 16-bit PHV 256d (ingress): phv256[15:0] = hdr.inner_eth.ether_type[15:0] (tagalong capable) (deparsed) >> 14 in ingress and 3 in egress Allocations in Group 13 16 bits 16-bit PHV 260n (ingress): phv260[15:0] = hdr.sidecar.sc_payload[47:32] (tagalong capable) (deparsed) 16-bit PHV 261n (ingress): phv261[15:0] = hdr.sidecar.sc_payload[63:48] (tagalong capable) (deparsed) 16-bit PHV 262n (ingress): phv262[15:0] = hdr.ethernet.dst_mac[47:32] (tagalong capable) (deparsed) 16-bit PHV 263n (ingress): phv263[15:0] = hdr.inner_eth.dst_mac[47:32] (tagalong capable) (deparsed) 16-bit PHV 264n (ingress): phv264[15:0] = meta.nexthop_ipv6[111:96] (tagalong capable) 16-bit PHV 264n (ingress): phv264[15:0] = meta.orig_src_mac[47:32] (tagalong capable) 16-bit PHV 265n (ingress): phv265[15:0] = meta.nat_inner_mac[47:32] (tagalong capable) 16-bit PHV 265n (ingress): phv265[15:0] = l3_router_Router6_fwd.nexthop[111:96] (tagalong capable) 16-bit PHV 266n (ingress): phv266[15:0] = hdr.sidecar.sc_payload[111:96] (tagalong capable) (deparsed) 16-bit PHV 268n (egress): phv268[15:0] = hdr.inner_eth.ether_type[15:0] (tagalong capable) (deparsed) 16-bit PHV 269n (ingress): phv269[15:0] = meta.l4_src_port[15:0] (tagalong capable) 16-bit PHV 272m (ingress): phv272[15:0] = ig_intr_md_for_tm.rid[15:0] (tagalong capable) (deparsed) 16-bit PHV 272m (ingress): phv272[15:0] = ig_intr_md_for_tm.rid[15:0] (tagalong capable) (deparsed) 16-bit PHV 272m (ingress): phv272[15:0] = l3_router_Router6_fwd.nexthop[47:32] (tagalong capable) 16-bit PHV 273m (ingress): phv273[8:0] = ig_intr_md_for_tm.level2_exclusion_id[8:0] (tagalong capable) (deparsed) 16-bit PHV 274m (ingress): phv274[15:0] = hdr.inner_eth.src_mac[15:0] (tagalong capable) (deparsed) 16-bit PHV 274m (ingress): phv274[15:0] = hdr.inner_eth.src_mac[15:0] (tagalong capable) (deparsed) 16-bit PHV 274m (ingress): phv274[15:0] = l3_router_Router6_fwd.nexthop[63:48] (tagalong capable) 16-bit PHV 275m (ingress): phv275[15:0] = hdr.ethernet.src_mac[15:0] (tagalong capable) (deparsed) 16-bit PHV 276d (ingress): phv276[15:0] = meta.nexthop_ipv6[47:32] (tagalong capable) 16-bit PHV 277d (ingress): phv277[15:0] = ig_intr_md_for_tm.rid[15:0] (tagalong capable) (deparsed) 16-bit PHV 278d (ingress): phv278[15:0] = meta.nexthop_ipv6[63:48] (tagalong capable) 16-bit PHV 279d (ingress): phv279[15:0] = hdr.inner_eth.src_mac[15:0] (tagalong capable) (deparsed) >> 16 in ingress and 1 in egress Final POV layout (ingress): Final POV layout (egress):