| 1 | +---------------------------------------------------------------------+ | ||
| 2 | | Log file: pa.results.log | | ||
| 3 | | Compiler version: 9.13.4 | | ||
| 4 | | Created on: Wed May 7 21:31:14 2025 | | ||
| 5 | | Run ID: ed9cd4c419f94042 | | ||
| 6 | +---------------------------------------------------------------------+ | ||
| 7 | |||
| 8 | Allocation state: Final Allocation | ||
| 9 | ------------------------------------------------------------------------------ | ||
| 10 | | PHV Group | Containers Used | Bits Used | Bits Available | | ||
| 11 | | (container bit widths) | (% used) | (% used) | | | ||
| 12 | ------------------------------------------------------------------------------ | ||
| 13 | | 0 (32) | 19 (95.00%) | 608 (95.00%) | 640 | | ||
| 14 | | 1 (32) | 10 (50.00%) | 320 (50.00%) | 640 | | ||
| 15 | | 2 (32) | 8 (40.00%) | 256 (40.00%) | 640 | | ||
| 16 | | 3 (32) | 8 (40.00%) | 240 (37.50%) | 640 | | ||
| 17 | | Total for 32 bit | 45 (56.25%) | 1424 (55.62%) | 2560 | | ||
| 18 | | | | | | | ||
| 19 | | 4 (8) | 5 (25.00%) | 31 (19.38%) | 160 | | ||
| 20 | | 5 (8) | 5 (25.00%) | 31 (19.38%) | 160 | | ||
| 21 | | 6 (8) | 3 (15.00%) | 24 (15.00%) | 160 | | ||
| 22 | | 7 (8) | 0 (0.00%) | 0 (0.00%) | 160 | | ||
| 23 | | Total for 8 bit | 13 (16.25%) | 86 (13.44%) | 640 | | ||
| 24 | | | | | | | ||
| 25 | | 8 (16) | 11 (55.00%) | 174 (54.38%) | 320 | | ||
| 26 | | 9 (16) | 14 (70.00%) | 219 (68.44%) | 320 | | ||
| 27 | | 10 (16) | 19 (95.00%) | 290 (90.62%) | 320 | | ||
| 28 | | 11 (16) | 10 (50.00%) | 160 (50.00%) | 320 | | ||
| 29 | | 12 (16) | 4 (20.00%) | 64 (20.00%) | 320 | | ||
| 30 | | 13 (16) | 6 (30.00%) | 96 (30.00%) | 320 | | ||
| 31 | | Total for 16 bit | 64 (53.33%) | 1003 (52.24%) | 1920 | | ||
| 32 | | | | | | | ||
| 33 | | Overall total | 122 (43.57%) | 2513 (49.08%) | 5120 | | ||
| 34 | ------------------------------------------------------------------------------ | ||
| 35 | |||
| 36 | -------------------------------------------- | ||
| 37 | PHV Allocation | ||
| 38 | -------------------------------------------- | ||
| 39 | |||
| 40 | Allocations in Group 0 32 bits | ||
| 41 | 32-bit PHV 0n (ingress): phv0[31:0] = hdr.ipv4.src_addr[31:0] (deparsed) | ||
| 42 | 32-bit PHV 0n (ingress): phv0[31:0] = hdr.ipv6.dst_addr[31:0] (deparsed) | ||
| 43 | 32-bit PHV 1n (ingress): phv1[31:0] = hdr.inner_ipv4.dst_addr[31:0] (deparsed) | ||
| 44 | 32-bit PHV 1n (ingress): phv1[31:0] = hdr.inner_ipv4.dst_addr[31:0] (deparsed) | ||
| 45 | 32-bit PHV 1n (ingress): phv1[7:0] = l3_router_Router4_fwd.slots[7:0] | ||
| 46 | 32-bit PHV 2n (ingress): phv2[31:0] = meta.orig_src_ipv4[31:0] | ||
| 47 | 32-bit PHV 3n (ingress): phv3[31:0] = hdr.inner_ipv4.src_addr[31:0] (deparsed) | ||
| 48 | 32-bit PHV 3n (ingress): phv3[31:0] = hdr.inner_ipv4.src_addr[31:0] (deparsed) | ||
| 49 | 32-bit PHV 3n (ingress): phv3[0:0] = l3_router_Router4_fwd.is_hit[0:0] | ||
| 50 | 32-bit PHV 4n (ingress): phv4[31:28] = hdr.inner_ipv6.version[3:0] (deparsed) | ||
| 51 | 32-bit PHV 4n (ingress): phv4[27:20] = hdr.inner_ipv6.traffic_class[7:0] (deparsed) | ||
| 52 | 32-bit PHV 4n (ingress): phv4[19:0] = hdr.inner_ipv6.flow_label[19:0] (deparsed) | ||
| 53 | 32-bit PHV 5n (ingress): phv5[31:28] = hdr.ipv6.version[3:0] (deparsed) | ||
| 54 | 32-bit PHV 5n (ingress): phv5[27:20] = hdr.ipv6.traffic_class[7:0] (deparsed) | ||
| 55 | 32-bit PHV 5n (ingress): phv5[19:0] = hdr.ipv6.flow_label[19:0] (deparsed) | ||
| 56 | 32-bit PHV 6n (ingress): phv6[31:0] = hdr.inner_tcp.ack_no[31:0] (deparsed) | ||
| 57 | 32-bit PHV 6n (ingress): phv6[31:0] = hdr.inner_tcp.ack_no[31:0] (deparsed) | ||
| 58 | 32-bit PHV 6n (ingress): phv6[0:0] = l3_router_Router6_fwd.is_hit[0:0] | ||
| 59 | 32-bit PHV 7n (ingress): phv7[31:0] = hdr.inner_tcp.seq_no[31:0] (deparsed) | ||
| 60 | 32-bit PHV 8n (ingress): phv8[31:16] = hdr.geneve_opts.ox_external_tag.class[15:0] (deparsed) | ||
| 61 | 32-bit PHV 8n (ingress): phv8[15:15] = hdr.geneve_opts.ox_external_tag.crit[0:0] (deparsed) | ||
| 62 | 32-bit PHV 8n (ingress): phv8[14:8] = hdr.geneve_opts.ox_external_tag.type[6:0] (deparsed) | ||
| 63 | 32-bit PHV 8n (ingress): phv8[7:5] = hdr.geneve_opts.ox_external_tag.reserved[2:0] (deparsed) | ||
| 64 | 32-bit PHV 8n (ingress): phv8[4:0] = hdr.geneve_opts.ox_external_tag.opt_len[4:0] (deparsed) | ||
| 65 | 32-bit PHV 9n (ingress): phv9[31:8] = hdr.geneve.vni[23:0] (deparsed) | ||
| 66 | 32-bit PHV 9n (ingress): phv9[7:0] = hdr.geneve.reserved2[7:0] (deparsed) | ||
| 67 | 32-bit PHV 10n (ingress): phv10[31:8] = meta.nat_geneve_vni[23:0] | ||
| 68 | 32-bit PHV 10n (ingress): phv10[7:0] = meta.drop_reason[7:0] | ||
| 69 | 32-bit PHV 11n (ingress): phv11[31:0] = hdr.inner_eth.src_mac[47:16] (deparsed) | ||
| 70 | 32-bit PHV 12m (ingress): phv12[31:0] = hdr.tcp.ack_no[31:0] (deparsed) | ||
| 71 | 32-bit PHV 12m (ingress): phv12[31:0] = hdr.inner_ipv6.dst_addr[31:0] (deparsed) | ||
| 72 | 32-bit PHV 13m (ingress): phv13[31:0] = hdr.tcp.seq_no[31:0] (deparsed) | ||
| 73 | 32-bit PHV 13m (ingress): phv13[31:0] = hdr.inner_ipv6.src_addr[31:0] (deparsed) | ||
| 74 | 32-bit PHV 14m (ingress): phv14[31:0] = hdr.ipv4.dst_addr[31:0] (deparsed) | ||
| 75 | 32-bit PHV 14m (ingress): phv14[31:0] = hdr.ipv6.src_addr[31:0] (deparsed) | ||
| 76 | 32-bit PHV 15m (ingress): phv15[31:0] = meta.nat_ingress_tgt[31:0] | ||
| 77 | 32-bit PHV 16d (ingress): phv16[31:0] = hdr.inner_ipv4.dst_addr[31:0] (deparsed) | ||
| 78 | 32-bit PHV 17d (ingress): phv17[31:0] = hdr.inner_ipv4.src_addr[31:0] (deparsed) | ||
| 79 | 32-bit PHV 18d (ingress): phv18[31:0] = hdr.inner_tcp.ack_no[31:0] (deparsed) | ||
| 80 | >> 19 in ingress and 0 in egress | ||
| 81 | |||
| 82 | Allocations in Group 1 32 bits | ||
| 83 | 32-bit PHV 20n (ingress): phv20[31:0] = hdr.ipv6.dst_addr[63:32] (deparsed) | ||
| 84 | 32-bit PHV 21n (ingress): phv21[31:28] = hdr.tcp.data_offset[3:0] (deparsed) | ||
| 85 | 32-bit PHV 21n (ingress): phv21[31:28] = hdr.inner_tcp.data_offset[3:0] (deparsed) | ||
| 86 | 32-bit PHV 21n (ingress): phv21[27:24] = hdr.tcp.res[3:0] (deparsed) | ||
| 87 | 32-bit PHV 21n (ingress): phv21[27:24] = hdr.inner_tcp.res[3:0] (deparsed) | ||
| 88 | 32-bit PHV 21n (ingress): phv21[23:16] = hdr.tcp.flags[7:0] (deparsed) | ||
| 89 | 32-bit PHV 21n (ingress): phv21[23:16] = hdr.inner_tcp.flags[7:0] (deparsed) | ||
| 90 | 32-bit PHV 21n (ingress): phv21[15:0] = hdr.tcp.window[15:0] (deparsed) | ||
| 91 | 32-bit PHV 21n (ingress): phv21[15:0] = hdr.inner_tcp.window[15:0] (deparsed) | ||
| 92 | 32-bit PHV 22n (ingress): phv22[31:0] = hdr.inner_eth.dst_mac[31:0] (deparsed) | ||
| 93 | 32-bit PHV 23n (ingress): phv23[31:0] = hdr.ethernet.src_mac[47:16] (deparsed) | ||
| 94 | 32-bit PHV 24n (ingress): phv24[31:0] = meta.nat_inner_mac[31:0] | ||
| 95 | 32-bit PHV 25n (ingress): phv25[31:0] = meta.orig_dst_ipv4[31:0] | ||
| 96 | 32-bit PHV 32m (ingress): phv32[31:0] = hdr.inner_ipv6.dst_addr[63:32] (deparsed) | ||
| 97 | 32-bit PHV 33m (ingress): phv33[31:0] = hdr.inner_ipv6.src_addr[63:32] (deparsed) | ||
| 98 | 32-bit PHV 34m (ingress): phv34[31:0] = hdr.ipv6.src_addr[63:32] (deparsed) | ||
| 99 | 32-bit PHV 35m (ingress): phv35[31:0] = meta.nat_ingress_tgt[63:32] | ||
| 100 | >> 10 in ingress and 0 in egress | ||
| 101 | |||
| 102 | Allocations in Group 2 32 bits | ||
| 103 | 32-bit PHV 40n (ingress): phv40[31:16] = hdr.ipv4.identification[15:0] (deparsed) | ||
| 104 | 32-bit PHV 40n (ingress): phv40[31:0] = hdr.ipv6.dst_addr[95:64] (deparsed) | ||
| 105 | 32-bit PHV 40n (ingress): phv40[15:13] = hdr.ipv4.flags[2:0] (deparsed) | ||
| 106 | 32-bit PHV 40n (ingress): phv40[12:0] = hdr.ipv4.frag_offset[12:0] (deparsed) | ||
| 107 | 32-bit PHV 41n (ingress): phv41[31:16] = hdr.inner_ipv4.identification[15:0] (deparsed) | ||
| 108 | 32-bit PHV 41n (ingress): phv41[15:13] = hdr.inner_ipv4.flags[2:0] (deparsed) | ||
| 109 | 32-bit PHV 41n (ingress): phv41[12:0] = hdr.inner_ipv4.frag_offset[12:0] (deparsed) | ||
| 110 | 32-bit PHV 42n (ingress): phv42[31:0] = hdr.sidecar.sc_payload[63:32] (deparsed) | ||
| 111 | 32-bit PHV 52m (ingress): phv52[31:0] = hdr.inner_ipv6.dst_addr[95:64] (deparsed) | ||
| 112 | 32-bit PHV 53m (ingress): phv53[31:0] = hdr.inner_ipv6.src_addr[95:64] (deparsed) | ||
| 113 | 32-bit PHV 54m (ingress): phv54[31:0] = hdr.ipv6.src_addr[95:64] (deparsed) | ||
| 114 | 32-bit PHV 55m (ingress): phv55[31:0] = meta.nat_ingress_tgt[95:64] | ||
| 115 | 32-bit PHV 55m (ingress): phv55[31:0] = l3_router_Router6_fwd.nexthop[63:32] | ||
| 116 | 32-bit PHV 56d (ingress): phv56[31:0] = meta.nexthop_ipv6[63:32] | ||
| 117 | >> 8 in ingress and 0 in egress | ||
| 118 | |||
| 119 | Allocations in Group 3 32 bits | ||
| 120 | 32-bit PHV 60n (ingress): phv60[15:0] = meta.l4_dst_port[15:0] | ||
| 121 | 32-bit PHV 61n (ingress): phv61[31:0] = meta.orig_src_mac[31:0] | ||
| 122 | 32-bit PHV 62n (ingress): phv62[31:0] = hdr.ethernet.dst_mac[31:0] (deparsed) | ||
| 123 | 32-bit PHV 63n (ingress): phv63[31:30] = hdr.geneve.version[1:0] (deparsed) | ||
| 124 | 32-bit PHV 63n (ingress): phv63[29:24] = hdr.geneve.opt_len[5:0] (deparsed) | ||
| 125 | 32-bit PHV 63n (ingress): phv63[23:23] = hdr.geneve.ctrl[0:0] (deparsed) | ||
| 126 | 32-bit PHV 63n (ingress): phv63[22:22] = hdr.geneve.crit[0:0] (deparsed) | ||
| 127 | 32-bit PHV 63n (ingress): phv63[21:16] = hdr.geneve.reserved[5:0] (deparsed) | ||
| 128 | 32-bit PHV 63n (ingress): phv63[15:0] = hdr.geneve.protocol[15:0] (deparsed) | ||
| 129 | 32-bit PHV 72m (ingress): phv72[31:0] = hdr.icmp.data[31:0] (deparsed) | ||
| 130 | 32-bit PHV 72m (ingress): phv72[31:16] = hdr.tcp.checksum[15:0] (deparsed) | ||
| 131 | 32-bit PHV 72m (ingress): phv72[31:16] = hdr.inner_tcp.checksum[15:0] (deparsed) | ||
| 132 | 32-bit PHV 72m (ingress): phv72[31:0] = hdr.inner_icmp.data[31:0] (deparsed) | ||
| 133 | 32-bit PHV 72m (ingress): phv72[15:0] = hdr.tcp.urgent_ptr[15:0] (deparsed) | ||
| 134 | 32-bit PHV 72m (ingress): phv72[15:0] = hdr.inner_tcp.urgent_ptr[15:0] (deparsed) | ||
| 135 | 32-bit PHV 73m (ingress): phv73[31:16] = hdr.tcp.src_port[15:0] (deparsed) | ||
| 136 | 32-bit PHV 73m (ingress): phv73[31:16] = hdr.inner_udp.src_port[15:0] (deparsed) | ||
| 137 | 32-bit PHV 73m (ingress): phv73[15:0] = hdr.tcp.dst_port[15:0] (deparsed) | ||
| 138 | 32-bit PHV 73m (ingress): phv73[15:0] = hdr.inner_udp.dst_port[15:0] (deparsed) | ||
| 139 | 32-bit PHV 74m (ingress): phv74[31:16] = hdr.udp.src_port[15:0] (deparsed) | ||
| 140 | 32-bit PHV 74m (ingress): phv74[15:0] = hdr.udp.dst_port[15:0] (deparsed) | ||
| 141 | 32-bit PHV 75m (ingress): phv75[31:16] = hdr.inner_tcp.src_port[15:0] (deparsed) | ||
| 142 | 32-bit PHV 75m (ingress): phv75[15:0] = hdr.inner_tcp.dst_port[15:0] (deparsed) | ||
| 143 | >> 8 in ingress and 0 in egress | ||
| 144 | |||
| 145 | Allocations in Group 4 8 bits | ||
| 146 | 8-bit PHV 80n (ingress): phv80[7:0] = $tmp2[7:0] (deparsed) | ||
| 147 | 8-bit PHV 81n (ingress): phv81[7:7] = hdr.ipv6.$valid[0:0] (deparsed) | ||
| 148 | 8-bit PHV 81n (ingress): phv81[6:6] = hdr.geneve_opts.ox_external_tag.$valid[0:0] (deparsed) | ||
| 149 | 8-bit PHV 81n (ingress): phv81[5:5] = hdr.inner_ipv4.$valid[0:0] (deparsed) | ||
| 150 | 8-bit PHV 81n (ingress): phv81[4:4] = hdr.inner_eth.$valid[0:0] (deparsed) | ||
| 151 | 8-bit PHV 81n (ingress): phv81[3:3] = hdr.geneve.$valid[0:0] (deparsed) | ||
| 152 | 8-bit PHV 81n (ingress): phv81[2:2] = hdr.ipv4.$valid[0:0] (deparsed) | ||
| 153 | 8-bit PHV 81n (ingress): phv81[1:1] = hdr.udp.$valid[0:0] (deparsed) | ||
| 154 | 8-bit PHV 81n (ingress): phv81[0:0] = hdr.vlan.$valid[0:0] (deparsed) | ||
| 155 | 8-bit PHV 82n (ingress): phv82[6:6] = meta.nat_ingress_port[0:0] | ||
| 156 | 8-bit PHV 82n (ingress): phv82[5:5] = meta.nat_egress[0:0] | ||
| 157 | 8-bit PHV 82n (ingress): phv82[4:4] = meta.service_routed[0:0] | ||
| 158 | 8-bit PHV 82n (ingress): phv82[3:3] = ig_intr_md_for_tm.bypass_egress[0:0] (deparsed) | ||
| 159 | 8-bit PHV 82n (ingress): phv82[2:2] = hdr.inner_ipv6.$valid[0:0] (deparsed) | ||
| 160 | 8-bit PHV 82n (ingress): phv82[1:1] = hdr.icmp.hdr_checksum.$deparse_updated_csum_0[0:0] (deparsed) | ||
| 161 | 8-bit PHV 82n (ingress): phv82[0:0] = hdr.icmp.hdr_checksum.$deparse_original_csum[0:0] (deparsed) | ||
| 162 | 8-bit PHV 83n (ingress): phv83[5:5] = meta.icmp_recalc[0:0] | ||
| 163 | 8-bit PHV 83n (ingress): phv83[4:4] = hdr.udp.checksum.$deparse_updated_csum_3[0:0] (deparsed) | ||
| 164 | 8-bit PHV 83n (ingress): phv83[3:3] = hdr.udp.checksum.$deparse_updated_csum_2[0:0] (deparsed) | ||
| 165 | 8-bit PHV 83n (ingress): phv83[2:2] = hdr.udp.checksum.$deparse_updated_csum_1[0:0] (deparsed) | ||
| 166 | 8-bit PHV 83n (ingress): phv83[1:1] = hdr.udp.checksum.$deparse_updated_csum_0[0:0] (deparsed) | ||
| 167 | 8-bit PHV 83n (ingress): phv83[0:0] = hdr.udp.checksum.$deparse_original_csum[0:0] (deparsed) | ||
| 168 | 8-bit PHV 92m (egress): phv92[1:1] = eg_intr_md_for_dprsr.mirror_io_select[0:0] (deparsed) | ||
| 169 | 8-bit PHV 92m (egress): phv92[0:0] = eg_intr_md_for_dprsr.mirror_io_select.$valid[0:0] (deparsed) | ||
| 170 | >> 4 in ingress and 1 in egress | ||
| 171 | |||
| 172 | Allocations in Group 5 8 bits | ||
| 173 | 8-bit PHV 100n (ingress): phv100[7:0] = hdr.ipv4.ttl[7:0] (deparsed) | ||
| 174 | 8-bit PHV 100n (ingress): phv100[7:0] = hdr.ipv6.hop_limit[7:0] (deparsed) | ||
| 175 | 8-bit PHV 112m (ingress): phv112[7:0] = hdr.inner_ipv4.ttl[7:0] (deparsed) | ||
| 176 | 8-bit PHV 113m (ingress): phv113[7:0] = hdr.inner_ipv6.hop_limit[7:0] (deparsed) | ||
| 177 | 8-bit PHV 114m (ingress): phv114[3:0] = ig_intr_md_for_dprsr.mirror_type[3:0] (deparsed) | ||
| 178 | 8-bit PHV 115m (ingress): phv115[2:0] = ig_intr_md_for_dprsr.drop_ctl[2:0] (deparsed) | ||
| 179 | >> 5 in ingress and 0 in egress | ||
| 180 | |||
| 181 | Allocations in Group 6 8 bits | ||
| 182 | 8-bit PHV 132m (ingress): phv132[7:0] = hdr.inner_ipv4.protocol[7:0] (deparsed) | ||
| 183 | 8-bit PHV 133m (ingress): phv133[7:0] = hdr.ipv4.protocol[7:0] (deparsed) | ||
| 184 | 8-bit PHV 133m (ingress): phv133[7:0] = hdr.ipv6.next_hdr[7:0] (deparsed) | ||
| 185 | 8-bit PHV 134m (ingress): phv134[7:0] = hdr.inner_ipv6.next_hdr[7:0] (deparsed) | ||
| 186 | >> 3 in ingress and 0 in egress | ||
| 187 | |||
| 188 | Allocations in Group 8 16 bits | ||
| 189 | 16-bit PHV 160n (ingress): phv160[13:13] = meta.nat_ingress[0:0] | ||
| 190 | 16-bit PHV 160n (ingress): phv160[12:12] = meta.is_switch_address[0:0] | ||
| 191 | 16-bit PHV 160n (ingress): phv160[11:11] = hdr.arp.$valid[0:0] (deparsed) | ||
| 192 | 16-bit PHV 160n (ingress): phv160[10:10] = hdr.inner_icmp.$valid[0:0] (deparsed) | ||
| 193 | 16-bit PHV 160n (ingress): phv160[9:9] = hdr.inner_udp.$valid[0:0] (deparsed) | ||
| 194 | 16-bit PHV 160n (ingress): phv160[8:8] = hdr.inner_tcp.$valid[0:0] (deparsed) | ||
| 195 | 16-bit PHV 160n (ingress): phv160[7:7] = hdr.tcp.$valid[0:0] (deparsed) | ||
| 196 | 16-bit PHV 160n (ingress): phv160[6:6] = hdr.icmp.$valid[0:0] (deparsed) | ||
| 197 | 16-bit PHV 160n (ingress): phv160[5:5] = hdr.sidecar.$valid[0:0] (deparsed) | ||
| 198 | 16-bit PHV 160n (ingress): phv160[4:4] = hdr.ethernet.$valid[0:0] (deparsed) | ||
| 199 | 16-bit PHV 160n (ingress): phv160[3:3] = ig_intr_md_for_tm.bypass_egress.$valid[0:0] (deparsed) | ||
| 200 | 16-bit PHV 160n (ingress): phv160[2:2] = ig_intr_md_for_tm.ucast_egress_port.$valid[0:0] (deparsed) | ||
| 201 | 16-bit PHV 160n (ingress): phv160[1:1] = ig_intr_md_for_dprsr.drop_ctl.$valid[0:0] (deparsed) | ||
| 202 | 16-bit PHV 160n (ingress): phv160[0:0] = ig_intr_md_for_dprsr.mirror_type.$valid[0:0] (deparsed) | ||
| 203 | 16-bit PHV 161n (ingress): phv161[15:13] = hdr.vlan.pcp[2:0] (deparsed) | ||
| 204 | 16-bit PHV 161n (ingress): phv161[12:12] = hdr.vlan.dei[0:0] (deparsed) | ||
| 205 | 16-bit PHV 161n (ingress): phv161[11:0] = hdr.vlan.vlan_id[11:0] (deparsed) | ||
| 206 | 16-bit PHV 162n (ingress): phv162[15:0] = hdr.sidecar.sc_payload[127:112] (deparsed) | ||
| 207 | 16-bit PHV 163n (ingress): phv163[15:8] = hdr.icmp.type[7:0] (deparsed) | ||
| 208 | 16-bit PHV 163n (ingress): phv163[15:8] = hdr.inner_icmp.type[7:0] (deparsed) | ||
| 209 | 16-bit PHV 163n (ingress): phv163[7:0] = hdr.icmp.code[7:0] (deparsed) | ||
| 210 | 16-bit PHV 163n (ingress): phv163[7:0] = hdr.inner_icmp.code[7:0] (deparsed) | ||
| 211 | 16-bit PHV 164n (ingress): phv164[15:0] = meta.l4_src_port[15:0] | ||
| 212 | 16-bit PHV 172m (ingress): phv172[15:0] = meta.icmp_csum[15:0] (deparsed) | ||
| 213 | 16-bit PHV 173m (ingress): phv173[15:0] = meta.body_checksum[15:0] (deparsed) | ||
| 214 | 16-bit PHV 174m (ingress): phv174[15:0] = hdr.inner_eth.src_mac[15:0] (deparsed) | ||
| 215 | 16-bit PHV 174m (ingress): phv174[15:0] = hdr.inner_eth.src_mac[15:0] (deparsed) | ||
| 216 | 16-bit PHV 174m (ingress): phv174[15:0] = l3_router_Router6_fwd.nexthop[127:112] | ||
| 217 | 16-bit PHV 175m (ingress): phv175[15:0] = hdr.ethernet.src_mac[15:0] (deparsed) | ||
| 218 | 16-bit PHV 176d (ingress): phv176[15:0] = meta.nexthop_ipv6[127:112] | ||
| 219 | 16-bit PHV 177d (ingress): phv177[15:0] = hdr.inner_eth.src_mac[15:0] (deparsed) | ||
| 220 | >> 11 in ingress and 0 in egress | ||
| 221 | |||
| 222 | Allocations in Group 9 16 bits | ||
| 223 | 16-bit PHV 180n (ingress): phv180[15:0] = l3_router_Router4_fwd.idx[15:0] | ||
| 224 | 16-bit PHV 180n (ingress): phv180[15:0] = l3_router_Router6_fwd.nexthop[15:0] | ||
| 225 | 16-bit PHV 181n (ingress): phv181[15:0] = hdr.sidecar.sc_payload[31:16] (deparsed) | ||
| 226 | 16-bit PHV 182n (ingress): phv182[15:0] = hdr.ethernet.dst_mac[47:32] (deparsed) | ||
| 227 | 16-bit PHV 183n (ingress): phv183[15:8] = hdr.sidecar.sc_code[7:0] (deparsed) | ||
| 228 | 16-bit PHV 183n (ingress): phv183[7:0] = hdr.sidecar.sc_pad[7:0] (deparsed) | ||
| 229 | 16-bit PHV 184n (ingress): phv184[15:0] = l3_router_Router4_fwd.nexthop[31:16] | ||
| 230 | 16-bit PHV 184n (ingress): phv184[15:0] = l3_router_Router6_fwd.nexthop[31:16] | ||
| 231 | 16-bit PHV 185n (ingress): phv185[15:0] = meta.nexthop_ipv6[111:96] | ||
| 232 | 16-bit PHV 185n (ingress): phv185[15:0] = meta.orig_src_mac[47:32] | ||
| 233 | 16-bit PHV 186n (ingress): phv186[15:0] = hdr.sidecar.sc_payload[111:96] (deparsed) | ||
| 234 | 16-bit PHV 188n (ingress): phv188[15:0] = l3_router_Router6_fwd.nexthop[111:96] | ||
| 235 | 16-bit PHV 188n (ingress): phv188[7:0] = l3_router_Router4_fwd.hash[7:0] | ||
| 236 | 16-bit PHV 192m (ingress): phv192[10:1] = meta.pkt_type[9:0] | ||
| 237 | 16-bit PHV 192m (ingress): phv192[0:0] = meta.ipv4_checksum_err[0:0] | ||
| 238 | 16-bit PHV 193m (ingress): phv193[15:0] = meta.nexthop_ipv6[15:0] | ||
| 239 | 16-bit PHV 193m (ingress): phv193[15:0] = l3_router_Router4_fwd.slot[15:0] | ||
| 240 | 16-bit PHV 194m (ingress): phv194[15:0] = hdr.sidecar.sc_payload[15:0] (deparsed) | ||
| 241 | 16-bit PHV 195m (ingress): phv195[15:0] = meta.nexthop_ipv6[31:16] | ||
| 242 | 16-bit PHV 195m (ingress): phv195[15:0] = l3_router_Router4_fwd.nexthop[15:0] | ||
| 243 | 16-bit PHV 196d (ingress): phv196[15:0] = meta.nexthop_ipv4[15:0] | ||
| 244 | 16-bit PHV 197d (ingress): phv197[15:0] = meta.nexthop_ipv4[31:16] | ||
| 245 | >> 14 in ingress and 0 in egress | ||
| 246 | |||
| 247 | Allocations in Group 10 16 bits | ||
| 248 | 16-bit PHV 200n (ingress): phv200[15:0] = meta.l4_length[15:0] (deparsed) | ||
| 249 | 16-bit PHV 201n (ingress): phv201[15:0] = hdr.ipv6.payload_len[15:0] (deparsed) | ||
| 250 | 16-bit PHV 202n (ingress): phv202[15:0] = hdr.udp.hdr_length[15:0] (deparsed) | ||
| 251 | 16-bit PHV 203n (ingress): phv203[15:0] = hdr.inner_ipv6.dst_addr[111:96] (deparsed) | ||
| 252 | 16-bit PHV 203n (ingress): phv203[15:0] = hdr.inner_ipv6.dst_addr[111:96] (deparsed) | ||
| 253 | 16-bit PHV 203n (ingress): phv203[8:0] = l3_router_Router4_fwd.port[8:0] | ||
| 254 | 16-bit PHV 204n (ingress): phv204[15:0] = hdr.inner_ipv6.src_addr[111:96] (deparsed) | ||
| 255 | 16-bit PHV 204n (ingress): phv204[15:0] = hdr.inner_ipv6.src_addr[111:96] (deparsed) | ||
| 256 | 16-bit PHV 204n (ingress): phv204[8:0] = l3_router_Router6_fwd.port[8:0] | ||
| 257 | 16-bit PHV 205n (ingress): phv205[15:0] = hdr.ipv6.src_addr[111:96] (deparsed) | ||
| 258 | 16-bit PHV 206n (ingress): phv206[8:0] = ig_intr_md_for_tm.ucast_egress_port[8:0] (deparsed) | ||
| 259 | 16-bit PHV 207n (ingress): phv207[15:0] = hdr.sidecar.sc_egress[15:0] (deparsed) | ||
| 260 | 16-bit PHV 208n (ingress): phv208[15:0] = meta.nat_ingress_tgt[111:96] | ||
| 261 | 16-bit PHV 208n (ingress): phv208[15:0] = l3_router_Router6_fwd.nexthop[79:64] | ||
| 262 | 16-bit PHV 209n (ingress): phv209[8:0] = meta.in_port[8:0] | ||
| 263 | 16-bit PHV 210n (ingress): phv210[15:0] = hdr.sidecar.sc_ingress[15:0] (deparsed) | ||
| 264 | 16-bit PHV 211n (ingress): phv211[15:0] = hdr.sidecar.sc_payload[79:64] (deparsed) | ||
| 265 | 16-bit PHV 212m (ingress): phv212[15:0] = hdr.inner_ipv4.total_len[15:0] (deparsed) | ||
| 266 | 16-bit PHV 213m (ingress): phv213[15:0] = hdr.ipv4.total_len[15:0] (deparsed) | ||
| 267 | 16-bit PHV 213m (ingress): phv213[15:0] = hdr.ipv6.dst_addr[111:96] (deparsed) | ||
| 268 | 16-bit PHV 214m (ingress): phv214[15:0] = hdr.inner_ipv6.payload_len[15:0] (deparsed) | ||
| 269 | 16-bit PHV 215m (ingress): phv215[15:0] = hdr.inner_udp.hdr_length[15:0] (deparsed) | ||
| 270 | 16-bit PHV 216d (ingress): phv216[15:0] = hdr.inner_ipv6.dst_addr[111:96] (deparsed) | ||
| 271 | 16-bit PHV 217d (ingress): phv217[15:0] = hdr.inner_ipv6.src_addr[111:96] (deparsed) | ||
| 272 | 16-bit PHV 218d (ingress): phv218[15:0] = meta.nexthop_ipv6[79:64] | ||
| 273 | >> 19 in ingress and 0 in egress | ||
| 274 | |||
| 275 | Allocations in Group 11 16 bits | ||
| 276 | 16-bit PHV 220n (ingress): phv220[15:12] = hdr.ipv4.version[3:0] (deparsed) | ||
| 277 | 16-bit PHV 220n (ingress): phv220[15:0] = hdr.ipv6.src_addr[127:112] (deparsed) | ||
| 278 | 16-bit PHV 220n (ingress): phv220[11:8] = hdr.ipv4.ihl[3:0] (deparsed) | ||
| 279 | 16-bit PHV 220n (ingress): phv220[7:0] = hdr.ipv4.diffserv[7:0] (deparsed) | ||
| 280 | 16-bit PHV 221n (ingress): phv221[15:12] = hdr.inner_ipv4.version[3:0] (deparsed) | ||
| 281 | 16-bit PHV 221n (ingress): phv221[11:8] = hdr.inner_ipv4.ihl[3:0] (deparsed) | ||
| 282 | 16-bit PHV 221n (ingress): phv221[7:0] = hdr.inner_ipv4.diffserv[7:0] (deparsed) | ||
| 283 | 16-bit PHV 222n (ingress): phv222[15:0] = hdr.inner_ipv4.hdr_checksum[15:0] (deparsed) | ||
| 284 | 16-bit PHV 223n (ingress): phv223[15:0] = hdr.inner_eth.dst_mac[47:32] (deparsed) | ||
| 285 | 16-bit PHV 224n (ingress): phv224[15:0] = meta.multicast[15:0] | ||
| 286 | 16-bit PHV 225n (ingress): phv225[15:0] = meta.nat_inner_mac[47:32] | ||
| 287 | 16-bit PHV 232m (ingress): phv232[15:0] = hdr.inner_ipv6.dst_addr[127:112] (deparsed) | ||
| 288 | 16-bit PHV 233m (ingress): phv233[15:0] = hdr.inner_ipv6.src_addr[127:112] (deparsed) | ||
| 289 | 16-bit PHV 234m (ingress): phv234[15:0] = hdr.ipv4.hdr_checksum[15:0] (deparsed) | ||
| 290 | 16-bit PHV 234m (ingress): phv234[15:0] = hdr.ipv6.dst_addr[127:112] (deparsed) | ||
| 291 | 16-bit PHV 235m (ingress): phv235[15:0] = meta.nat_ingress_tgt[127:112] | ||
| 292 | >> 10 in ingress and 0 in egress | ||
| 293 | |||
| 294 | Allocations in Group 12 16 bits | ||
| 295 | 16-bit PHV 252m (ingress): phv252[15:0] = hdr.sidecar.sc_ether_type[15:0] (deparsed) | ||
| 296 | 16-bit PHV 253m (ingress): phv253[15:0] = hdr.ethernet.ether_type[15:0] (deparsed) | ||
| 297 | 16-bit PHV 254m (ingress): phv254[15:0] = hdr.vlan.ether_type[15:0] (deparsed) | ||
| 298 | 16-bit PHV 255m (ingress): phv255[15:0] = hdr.inner_eth.ether_type[15:0] (deparsed) | ||
| 299 | >> 4 in ingress and 0 in egress | ||
| 300 | |||
| 301 | Allocations in Group 13 16 bits | ||
| 302 | 16-bit PHV 260n (ingress): phv260[15:0] = hdr.sidecar.sc_payload[95:80] (tagalong capable) (deparsed) | ||
| 303 | 16-bit PHV 272m (ingress): phv272[15:0] = l3_router_Router6_fwd.nexthop[95:80] (tagalong capable) | ||
| 304 | 16-bit PHV 273m (ingress): phv273[15:0] = hdr.inner_udp.checksum[15:0] (tagalong capable) (deparsed) | ||
| 305 | 16-bit PHV 274m (ingress): phv274[15:0] = hdr.udp.checksum[15:0] (tagalong capable) (deparsed) | ||
| 306 | 16-bit PHV 275m (ingress): phv275[15:0] = hdr.icmp.hdr_checksum[15:0] (tagalong capable) (deparsed) | ||
| 307 | 16-bit PHV 275m (ingress): phv275[15:0] = hdr.inner_icmp.hdr_checksum[15:0] (tagalong capable) (deparsed) | ||
| 308 | 16-bit PHV 276d (ingress): phv276[15:0] = meta.nexthop_ipv6[95:80] (tagalong capable) | ||
| 309 | >> 6 in ingress and 0 in egress | ||
| 310 | |||
| 311 | |||
| 312 | Final POV layout (ingress): | ||
| 313 | |||
| 314 | Final POV layout (egress): | ||