svn commit: r244989 - in head/sys: netinet netinet6

Peter Wemm peter at FreeBSD.org
Thu Jan 3 10:21:29 UTC 2013


Author: peter
Date: Thu Jan  3 10:21:28 2013
New Revision: 244989
URL: http://svnweb.freebsd.org/changeset/base/244989

Log:
  Temporarily revert rev 244678.  This is causing loopback problems with
  the lo (loopback) interfaces.

Modified:
  head/sys/netinet/in.c
  head/sys/netinet6/in6.c

Modified: head/sys/netinet/in.c
==============================================================================
--- head/sys/netinet/in.c	Thu Jan  3 07:25:30 2013	(r244988)
+++ head/sys/netinet/in.c	Thu Jan  3 10:21:28 2013	(r244989)
@@ -819,19 +819,14 @@ in_ifinit(struct ifnet *ifp, struct in_i
 		return (error);
 
 	/*
-	 * Give the interface a chance to initialize if this is its first
-	 * address, and to validate the address if necessary.
-	 *
-	 * Historically, drivers managed IFF_UP flag theirselves, so we
-	 * need to check whether driver did that.
+	 * Give the interface a chance to initialize
+	 * if this is its first address,
+	 * and to validate the address if necessary.
 	 */
-	flags = ifp->if_flags;
 	if (ifp->if_ioctl != NULL &&
 	    (error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia)) != 0)
 			/* LIST_REMOVE(ia, ia_hash) is done in in_control */
 			return (error);
-	if ((ifp->if_flags & IFF_UP) && (flags & IFF_UP) == 0)
-		if_up(ifp);
 
 	/*
 	 * Be compatible with network classes, if netmask isn't supplied,

Modified: head/sys/netinet6/in6.c
==============================================================================
--- head/sys/netinet6/in6.c	Thu Jan  3 07:25:30 2013	(r244988)
+++ head/sys/netinet6/in6.c	Thu Jan  3 10:21:28 2013	(r244989)
@@ -1874,18 +1874,9 @@ in6_ifinit(struct ifnet *ifp, struct in6
 	ia->ia_addr = *sin6;
 
 	if (ifacount <= 1 && ifp->if_ioctl) {
-		int flags;
-
-		/*
-		 * Historically, drivers managed IFF_UP flag theirselves, so we
-		 * need to check whether driver did that.
-		 */
-		flags = ifp->if_flags;
 		error = (*ifp->if_ioctl)(ifp, SIOCSIFADDR, (caddr_t)ia);
 		if (error)
 			return (error);
-		if ((ifp->if_flags & IFF_UP) && (flags & IFF_UP) == 0)
-			if_up(ifp);
 	}
 
 	ia->ia_ifa.ifa_metric = ifp->if_metric;


More information about the svn-src-head mailing list