Hi,

In the common IPv4 and IPv6 file ip_carp.c an #ifdef INET6 is
missing.  Especially the IN6_IS_ADDR_LINKLOCAL() macro should not
be necessary in IPv4 only code.

ok?

bluhm

Index: netinet/ip_carp.c
===================================================================
RCS file: /data/mirror/openbsd/cvs/src/sys/netinet/ip_carp.c,v
retrieving revision 1.209
diff -u -p -u -p -r1.209 ip_carp.c
--- netinet/ip_carp.c   20 Jun 2013 12:03:40 -0000      1.209
+++ netinet/ip_carp.c   11 Aug 2013 18:59:49 -0000
@@ -1969,9 +1969,11 @@ carp_addr_updated(void *v)
        TAILQ_FOREACH(ifa, &sc->sc_if.if_addrlist, ifa_list) {
                if (ifa->ifa_addr->sa_family == AF_INET)
                        new_naddrs++;
+#ifdef INET6
                else if (ifa->ifa_addr->sa_family == AF_INET6 &&
                    !IN6_IS_ADDR_LINKLOCAL(&ifatoia6(ifa)->ia_addr.sin6_addr))
                        new_naddrs6++;
+#endif /* INET6 */
        }
 
        /* We received address changes from if_addrhooks callback */

Reply via email to