From owner-svn-src-all@FreeBSD.ORG Wed Feb 3 16:18:42 2010 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 9211610656CA; Wed, 3 Feb 2010 16:18:42 +0000 (UTC) (envelope-from ume@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 697948FC22; Wed, 3 Feb 2010 16:18:42 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o13GIgJo044263; Wed, 3 Feb 2010 16:18:42 GMT (envelope-from ume@svn.freebsd.org) Received: (from ume@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o13GIgub044258; Wed, 3 Feb 2010 16:18:42 GMT (envelope-from ume@svn.freebsd.org) Message-Id: <201002031618.o13GIgub044258@svn.freebsd.org> From: Hajimu UMEMOTO Date: Wed, 3 Feb 2010 16:18:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r203433 - in head/etc: . defaults rc.d X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 03 Feb 2010 16:18:42 -0000 Author: ume Date: Wed Feb 3 16:18:42 2010 New Revision: 203433 URL: http://svn.freebsd.org/changeset/base/203433 Log: Add rc.d script for the rtsold(8) daemon. The rtsol(8) handles just one RA then exit. So, the OtherConfig flag may not be handled well by rtsol(8) in the environment where there are multiple RA servers on the segment. In such case, rtsold(8) will be your friend. Reviewed by: hrs MFC after: 2 weeks Added: head/etc/rc.d/rtsold (contents, props changed) Modified: head/etc/defaults/rc.conf head/etc/network.subr head/etc/rc.d/Makefile Modified: head/etc/defaults/rc.conf ============================================================================== --- head/etc/defaults/rc.conf Wed Feb 3 16:04:20 2010 (r203432) +++ head/etc/defaults/rc.conf Wed Feb 3 16:18:42 2010 (r203433) @@ -460,6 +460,10 @@ ipv6_default_interface="NO" # Default ou # Now this works only for IPv6 link local # multicast addrs. rtsol_flags="" # Flags to IPv6 router solicitation. +rtsold_enable="NO" # Set to YES to enable an IPv6 router + # solicitation daemon. +rtsold_flags="-a" # Flags to an IPv6 router solicitation + # daemon. rtadvd_enable="NO" # Set to YES to enable an IPv6 router # advertisement daemon. If set to YES, # this router becomes a possible candidate Modified: head/etc/network.subr ============================================================================== --- head/etc/network.subr Wed Feb 3 16:04:20 2010 (r203432) +++ head/etc/network.subr Wed Feb 3 16:18:42 2010 (r203433) @@ -882,7 +882,9 @@ ipv6_accept_rtadv_up() { if ipv6_autoconfif $1; then ifconfig $1 inet6 accept_rtadv up - rtsol ${rtsol_flags} $1 + if ! checkyesno rtsold_enable; then + rtsol ${rtsol_flags} $1 + fi fi } Modified: head/etc/rc.d/Makefile ============================================================================== --- head/etc/rc.d/Makefile Wed Feb 3 16:04:20 2010 (r203432) +++ head/etc/rc.d/Makefile Wed Feb 3 16:18:42 2010 (r203433) @@ -30,7 +30,7 @@ FILES= DAEMON FILESYSTEMS LOGIN NETWORKI powerd power_profile ppp pppoed pwcheck \ quota \ random rarpd resolv rfcomm_pppd_server root \ - route6d routed routing rpcbind rtadvd rwho \ + route6d routed routing rpcbind rtadvd rtsold rwho \ savecore sdpd securelevel sendmail \ serial sppp statd static_arp stf swap1 \ syscons sysctl syslogd \ Added: head/etc/rc.d/rtsold ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/etc/rc.d/rtsold Wed Feb 3 16:18:42 2010 (r203433) @@ -0,0 +1,26 @@ +#!/bin/sh +# +# $FreeBSD$ +# + +# PROVIDE: rtsold +# REQUIRE: netif +# BEFORE: NETWORKING +# KEYWORD: nojail + +. /etc/rc.subr + +name="rtsold" +rcvar=`set_rcvar` +command="/usr/sbin/${name}" +pidfile="/var/run/${name}.pid" +start_postcmd="rtsold_poststart" + +rtsold_poststart() +{ + # wait for DAD + sleep $(($(${SYSCTL_N} net.inet6.ip6.dad_count) + 1)) +} + +load_rc_config $name +run_rc_command "$1"