From 484e03a6864c4476814acc93e5b810cb12fa994f Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Wed, 7 Dec 2011 22:50:55 +0100 Subject: BSD: Correctly read numbered v6 addresses on ptp interfaces When using IPv6, unnumbered interfaces can have numbered IP addresses; one example are link-local addresses, which always have a prefix length of 64. --- sysdep/bsd/krt-sock.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sysdep') diff --git a/sysdep/bsd/krt-sock.c b/sysdep/bsd/krt-sock.c index 1647c5e..b70f166 100644 --- a/sysdep/bsd/krt-sock.c +++ b/sysdep/bsd/krt-sock.c @@ -544,7 +544,11 @@ krt_read_addr(struct ks_msg *msg) _I0(ifa.ip) = 0xfe800000; #endif +#ifdef IPV6 + 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)); -- cgit v1.2.3