From owner-svn-src-projects@FreeBSD.ORG Sun Apr 26 06:52:20 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 5198961B; Sun, 26 Apr 2015 06:52:20 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 25D871E84; Sun, 26 Apr 2015 06:52:20 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t3Q6qK2t033987; Sun, 26 Apr 2015 06:52:20 GMT (envelope-from glebius@FreeBSD.org) Received: (from glebius@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t3Q6qKj1033986; Sun, 26 Apr 2015 06:52:20 GMT (envelope-from glebius@FreeBSD.org) Message-Id: <201504260652.t3Q6qKj1033986@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: glebius set sender to glebius@FreeBSD.org using -f From: Gleb Smirnoff Date: Sun, 26 Apr 2015 06:52:20 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r281993 - projects/ifnet/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Apr 2015 06:52:20 -0000 Author: glebius Date: Sun Apr 26 06:52:19 2015 New Revision: 281993 URL: https://svnweb.freebsd.org/changeset/base/281993 Log: To not confuse possible 3-rd party applications, always report historical IFF_RUNNING together with IFF_UP in getifaddrs(3). Modified: projects/ifnet/sys/net/rtsock.c Modified: projects/ifnet/sys/net/rtsock.c ============================================================================== --- projects/ifnet/sys/net/rtsock.c Sun Apr 26 01:41:10 2015 (r281992) +++ projects/ifnet/sys/net/rtsock.c Sun Apr 26 06:52:19 2015 (r281993) @@ -1253,6 +1253,8 @@ rt_ifmsg(struct ifnet *ifp) ifm = mtod(m, struct if_msghdr *); ifm->ifm_index = ifp->if_index; ifm->ifm_flags = ifp->if_flags; + if (ifp->if_flags & IFF_UP) + ifm->ifm_flags |= IFF_RUNNING; if_data_copy(ifp, &ifm->ifm_data); ifm->ifm_addrs = 0; rt_dispatch(m, AF_UNSPEC); @@ -1558,6 +1560,8 @@ sysctl_iflist_ifml(struct ifnet *ifp, st ifm32 = (struct if_msghdrl32 *)ifm; ifm32->ifm_addrs = info->rti_addrs; ifm32->ifm_flags = ifp->if_flags; + if (ifp->if_flags & IFF_UP) + ifm32->ifm_flags |= IFF_RUNNING; ifm32->ifm_index = ifp->if_index; ifm32->_ifm_spare1 = 0; ifm32->ifm_len = sizeof(*ifm32); @@ -1568,6 +1572,8 @@ sysctl_iflist_ifml(struct ifnet *ifp, st { ifm->ifm_addrs = info->rti_addrs; ifm->ifm_flags = ifp->if_flags; + if (ifp->if_flags & IFF_UP) + ifm->ifm_flags |= IFF_RUNNING; ifm->ifm_index = ifp->if_index; ifm->_ifm_spare1 = 0; ifm->ifm_len = sizeof(*ifm); @@ -1596,6 +1602,8 @@ sysctl_iflist_ifm(struct ifnet *ifp, str ifm32 = (struct if_msghdr32 *)ifm; ifm32->ifm_addrs = info->rti_addrs; ifm32->ifm_flags = ifp->if_flags; + if (ifp->if_flags & IFF_UP) + ifm32->ifm_flags |= IFF_RUNNING; ifm32->ifm_index = ifp->if_index; ifd = &ifm32->ifm_data; } else @@ -1603,6 +1611,8 @@ sysctl_iflist_ifm(struct ifnet *ifp, str { ifm->ifm_addrs = info->rti_addrs; ifm->ifm_flags = ifp->if_flags; + if (ifp->if_flags & IFF_UP) + ifm->ifm_flags |= IFF_RUNNING; ifm->ifm_index = ifp->if_index; ifd = &ifm->ifm_data; }