svn commit: r293829 - head/sys/net
Alexander V. Chernikov
melifaro at FreeBSD.org
Wed Jan 13 14:32:50 UTC 2016
Author: melifaro
Date: Wed Jan 13 14:32:48 2016
New Revision: 293829
URL: https://svnweb.freebsd.org/changeset/base/293829
Log:
Remove RTF_RNH_LOCKED support from rtalloc1_fib().
Last caller using it was eliminated in r293471.
Sponsored by: Yandex LLC
Modified:
head/sys/net/route.c
head/sys/net/route.h
Modified: head/sys/net/route.c
==============================================================================
--- head/sys/net/route.c Wed Jan 13 14:28:12 2016 (r293828)
+++ head/sys/net/route.c Wed Jan 13 14:32:48 2016 (r293829)
@@ -409,7 +409,6 @@ rtalloc1_fib(struct sockaddr *dst, int r
struct rtentry *newrt;
struct rt_addrinfo info;
int err = 0, msgtype = RTM_MISS;
- int needlock;
KASSERT((fibnum < rt_numfibs), ("rtalloc1_fib: bad fibnum"));
rnh = rt_tables_get_rnh(fibnum, dst->sa_family);
@@ -420,23 +419,16 @@ rtalloc1_fib(struct sockaddr *dst, int r
/*
* Look up the address in the table for that Address Family
*/
- needlock = !(ignflags & RTF_RNH_LOCKED);
- if (needlock)
- RADIX_NODE_HEAD_RLOCK(rnh);
-#ifdef INVARIANTS
- else
- RADIX_NODE_HEAD_LOCK_ASSERT(rnh);
-#endif
+ RADIX_NODE_HEAD_RLOCK(rnh);
rn = rnh->rnh_matchaddr(dst, rnh);
if (rn && ((rn->rn_flags & RNF_ROOT) == 0)) {
newrt = RNTORT(rn);
RT_LOCK(newrt);
RT_ADDREF(newrt);
- if (needlock)
- RADIX_NODE_HEAD_RUNLOCK(rnh);
- goto done;
+ RADIX_NODE_HEAD_RUNLOCK(rnh);
+ return (newrt);
- } else if (needlock)
+ } else
RADIX_NODE_HEAD_RUNLOCK(rnh);
/*
@@ -456,10 +448,7 @@ miss:
bzero(&info, sizeof(info));
info.rti_info[RTAX_DST] = dst;
rt_missmsg_fib(msgtype, &info, 0, err, fibnum);
- }
-done:
- if (newrt)
- RT_LOCK_ASSERT(newrt);
+ }
return (newrt);
}
Modified: head/sys/net/route.h
==============================================================================
--- head/sys/net/route.h Wed Jan 13 14:28:12 2016 (r293828)
+++ head/sys/net/route.h Wed Jan 13 14:32:48 2016 (r293829)
@@ -175,7 +175,7 @@ struct rtentry {
/* 0x8000000 and up unassigned */
#define RTF_STICKY 0x10000000 /* always route dst->src */
-#define RTF_RNH_LOCKED 0x40000000 /* radix node head is locked */
+#define RTF_RNH_LOCKED 0x40000000 /* unused */
#define RTF_GWFLAG_COMPAT 0x80000000 /* a compatibility bit for interacting
with existing routing apps */
More information about the svn-src-head
mailing list