summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2015-01-27 10:34:27 +0000
committermpi <mpi@openbsd.org>2015-01-27 10:34:27 +0000
commitddeaef8b008afe9f8102e53124acd3bee5d07cd9 (patch)
tree55f840158c9673eb8b811ee49e1a1b89792d2e30
parentEnsure that link-local addresses are correctly configured on loopback (diff)
downloadwireguard-openbsd-ddeaef8b008afe9f8102e53124acd3bee5d07cd9.tar.xz
wireguard-openbsd-ddeaef8b008afe9f8102e53124acd3bee5d07cd9.zip
Always call if_ioctl() for loopback interfaces, just like IPv4 do, to
make sure the default MTU is set for every address configured on the ifp and not just the first one. Regress test breakage reported by daniel@
-rw-r--r--sys/netinet6/in6.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c
index 39fe98d6c4e..588bc1c3865 100644
--- a/sys/netinet6/in6.c
+++ b/sys/netinet6/in6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: in6.c,v 1.151 2015/01/27 10:31:19 mpi Exp $ */
+/* $OpenBSD: in6.c,v 1.152 2015/01/27 10:34:27 mpi Exp $ */
/* $KAME: in6.c,v 1.372 2004/06/14 08:14:21 itojun Exp $ */
/*
@@ -1374,7 +1374,8 @@ in6_ifinit(struct ifnet *ifp, struct in6_ifaddr *ia6, int newhost)
}
if ((ifacount <= 1 || ifp->if_type == IFT_CARP ||
- (ifp->if_flags & IFF_POINTOPOINT)) && ifp->if_ioctl &&
+ (ifp->if_flags & (IFF_LOOPBACK|IFF_POINTOPOINT))) &&
+ ifp->if_ioctl &&
(error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia6))) {
return (error);
}