From owner-svn-src-user@FreeBSD.ORG Fri Jul 15 04:31:50 2011 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D70F31065670; Fri, 15 Jul 2011 04:31:50 +0000 (UTC) (envelope-from hrs@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id AE9C98FC08; Fri, 15 Jul 2011 04:31:50 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p6F4VoJm060585; Fri, 15 Jul 2011 04:31:50 GMT (envelope-from hrs@svn.freebsd.org) Received: (from hrs@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p6F4VoR6060582; Fri, 15 Jul 2011 04:31:50 GMT (envelope-from hrs@svn.freebsd.org) Message-Id: <201107150431.p6F4VoR6060582@svn.freebsd.org> From: Hiroki Sato Date: Fri, 15 Jul 2011 04:31:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r224052 - in user/hrs/ipv6/usr.sbin: rtadvctl rtadvd X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jul 2011 04:31:50 -0000 Author: hrs Date: Fri Jul 15 04:31:50 2011 New Revision: 224052 URL: http://svn.freebsd.org/changeset/base/224052 Log: Add conditions to accept or send RAs on 8.X and prior to make MFC easier. Modified: user/hrs/ipv6/usr.sbin/rtadvctl/rtadvctl.c user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c Modified: user/hrs/ipv6/usr.sbin/rtadvctl/rtadvctl.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtadvctl/rtadvctl.c Fri Jul 15 02:29:10 2011 (r224051) +++ user/hrs/ipv6/usr.sbin/rtadvctl/rtadvctl.c Fri Jul 15 04:31:50 2011 (r224052) @@ -454,12 +454,22 @@ action_show(int argc, char **argv) ra_ifstatus = RA_IFSTATUS_INACTIVE; if ((ifi_s->ifi_flags & IFF_UP) && (ifi_s->ifi_state == IFI_STATE_CONFIGURED)) { +#if (__FreeBSD_version < 900000) + if (getinet6sysctl(IPV6CTL_FORWARDING) == 0) { + if (getinet6sysctl(IPV6CTL_ACCEPT_RTADV)) + ra_ifstatus = RA_IFSTATUS_RA_RECV; + else + ra_ifstatus = RA_IFSTATUS_INACTIVE; + } else + ra_ifstatus = RA_IFSTATUS_RA_SEND; +#else if (ifi_s->ifi_nd_flags & ND6_IFF_ACCEPT_RTADV) ra_ifstatus = RA_IFSTATUS_RA_RECV; else if (getinet6sysctl(IPV6CTL_FORWARDING)) ra_ifstatus = RA_IFSTATUS_RA_SEND; else ra_ifstatus = RA_IFSTATUS_INACTIVE; +#endif } c = 0; Modified: user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c ============================================================================== --- user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c Fri Jul 15 02:29:10 2011 (r224051) +++ user/hrs/ipv6/usr.sbin/rtadvd/rtadvd.c Fri Jul 15 04:31:50 2011 (r224052) @@ -975,7 +975,6 @@ static int check_accept_rtadv(int idx) { struct ifinfo *ifi; - int error; TAILQ_FOREACH(ifi, &ifilist, ifi_next) { if (ifi->ifi_ifindex == idx) @@ -987,15 +986,19 @@ check_accept_rtadv(int idx) __func__, idx); return (0); } - error =update_ifinfo_nd_flags(ifi); - if (error) { +#if (__FreeBSD_version < 900000) + return ((getinet6sysctl(IPV6CTL_FORWARDING) == 0) && + (getinet6sysctl(IPV6CTL_ACCEPT_RTADV) == 1)); +#else + if (update_ifinfo_nd_flags(ifi) != 0) { syslog(LOG_ERR, "<%s> nd6 flags failed (idx=%d)", __func__, idx); return (0); } - + return (ifi->ifi_nd_flags & ND6_IFF_ACCEPT_RTADV); +#endif } static void