Date: Fri, 15 Jul 2011 04:31:50 +0000 (UTC) From: Hiroki Sato <hrs@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r224052 - in user/hrs/ipv6/usr.sbin: rtadvctl rtadvd Message-ID: <201107150431.p6F4VoR6060582@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201107150431.p6F4VoR6060582>