svn commit: r277069 - in projects/ifnet/sys: net netinet6
Gleb Smirnoff
glebius at FreeBSD.org
Mon Jan 12 13:44:36 UTC 2015
Author: glebius
Date: Mon Jan 12 13:44:34 2015
New Revision: 277069
URL: https://svnweb.freebsd.org/changeset/base/277069
Log:
Remove if_m?addr_r(un)?lock(). The drivers will use if_foreach_addr()
and if_foreach_maddr(). The rest of the kernel can use macros.
Modified:
projects/ifnet/sys/net/if.c
projects/ifnet/sys/net/if_var.h
projects/ifnet/sys/netinet6/in6.c
Modified: projects/ifnet/sys/net/if.c
==============================================================================
--- projects/ifnet/sys/net/if.c Mon Jan 12 13:21:23 2015 (r277068)
+++ projects/ifnet/sys/net/if.c Mon Jan 12 13:44:34 2015 (r277069)
@@ -1739,40 +1739,6 @@ if_data_copy(struct ifnet *ifp, struct i
}
/*
- * Wrapper functions for struct ifnet address list locking macros. These are
- * used by kernel modules to avoid encoding programming interface or binary
- * interface assumptions that may be violated when kernel-internal locking
- * approaches change.
- */
-void
-if_addr_rlock(struct ifnet *ifp)
-{
-
- IF_ADDR_RLOCK(ifp);
-}
-
-void
-if_addr_runlock(struct ifnet *ifp)
-{
-
- IF_ADDR_RUNLOCK(ifp);
-}
-
-void
-if_maddr_rlock(if_t ifp)
-{
-
- IF_ADDR_RLOCK((struct ifnet *)ifp);
-}
-
-void
-if_maddr_runlock(if_t ifp)
-{
-
- IF_ADDR_RUNLOCK((struct ifnet *)ifp);
-}
-
-/*
* Initialization, destruction and refcounting functions for ifaddrs.
*/
struct ifaddr *
Modified: projects/ifnet/sys/net/if_var.h
==============================================================================
--- projects/ifnet/sys/net/if_var.h Mon Jan 12 13:21:23 2015 (r277068)
+++ projects/ifnet/sys/net/if_var.h Mon Jan 12 13:44:34 2015 (r277069)
@@ -182,16 +182,6 @@ struct ifnet {
#define IF_ADDR_LOCK_ASSERT(if) rw_assert(&(if)->if_addr_lock, RA_LOCKED)
#define IF_ADDR_WLOCK_ASSERT(if) rw_assert(&(if)->if_addr_lock, RA_WLOCKED)
-/*
- * Function variations on locking macros intended to be used by loadable
- * kernel modules in order to divorce them from the internals of address list
- * locking.
- */
-void if_addr_rlock(struct ifnet *ifp); /* if_addrhead */
-void if_addr_runlock(struct ifnet *ifp); /* if_addrhead */
-void if_maddr_rlock(if_t ifp); /* if_multiaddrs */
-void if_maddr_runlock(if_t ifp); /* if_multiaddrs */
-
#ifdef _KERNEL
#ifdef _SYS_EVENTHANDLER_H_
/* interface link layer address change event */
Modified: projects/ifnet/sys/netinet6/in6.c
==============================================================================
--- projects/ifnet/sys/netinet6/in6.c Mon Jan 12 13:21:23 2015 (r277068)
+++ projects/ifnet/sys/netinet6/in6.c Mon Jan 12 13:44:34 2015 (r277069)
@@ -1542,7 +1542,7 @@ in6ifa_llaonifp(struct ifnet *ifp)
if (ND_IFINFO(ifp)->flags & ND6_IFF_IFDISABLED)
return (NULL);
- if_addr_rlock(ifp);
+ IF_ADDR_RLOCK(ifp);
TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
if (ifa->ifa_addr->sa_family != AF_INET6)
continue;
@@ -1552,7 +1552,7 @@ in6ifa_llaonifp(struct ifnet *ifp)
IN6_IS_ADDR_MC_NODELOCAL(&sin6->sin6_addr))
break;
}
- if_addr_runlock(ifp);
+ IF_ADDR_RUNLOCK(ifp);
return ((struct in6_ifaddr *)ifa);
}
More information about the svn-src-projects
mailing list