Teach /etc/rc.d/ppp how to start/stop individual instances
of ppp. This is an extension of previous commit. Submitted by: Yuri Kurenkov < y dot kurenkov at init dot ru > Reviewed by: mtm MFC after: 3 days
This commit is contained in:
+36
-3
@@ -13,6 +13,7 @@ name="ppp"
|
|||||||
rcvar=`set_rcvar`
|
rcvar=`set_rcvar`
|
||||||
command="/usr/sbin/${name}"
|
command="/usr/sbin/${name}"
|
||||||
start_cmd="ppp_start"
|
start_cmd="ppp_start"
|
||||||
|
stop_cmd="ppp_stop"
|
||||||
start_postcmd="ppp_poststart"
|
start_postcmd="ppp_poststart"
|
||||||
|
|
||||||
ppp_start_profile()
|
ppp_start_profile()
|
||||||
@@ -60,11 +61,16 @@ ppp_start_profile()
|
|||||||
|
|
||||||
ppp_start()
|
ppp_start()
|
||||||
{
|
{
|
||||||
local _p
|
local _ppp_profile _p
|
||||||
|
|
||||||
|
_ppp_profile=$*
|
||||||
|
if [ -z "${_ppp_profile}" ]; then
|
||||||
|
_ppp_profile=$ppp_profile
|
||||||
|
fi
|
||||||
|
|
||||||
echo -n "Starting PPP profile:"
|
echo -n "Starting PPP profile:"
|
||||||
|
|
||||||
for _p in $ppp_profile; do
|
for _p in $_ppp_profile; do
|
||||||
echo -n " $_p"
|
echo -n " $_p"
|
||||||
ppp_start_profile $_p
|
ppp_start_profile $_p
|
||||||
done
|
done
|
||||||
@@ -80,5 +86,32 @@ ppp_poststart()
|
|||||||
/etc/rc.d/pf resync
|
/etc/rc.d/pf resync
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ppp_stop_profile() {
|
||||||
|
local _ppp_profile
|
||||||
|
|
||||||
|
_ppp_profile=$1
|
||||||
|
|
||||||
|
/bin/pkill -f "^${command}.*[[:space:]]${_ppp_profile}\$" || \
|
||||||
|
echo -n "(not running)"
|
||||||
|
}
|
||||||
|
|
||||||
|
ppp_stop() {
|
||||||
|
local _ppp_profile _p
|
||||||
|
|
||||||
|
_ppp_profile=$*
|
||||||
|
if [ -z "${_ppp_profile}" ]; then
|
||||||
|
_ppp_profile=$ppp_profile
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -n "Stopping PPP profile:"
|
||||||
|
|
||||||
|
for _p in $_ppp_profile; do
|
||||||
|
echo -n " $_p"
|
||||||
|
ppp_stop_profile $_p
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "."
|
||||||
|
}
|
||||||
|
|
||||||
load_rc_config $name
|
load_rc_config $name
|
||||||
run_rc_command "$1"
|
run_rc_command $*
|
||||||
|
|||||||
Reference in New Issue
Block a user