Date: Sat, 6 Oct 2007 15:49:57 -0700 From: "Maksim Yevmenkin" <maksim.yevmenkin@gmail.com> To: "Mike Makonnen" <mtm@freebsd.org> Cc: freebsd-rc@freebsd.org Subject: Re: multiple instances of ppp Message-ID: <bb4a86c70710061549o14447dfye9553a42ef77cadc@mail.gmail.com> In-Reply-To: <20071006215757.GA10458@terra.mike.lan> References: <bb4a86c70710061314j588ce9a9s6922d2c1e7100e6a@mail.gmail.com> <20071006215757.GA10458@terra.mike.lan>
next in thread | previous in thread | raw e-mail | index | archive | help
Mike, On 10/6/07, Mike Makonnen <mtm@freebsd.org> wrote: > On Sat, Oct 06, 2007 at 01:14:18PM -0700, Maksim Yevmenkin wrote: > > hello, > > > > a friend of mine send me the following /etc/rc.c/ppp replacement > > script. the idea is to start multiple instances of ppp at boot time > > (possibly with different profiles). > > > > i'm not sure if this is ok to commit as it is, so i decided to ask if > > there is a better way to handle this. > > > > any thoughts on the subject is very much appreciated. > > I like it, but it has several bugs and needs to be cleaned up first. My > comments are inline. thanks for your comments. what do you think about something like # PROVIDE: ppp # REQUIRE: netif isdnd # KEYWORD: nojail . /etc/rc.subr name="ppp" rcvar=`set_rcvar` command="/usr/sbin/${name}" start_cmd="ppp_start" start_postcmd="ppp_poststart" ppp_start_profile() { local _ppp_profile, _ppp_mode, _ppp_nat _ppp_profile=$1 # Check for ppp profile mode override. # eval _ppp_mode=\$ppp_${_ppp_profile}_mode if [ -z "$_ppp_mode" ]; then _ppp_mode=$ppp_mode fi # Check for ppp profile nat override. # eval _ppp_nat=\$ppp_${_ppp_profile}_nat if [ -z "$_ppp_nat" ]; then _ppp_nat=$ppp_nat fi # Establish ppp mode. # if [ "${_ppp_mode}" != "ddial" -a "${_ppp_mode}" != "direct" \ -a "${_ppp_mode}" != "dedicated" \ -a "${_ppp_mode}" != "background" ]; then _ppp_mode="auto" fi rc_flags="-quiet -${_ppp_mode}" # Switch on NAT mode? # case ${_ppp_nat} in [Yy][Ee][Ss]) rc_flags="$rc_flags -nat" ;; esac # Run! # echo su -m $ppp_user -c "$command ${rc_flags} ${_ppp_profile}" } ppp_start() { local _p echo -n "Starting PPP profile:" for _p in $ppp_profile; do echo -n " $_p" ppp_start_profile $_p done echo "." } ppp_poststart() { # Re-Sync ipfilter and pf so they pick up any new network interfaces # /etc/rc.d/ipfilter resync /etc/rc.d/pf resync } load_rc_config $name run_rc_command "$1"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bb4a86c70710061549o14447dfye9553a42ef77cadc>