From: Ondrej Zajicek Date: Sun, 8 Jan 2012 15:28:33 +0000 (+0100) Subject: Fix for IPv6 addresses on non-multiaccess ifaces on BSD. X-Git-Tag: v1.3.5~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f58437405f8e37e9c14d83274a6b82ffd9583f8;p=thirdparty%2Fbird.git Fix for IPv6 addresses on non-multiaccess ifaces on BSD. Thanks Matthias Schiffer for the patch. --- diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c index 1647c5ea4..a41be8386 100644 --- a/sysdep/bsd/krt-sock.c +++ b/sysdep/bsd/krt-sock.c @@ -544,7 +544,12 @@ krt_read_addr(struct ks_msg *msg) _I0(ifa.ip) = 0xfe800000; #endif +#ifdef IPV6 + /* Why not the same check also for IPv4? */ + if ((iface->flags & IF_MULTIACCESS) || (masklen != BITS_PER_IP_ADDRESS)) +#else if (iface->flags & IF_MULTIACCESS) +#endif { ifa.prefix = ipa_and(ifa.ip, ipa_mkmask(masklen));