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