diff options
Diffstat (limited to 'sys/netinet6/ipv6_rtrequest.c')
-rw-r--r-- | sys/netinet6/ipv6_rtrequest.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netinet6/ipv6_rtrequest.c b/sys/netinet6/ipv6_rtrequest.c index 2f0ef99c668..08c1744df98 100644 --- a/sys/netinet6/ipv6_rtrequest.c +++ b/sys/netinet6/ipv6_rtrequest.c @@ -436,13 +436,14 @@ ipv6_setrtifa(rt) #endif /* __FreeBSD__ */ if (ifa->ifa_addr->sa_family == AF_INET6 && !IS_DEPRECATED((struct in6_ifaddr *)ifa) && - !IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) + !IN6_IS_ADDR_LINKLOCAL(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) { if (IN6_IS_ADDR_V4COMPAT(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) ifa_compat = ifa; else if (IN6_IS_ADDR_SITELOCAL(&((struct sockaddr_in6 *)ifa->ifa_addr)->sin6_addr)) ifa_site = ifa; else /* globally routable address */ break; + } if (!ifa) ifa = ifa_compat ? ifa_compat : ifa_site; } |