From 3806d8ec7c145d0239c94fc5b601d460b36757a5 Mon Sep 17 00:00:00 2001 From: Willem Jan Withagen Date: Fri, 30 Mar 2018 16:53:48 +0200 Subject: [PATCH] common: FreeBSD wants the correct struct selection for ipv6 Lets see if this also works for Linux Fixes: http://tracker.ceph.com/issues/21813 Signed-off-by: Willem Jan Withagen --- src/common/ipaddr.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/common/ipaddr.cc b/src/common/ipaddr.cc index 6baf7898285..c880bfd402e 100644 --- a/src/common/ipaddr.cc +++ b/src/common/ipaddr.cc @@ -89,10 +89,9 @@ const struct ifaddrs *find_ipv6_in_subnet(const struct ifaddrs *addrs, if (addrs->ifa_addr->sa_family != net->sin6_family) continue; - if (IN6_IS_ADDR_LINKLOCAL(addrs->ifa_addr)) - continue; - struct in6_addr *cur = &((struct sockaddr_in6*)addrs->ifa_addr)->sin6_addr; + if (IN6_IS_ADDR_LINKLOCAL(cur)) + continue; netmask_ipv6(cur, prefix_len, &temp); if (IN6_ARE_ADDR_EQUAL(&temp, &want)) -- 2.39.5