s6_addr32
if (filt->ff_flow6.fi6_src.s6_addr32[i] !=
(pkt->fi6_src.s6_addr32[i] &
filt->ff_mask6.mask6_src.s6_addr32[i]))
if (filt->ff_flow6.fi6_dst.s6_addr32[i] !=
(pkt->fi6_dst.s6_addr32[i] &
filt->ff_mask6.mask6_dst.s6_addr32[i]))
sa->sin6.sin6_addr.s6_addr32[i] =
sa->sin6.sin6_addr.s6_addr32[i] = 0xFFFFFFFF;
for (i = 0; i < __arraycount(faddr6->s6_addr32); i++)
n32 ^= faddr6->s6_addr32[i] ^ laddr6->s6_addr32[i];
for (i = 0; i < __arraycount(faddr6->s6_addr32); i++)
n32 ^= faddr6->s6_addr32[i] ^ laddr6->s6_addr32[i];
(((faddr)->s6_addr32[0] ^ (faddr)->s6_addr32[1] ^ \
(faddr)->s6_addr32[2] ^ (faddr)->s6_addr32[3] ^ \
(laddr)->s6_addr32[0] ^ (laddr)->s6_addr32[1] ^ \
(laddr)->s6_addr32[2] ^ (laddr)->s6_addr32[3]) \
if ((sin6->sin6_addr.s6_addr32[i] &
ia->ia_prefixmask.sin6_addr.s6_addr32[i]) !=
(ia->ia_addr.sin6_addr.s6_addr32[i] &
ia->ia_prefixmask.sin6_addr.s6_addr32[i]))
addr6.sin6_addr.s6_addr32[1] = 0;
addr6.sin6_addr.s6_addr32[2] = htonl(1);
addr6.sin6_addr.s6_addr32[3] = 0;
*(struct in_addr *)&sin6.sin6_addr.s6_addr32[3],
ip6->ip6_src.s6_addr32[2] = ip6->ip6_dst.s6_addr32[2] =
ip6->ip6_src.s6_addr32[3] = ip->ip_src.s_addr;
ip6->ip6_dst.s6_addr32[3] = ip->ip_dst.s_addr;
memcpy(&d, &in6p_faddr(inp).s6_addr32[3], sizeof(d));
bcopy(&in6p_laddr(inp).s6_addr32[3], &ipov->ih_src,
bcopy(&in6p_faddr(inp).s6_addr32[3], &ipov->ih_dst,
&in6p_faddr(tp->t_inpcb).s6_addr32[3],
((((sa)->s6_addr32[0] ^ (sa)->s6_addr32[3] ^ syn_hash1) * \
&in6p_laddr(inp).s6_addr32[3],
ifra->ifra_prefixmask.sin6_addr.s6_addr32[i] =
if (sin6->sin6_addr.s6_addr32[2] != 0
|| sin6->sin6_addr.s6_addr32[3] != 0) {
ifra.ifra_addr.sin6_addr.s6_addr32[2] =
xhostid->s6_addr32[2];
ifra.ifra_addr.sin6_addr.s6_addr32[3] =
xhostid->s6_addr32[3];
ifra.ifra_dstaddr.sin6_addr.s6_addr32[2] =
xhostid->s6_addr32[2];
ifra.ifra_dstaddr.sin6_addr.s6_addr32[3] =
xhostid->s6_addr32[3];
match.s6_addr32[0] &= mask.s6_addr32[0];
match.s6_addr32[1] &= mask.s6_addr32[1];
match.s6_addr32[2] &= mask.s6_addr32[2];
match.s6_addr32[3] &= mask.s6_addr32[3];
candidate.s6_addr32[0] &= mask.s6_addr32[0];
candidate.s6_addr32[1] &= mask.s6_addr32[1];
candidate.s6_addr32[2] &= mask.s6_addr32[2];
candidate.s6_addr32[3] &= mask.s6_addr32[3];
return IN6_LLTBL_HASH(dst->s6_addr32[3], hsize);
in6->s6_addr32[0] = 0;
in6->s6_addr32[1] = 0;
in6->s6_addr32[2] = IPV6_ADDR_INT32_SMP;
in6->s6_addr32[3] = in->s_addr;
sin->sin_addr.s_addr = sin6->sin6_addr.s6_addr32[3];
llsol->s6_addr32[1] = 0;
llsol->s6_addr32[2] = htonl(1);
llsol->s6_addr32[3] = ip6->s6_addr32[3];
mask6.sin6_addr.s6_addr32[0] = mask6.sin6_addr.s6_addr32[1] =
mask6.sin6_addr.s6_addr32[2] = mask6.sin6_addr.s6_addr32[3] = ~0;
ifra.ifra_addr.sin6_addr.s6_addr32[0] = htonl(0xfe800000);
ifra.ifra_addr.sin6_addr.s6_addr32[1] = 0;
ifra.ifra_addr.sin6_addr.s6_addr32[2] = 0;
ifra.ifra_addr.sin6_addr.s6_addr32[3] = htonl(1);
memcpy(&sa6->sin6_addr.s6_addr32[3], digest,
sizeof(sa6->sin6_addr.s6_addr32[3]));
addr.s_addr = in6p_faddr(inp).s6_addr32[3];
(((laddr)->s6_addr32[0] ^ (laddr)->s6_addr32[1] ^ \
(laddr)->s6_addr32[2] ^ (laddr)->s6_addr32[3]) + ntohs(lport)) & \
((((faddr)->s6_addr32[0] ^ (faddr)->s6_addr32[1] ^ \
(faddr)->s6_addr32[2] ^ (faddr)->s6_addr32[3]) + ntohs(fport)) + \
(((laddr)->s6_addr32[0] ^ (laddr)->s6_addr32[1] ^ \
(laddr)->s6_addr32[2] ^ (laddr)->s6_addr32[3]) + \
if (sin6->sin6_addr.s6_addr32[3]) {
bcopy(&sin6->sin6_addr.s6_addr32[3],
*(struct in_addr *)&sin6->sin6_addr.s6_addr32[3],
in6p_laddr(inp).s6_addr32[3] == 0)))
in6p_laddr(inp).s6_addr32[3] == 0) {
memcpy(&sin.sin_addr, &sin6->sin6_addr.s6_addr32[3],
memcpy(&mapped.s6_addr32[3], &IA_SIN(ia4)->sin_addr,
in6p_laddr(inp).s6_addr32[3] == 0))
in6p_faddr(inp).s6_addr32[3])
if (!in6p_laddr(inp).s6_addr32[3]) {
if (laddr6->s6_addr32[3])
if (!laddr6->s6_addr32[3])
if (in6p_laddr(inp).s6_addr32[3] !=
laddr6->s6_addr32[3])
if (cdst.sa4->sin_addr.s_addr != in6p_faddr(inp).s6_addr32[3])
struct in_addr ia = { .s_addr = ia6->s6_addr32[3] };
if (dstsock->sin6_addr.s6_addr32[0] == 0 &&
dstsock->sin6_addr.s6_addr32[1] == 0 &&
ent0.addr.sin6_addr.s6_addr32[i] &=
ent0.addrmask.sin6_addr.s6_addr32[i];
(((d)->s6_addr32[0] ^ (a)->s6_addr32[0]) & (m)->s6_addr32[0]) == 0 && \
(((d)->s6_addr32[1] ^ (a)->s6_addr32[1]) & (m)->s6_addr32[1]) == 0 && \
(((d)->s6_addr32[2] ^ (a)->s6_addr32[2]) & (m)->s6_addr32[2]) == 0 && \
(((d)->s6_addr32[3] ^ (a)->s6_addr32[3]) & (m)->s6_addr32[3]) == 0 )
src_sum = ip6->ip6_src.s6_addr32[0] + ip6->ip6_src.s6_addr32[1]
+ ip6->ip6_src.s6_addr32[2] + ip6->ip6_src.s6_addr32[3];
dst_sum = ip6->ip6_dst.s6_addr32[0] + ip6->ip6_dst.s6_addr32[1]
+ ip6->ip6_dst.s6_addr32[2] + ip6->ip6_dst.s6_addr32[3];
#define MF6CHASH(a, g) MF6CHASHMOD((a).s6_addr32[0] ^ (a).s6_addr32[1] ^ \
(a).s6_addr32[2] ^ (a).s6_addr32[3] ^ \
(g).s6_addr32[0] ^ (g).s6_addr32[1] ^ \
(g).s6_addr32[2] ^ (g).s6_addr32[3])
struct in_addr *ia4 = (void *)&ia->s6_addr32[3];
llsol.s6_addr32[0] = htonl(0xff020000);
llsol.s6_addr32[1] = 0;
llsol.s6_addr32[2] = htonl(1);
llsol.s6_addr32[0] = htonl(0xff020000);
llsol.s6_addr32[1] = 0;
llsol.s6_addr32[2] = htonl(1);
daddr6.s6_addr32[1] == 0 &&
daddr6.s6_addr32[2] == IPV6_ADDR_INT32_ONE &&
ip6->ip6_dst.s6_addr32[1] = 0;
ip6->ip6_dst.s6_addr32[2] = IPV6_ADDR_INT32_ONE;
ip6->ip6_dst.s6_addr32[3] = taddr6->s6_addr32[3];
daddr6.s6_addr32[1] = 0;
daddr6.s6_addr32[2] = 0;
daddr6.s6_addr32[3] = IPV6_ADDR_INT32_ONE;