s6_addr32
(((a)->s6_addr32[0] == 0) && ((a)->s6_addr32[1] == 0) && ((a)->s6_addr32[2] == htonl(0x0000ffff)))
#ifndef s6_addr32
return (bitcount32(addr->s6_addr32[0]) + bitcount32(addr->s6_addr32[1]) +
bitcount32(addr->s6_addr32[2]) + bitcount32(addr->s6_addr32[3]));
sol->s6_addr32[1] = 0;
sol->s6_addr32[2] = IPV6_ADDR_INT32_ONE;
sol->s6_addr32[3] = ia6->s6_addr32[3];
memcpy(buf + 2, &addr->s6_addr32[3], sizeof(__u32));
return ((a->s6_addr32[0] | a->s6_addr32[1] |
(a->s6_addr32[2] ^ htonl(0x0000ffff))) == 0);
__ipv6_addr_set_half(&addr->s6_addr32[0], w1, w2);
__ipv6_addr_set_half(&addr->s6_addr32[2], w3, w4);
return (ip6->s6_addr32[0] | ip6->s6_addr32[1] |
ip6->s6_addr32[2] | ip6->s6_addr32[3]) == 0;
return (left->s6_addr32[0] - right->s6_addr32[0]) |
(left->s6_addr32[1] - right->s6_addr32[1]) |
(left->s6_addr32[2] - right->s6_addr32[2]) |
(left->s6_addr32[3] - right->s6_addr32[3]);
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]))
flowid = mtod(m, struct ip6_hdr *)->ip6_src.s6_addr32[3] ^
mtod(m, struct ip6_hdr *)->ip6_dst.s6_addr32[3];
nh->gw6_sa.sin6_addr.s6_addr32[3] :
return (bitcount32(addr->s6_addr32[0]) + bitcount32(addr->s6_addr32[1]) +
bitcount32(addr->s6_addr32[2]) + bitcount32(addr->s6_addr32[3]));
in6.s6_addr32[1] = 0;
in6.s6_addr32[2] = htonl(1);
in6.s6_addr32[3] = 0;
hash_of_addr = (sin6->sin6_addr.s6_addr32[0] +
sin6->sin6_addr.s6_addr32[1] +
sin6->sin6_addr.s6_addr32[2] +
sin6->sin6_addr.s6_addr32[3]);
(jenkins_hash32((inc)->inc6_faddr.s6_addr32, 4, \
ia.s_addr = pktinfo->ipi6_addr.s6_addr32[3];
src->sin_addr.s_addr = pktinfo->ipi6_addr.s6_addr32[3];
return (IN6_LLTBL_HASH(dst->s6_addr32[3], hsize));
sin->sin_addr.s_addr = sin6->sin6_addr.s6_addr32[3];
sin6->sin6_addr.s6_addr32[0] = 0;
sin6->sin6_addr.s6_addr32[1] = 0;
sin6->sin6_addr.s6_addr32[2] = IPV6_ADDR_INT32_SMP;
sin6->sin6_addr.s6_addr32[3] = sin->sin_addr.s_addr;
maddr->s6_addr32[0] = IPV6_ADDR_INT32_MLL;
maddr->s6_addr32[2] = htonl(1);
maddr->s6_addr32[3] = base->s6_addr32[3];
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);
bcopy(digest, &in6->s6_addr32[3], sizeof(in6->s6_addr32[3]));
(((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 )
(a)->s6_addr32[0] &= (m)->s6_addr32[0]; \
(a)->s6_addr32[1] &= (m)->s6_addr32[1]; \
(a)->s6_addr32[2] &= (m)->s6_addr32[2]; \
(a)->s6_addr32[3] &= (m)->s6_addr32[3]; \
x = in6->s6_addr32[0] ^ in6->s6_addr32[1] ^ in6->s6_addr32[2] ^
in6->s6_addr32[3];
pi6.ipi6_addr.s6_addr32[0] = 0;
pi6.ipi6_addr.s6_addr32[1] = 0;
pi6.ipi6_addr.s6_addr32[2] = IPV6_ADDR_INT32_SMP;
pi6.ipi6_addr.s6_addr32[3] = ip->ip_dst.s_addr;
#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])
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];
ifra.ifra_addr.sin6_addr.s6_addr32[0] |= (newaddr.s6_addr32[0] & ~mask.s6_addr32[0]);
ifra.ifra_addr.sin6_addr.s6_addr32[1] |= (newaddr.s6_addr32[1] & ~mask.s6_addr32[1]);
ifra.ifra_addr.sin6_addr.s6_addr32[2] |= (newaddr.s6_addr32[2] & ~mask.s6_addr32[2]);
ifra.ifra_addr.sin6_addr.s6_addr32[3] |= (newaddr.s6_addr32[3] & ~mask.s6_addr32[3]);
ifra->ifra_addr.sin6_addr.s6_addr32[2] |=
(arc4random() & ~(ifra->ifra_prefixmask.sin6_addr.s6_addr32[2]));
ifra->ifra_addr.sin6_addr.s6_addr32[3] |=
(arc4random() & ~(ifra->ifra_prefixmask.sin6_addr.s6_addr32[3]));
if (!(addr->s6_addr32[2] | addr->s6_addr32[3]))
if (ntohl(addr->s6_addr32[2]) == 0x02005eff &&
(ntohl(addr->s6_addr32[3]) & 0Xff000000) == 0xfe000000)
if (ntohl(addr->s6_addr32[2]) == 0xfdffffff &&
ntohl(addr->s6_addr32[3]) >= 0Xffffff80)
return (bitcount32(addr->s6_addr32[0]) + bitcount32(addr->s6_addr32[1]) +
bitcount32(addr->s6_addr32[2]) + bitcount32(addr->s6_addr32[3]));
i = addr6->s6_addr32[0] ^ addr6->s6_addr32[1] ^
addr6->s6_addr32[2] ^ addr6->s6_addr32[3];
i = addr6->s6_addr32[0] ^ addr6->s6_addr32[1];
ip6->s6_addr32[plen / 32] = ia;
ip6->s6_addr32[1] &= 0xffffffff << (32 - plen % 32);
ip6->s6_addr32[1] |= ia >> (plen % 32);
ip6->s6_addr32[2] = ia << (24 - plen % 32);
ip6->s6_addr32[1] |= ia << (plen % 32);
ip6->s6_addr32[2] = ia >> (24 - plen % 32);
ip6->s6_addr32[2] = ia >> 8;
ip6->s6_addr32[3] = ia << 24;
ip6->s6_addr32[2] = ia << 8;
ip6->s6_addr32[3] = ia >> 24;
if (ip6->s6_addr32[3] != 0 || ip6->s6_addr32[2] != 0)
if (ip6->s6_addr32[3] != 0 ||
(ip6->s6_addr32[2] & htonl(0xff00ffff)) != 0)
if (ip6->s6_addr32[3] != 0 ||
(ip6->s6_addr32[2] & htonl(0xff0000ff)) != 0)
if (ip6->s6_addr32[3] != 0 || ip6->s6_addr8[8] != 0)
(ip6->s6_addr32[3] & htonl(0x00ffffff)) != 0)
ia = ip6->s6_addr32[plen / 32];
ia = (ip6->s6_addr32[1] << (plen % 32)) |
(ip6->s6_addr32[2] >> (24 - plen % 32));
ia = (ip6->s6_addr32[1] >> (plen % 32)) |
(ip6->s6_addr32[2] << (24 - plen % 32));
ia = (ip6->s6_addr32[2] << 8) | (ip6->s6_addr32[3] >> 24);
ia = (ip6->s6_addr32[2] >> 8) | (ip6->s6_addr32[3] << 24);
((a)->s6_addr32[0] == IPV6_ADDR_INT32_WKPFX && \
(a)->s6_addr32[1] == 0 && (a)->s6_addr32[2] == 0)
(a->s6_addr32[2] == 0 && a->s6_addr32[3] == 0))
(a)->s6_addr32[0] &= (m)->s6_addr32[0]; \
(a)->s6_addr32[1] &= (m)->s6_addr32[1]; \
(a)->s6_addr32[2] &= (m)->s6_addr32[2]; \
(a)->s6_addr32[3] &= (m)->s6_addr32[3]; \
(((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 )
sa->sin6.sin6_addr.s6_addr32[i] =
sa->sin6.sin6_addr.s6_addr32[i] = 0xFFFFFFFF;
((be32_to_cpu(sin6->sin6_addr.s6_addr32[0]) & 0xFFF0FFFF) ==
if (addr->s6_addr32[0] == htonl(0xfe800000) &&
addr->s6_addr32[1] == 0)
ipv4_addr = addr->s6_addr32[3];
uint32_t v = ntohl(addr->s6_addr32[3 - i]);
addr->s6_addr32[3 - i] = htonl(v);
uint32_t v = ntohl(addr->s6_addr32[3 - i]);
addr->s6_addr32[3 - i] = htonl(v);
naddr.s6_addr32[i] = htonl(ntohl(naddr.s6_addr32[i]) | ~ntohl(mask6.s6_addr32[i]));
(a)->s6_addr32[0] &= (m)->s6_addr32[0]; \
(a)->s6_addr32[1] &= (m)->s6_addr32[1]; \
(a)->s6_addr32[2] &= (m)->s6_addr32[2]; \
(a)->s6_addr32[3] &= (m)->s6_addr32[3]; \
(((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 )
mask6p = (uint32_t *)&sstosin6(&ap->a_mask)->sin6_addr.s6_addr32[0];
addr6p = (uint32_t *)&sstosin6(&ap->a_addr)->sin6_addr.s6_addr32[0];