svn commit: r195024 - head/sys/netgraph

Robert Watson rwatson at FreeBSD.org
Fri Jun 26 00:49:13 UTC 2009


Author: rwatson
Date: Fri Jun 26 00:49:12 2009
New Revision: 195024
URL: http://svn.freebsd.org/changeset/base/195024

Log:
  Update Netgraph nodes to use if_addr_rlock()/if_addr_runlock() instead
  of IF_ADDR_LOCK()/IF_ADDR_UNLOCK() when iterating ifp->if_addrhead.
  
  MFC after:	6 weeks

Modified:
  head/sys/netgraph/ng_eiface.c
  head/sys/netgraph/ng_iface.c

Modified: head/sys/netgraph/ng_eiface.c
==============================================================================
--- head/sys/netgraph/ng_eiface.c	Fri Jun 26 00:46:50 2009	(r195023)
+++ head/sys/netgraph/ng_eiface.c	Fri Jun 26 00:49:12 2009	(r195024)
@@ -466,12 +466,12 @@ ng_eiface_rcvmsg(node_p node, item_p ite
 
 			/* Determine size of response and allocate it */
 			buflen = 0;
-			IF_ADDR_LOCK(ifp);
+			if_addr_rlock(ifp);
 			TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link)
 				buflen += SA_SIZE(ifa->ifa_addr);
 			NG_MKRESPONSE(resp, msg, buflen, M_NOWAIT);
 			if (resp == NULL) {
-				IF_ADDR_UNLOCK(ifp);
+				if_addr_runlock(ifp);
 				error = ENOMEM;
 				break;
 			}
@@ -490,7 +490,7 @@ ng_eiface_rcvmsg(node_p node, item_p ite
 				ptr += len;
 				buflen -= len;
 			}
-			IF_ADDR_UNLOCK(ifp);
+			if_addr_runlock(ifp);
 			break;
 		    }
 

Modified: head/sys/netgraph/ng_iface.c
==============================================================================
--- head/sys/netgraph/ng_iface.c	Fri Jun 26 00:46:50 2009	(r195023)
+++ head/sys/netgraph/ng_iface.c	Fri Jun 26 00:49:12 2009	(r195024)
@@ -683,7 +683,7 @@ ng_iface_rcvmsg(node_p node, item_p item
 			struct ifaddr *ifa;
 
 			/* Return the first configured IP address */
-			IF_ADDR_LOCK(ifp);
+			if_addr_rlock(ifp);
 			TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
 				struct ng_cisco_ipaddr *ips;
 
@@ -701,7 +701,7 @@ ng_iface_rcvmsg(node_p node, item_p item
 						ifa->ifa_netmask)->sin_addr;
 				break;
 			}
-			IF_ADDR_UNLOCK(ifp);
+			if_addr_runlock(ifp);
 
 			/* No IP addresses on this interface? */
 			if (ifa == NULL)


More information about the svn-src-all mailing list