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;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to