]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Fix for IPv6 addresses on non-multiaccess ifaces on BSD.
authorOndrej Zajicek <santiago@crfreenet.org>
Sun, 8 Jan 2012 15:28:33 +0000 (16:28 +0100)
committerOndrej Zajicek <santiago@crfreenet.org>
Sun, 8 Jan 2012 15:32:28 +0000 (16:32 +0100)
Thanks Matthias Schiffer for the patch.

sysdep/bsd/krt-sock.c

index 1647c5ea49b08887836723ddac1a9920ca8d588a..a41be83864a7e667d8d1d42904a57a5a9f9a9285 100644 (file)
@@ -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));