From 480354ffcc507577e3c291c96f008a4468c95d47 Mon Sep 17 00:00:00 2001 From: ae Date: Wed, 22 Apr 2015 20:48:56 +0000 Subject: [PATCH] MFC r274988 (with modification): Skip L2 addresses lookups for tunneling interfaces. PR: 197286 git-svn-id: svn://svn.freebsd.org/base/stable/9@281869 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- sys/netinet6/in6.c | 2 ++ sys/netinet6/nd6.c | 3 --- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 8731ae022..f90d71d01 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -154,6 +154,8 @@ in6_ifaddloop(struct ifaddr *ifa) ia = ifa2ia6(ifa); ifp = ifa->ifa_ifp; + if (nd6_need_cache(ifp) == 0) + return; IF_AFDATA_LOCK(ifp); ifa->ifa_rtrequest = nd6_rtrequest; ln = lla_lookup(LLTABLE6(ifp), (LLE_CREATE | LLE_IFADDR | diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index e4b3241de..394018581 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -2175,9 +2175,6 @@ nd6_need_cache(struct ifnet *ifp) case IFT_CARP: #endif case IFT_INFINIBAND: - case IFT_GIF: /* XXX need more cases? */ - case IFT_PPP: - case IFT_TUNNEL: case IFT_BRIDGE: case IFT_PROPVIRTUAL: return (1); -- 2.45.0