Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Jan 2013 10:21:29 +0000 (UTC)
From:      Peter Wemm <peter@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r244989 - in head/sys: netinet netinet6
Message-ID:  <201301031021.r03ALTKa084262@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201301031021.r03ALTKa084262>