phu
} phu;
bzero(phu.pa, sizeof phu);
memcpy(&phu.ip4p.src, &ip4->ip_src, sizeof(struct in_addr));
memcpy(&phu.ip4p.dst, &ip4->ip_dst, sizeof(struct in_addr));
phu.ip4p.proto = ip4->ip_p;
phu.ip4p.len = u->uh_ulen;
hdrlen = sizeof phu.ip4p;
memcpy(&phu.ip6p.src, &ip6->ip6_src, sizeof(phu.ip6p.src));
memcpy(&phu.ip6p.dst, &ip6->ip6_dst, sizeof(phu.ip6p.dst));
phu.ip6p.plen = u->uh_ulen;
phu.ip6p.nxt = ip6->ip6_nxt;
hdrlen = sizeof phu.ip6p;
sum += phu.pa[i / 2];
} phu;
memset(&phu, 0, sizeof(phu));
phu.ph.ph_src = ip6->ip6_src;
phu.ph.ph_dst = ip6->ip6_dst;
phu.ph.ph_len = htonl(len);
phu.ph.ph_nxt = IPPROTO_ICMPV6;
for (i = 0; i < sizeof(phu.pa) / sizeof(phu.pa[0]); i++)
sum += phu.pa[i];
} phu;
phu.ph.len = htons((u_int16_t)len);
phu.ph.mbz = 0;
phu.ph.proto = IPPROTO_TCP;
memcpy(&phu.ph.src, &ip->ip_src.s_addr, sizeof(u_int32_t));
memcpy(&phu.ph.dst, &ip->ip_dst.s_addr, sizeof(u_int32_t));
sp = &phu.pa[0];
} phu;
memset(&phu, 0, sizeof(phu));
phu.ph.ph_src = ip6->ip6_src;
phu.ph.ph_dst = ip6->ip6_dst;
phu.ph.ph_len = htonl(len);
phu.ph.ph_nxt = IPPROTO_TCP;
for (i = 0; i < sizeof(phu.pa) / sizeof(phu.pa[0]); i++)
sum += phu.pa[i];