svn commit: r292219 - head/sys/netinet6
Kristof Provost
kp at FreeBSD.org
Mon Dec 14 19:44:50 UTC 2015
Author: kp
Date: Mon Dec 14 19:44:49 2015
New Revision: 292219
URL: https://svnweb.freebsd.org/changeset/base/292219
Log:
inet6: Do not assume every interface has ip6 enabled.
Certain interfaces (e.g. pfsync0) do not have ip6 addresses (in other words,
ifp->if_afdata[AF_INET6] is NULL). Ensure we don't panic when the MTU is
updated.
pfsync interfaces will never have ip6 support, because it's explicitly disabled
in in6_domifattach().
PR: 205194
Reviewed by: melifaro, hrs
Differential Revision: https://reviews.freebsd.org/D4522
Modified:
head/sys/netinet6/in6.c
head/sys/netinet6/nd6.c
Modified: head/sys/netinet6/in6.c
==============================================================================
--- head/sys/netinet6/in6.c Mon Dec 14 19:40:47 2015 (r292218)
+++ head/sys/netinet6/in6.c Mon Dec 14 19:44:49 2015 (r292219)
@@ -2432,6 +2432,8 @@ in6_domifattach(struct ifnet *ifp)
int
in6_domifmtu(struct ifnet *ifp)
{
+ if (ifp->if_afdata[AF_INET6] == NULL)
+ return ifp->if_mtu;
return (IN6_LINKMTU(ifp));
}
Modified: head/sys/netinet6/nd6.c
==============================================================================
--- head/sys/netinet6/nd6.c Mon Dec 14 19:40:47 2015 (r292218)
+++ head/sys/netinet6/nd6.c Mon Dec 14 19:44:49 2015 (r292219)
@@ -285,6 +285,8 @@ nd6_ifdetach(struct nd_ifinfo *nd)
void
nd6_setmtu(struct ifnet *ifp)
{
+ if (ifp->if_afdata[AF_INET6] == NULL)
+ return;
nd6_setmtu0(ifp, ND_IFINFO(ifp));
}
More information about the svn-src-head
mailing list