in6p_faddr
ip6->ip6_dst = in6p_faddr(inp);
in6p_faddr(inp) = ip6->ip6_src;
if (inp->inp_fport == 0 || memcmp(&in6p_faddr(inp),
&in6addr_any, sizeof(in6p_faddr(inp))) == 0) {
else if (inp->inp_af == AF_INET6 && in6_localaddr(&in6p_faddr(inp)))
if (IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp))) {
memcpy(&d, &in6p_faddr(inp).s6_addr32[3], sizeof(d));
in6_localaddr(&in6p_faddr(tp->t_inpcb)))
if (in6_localaddr(&in6p_faddr(tp->t_inpcb))) {
&in6p_faddr(tp->t_inpcb), tp->t_inpcb->inp_lport,
&& IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp)))
bcopy(&in6p_faddr(inp).s6_addr32[3], &ipov->ih_dst,
ip6->ip6_dst = in6p_faddr(inp);
&in6p_faddr(inp), htonl(sizeof(struct tcphdr)),
if (!IN6_IS_ADDR_V4MAPPED(&in6p_faddr(tp->t_inpcb)))
&in6p_faddr(tp->t_inpcb).s6_addr32[3],
&in6p_faddr(tp->t_inpcb)))
else if (inp->inp_af == AF_INET6 && in6_localaddr(&in6p_faddr(inp)))
if (IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp)))
v6->faddr = in6p_faddr(inp);
, &in6p_faddr(inp), inp->inp_fport
, &in6p_faddr(inp), inp->inp_fport
if (in6p_faddr(inp).s_addr != INADDR_ANY) {
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp))) {
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)) &&
!IN6_ARE_ADDR_EQUAL(&in6p_faddr(inp), &ip6->ip6_src))
if (rt == NULL && IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp))) {
addr.s_addr = in6p_faddr(inp).s6_addr32[3];
if (rt == NULL && !IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp))) {
sockaddr_in6_init(&u.dst6, &in6p_faddr(inp), 0, 0, 0);
if (IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)))
if (!IN6_ARE_ADDR_EQUAL(&in6p_faddr(inp), faddr6))
&in6p_faddr(inp), inp->inp_fport,
in6p_faddr(inp) = sin6->sin6_addr;
memset((void *)&in6p_faddr(inp), 0, sizeof(in6p_faddr(inp)));
sockaddr_in6_init(sin6, &in6p_faddr(inp), inp->inp_fport, 0, 0);
(IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)) ||
IN6_ARE_ADDR_EQUAL(&in6p_faddr(inp), &sa6_dst->sin6_addr))) {
else if (!IN6_ARE_ADDR_EQUAL(&in6p_faddr(inp),
if (IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp))) {
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)))
if (IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp)) &&
in6p_faddr(inp).s6_addr32[3])
KASSERT(IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp)));
if (cdst.sa4->sin_addr.s_addr != in6p_faddr(inp).s6_addr32[3])
&in6p_faddr(inp)))
sockaddr_in6_init(&u.dst6, &in6p_faddr(inp), 0, 0, 0);
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)) &&
!IN6_ARE_ADDR_EQUAL(&in6p_faddr(inp), &ip6->ip6_src))
in6p_faddr(inp) = addr->sin6_addr;
in6p_faddr(inp) = in6addr_any;
sockaddr_in6_init(&tmp, &in6p_faddr(inp), 0, 0, 0);
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)))
if (IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp)))
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp))) {
if (!IN6_ARE_ADDR_EQUAL(&in6p_faddr(inp),
if (!IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp))) {
if (IN6_IS_ADDR_UNSPECIFIED(&in6p_faddr(inp))) {
if (IN6_IS_ADDR_V4MAPPED(&in6p_faddr(inp))) {
faddr = &in6p_faddr(inp);
inet6_addrstr(fbuf, sizeof(fbuf), &in6p_faddr(inp),
sin6.sin6_addr = in6p_faddr(inp);
IN6_ARE_ADDR_EQUAL(&sin6->sin6_addr, &in6p_faddr(inp)))
if (IN6_ARE_ADDR_EQUAL(&p->ni_faddr6, &in6p_faddr(inp)) &&
p->ni_faddr6 = in6p_faddr(inp);