NetBSD/etc/rc.d/ppp

69 lines
1.1 KiB
Bash
Executable File

#!/bin/sh
#
# $NetBSD: ppp,v 1.11 2013/01/13 18:47:58 prlw1 Exp $
#
# PROVIDE: ppp
# REQUIRE: mountcritremote syslogd
# BEFORE: SERVERS
#
# Note that this means that syslogd will not be listening on
# any PPP addresses. This is considered a feature.
#
$_rc_subr_loaded . /etc/rc.subr
name="ppp"
rcvar=$name
start_cmd="ppp_start"
stop_cmd="ppp_stop"
sig_stop="-INT"
sig_hup="-HUP"
hup_cmd="ppp_hup"
extra_commands="hup"
ppp_start()
{
# /etc/ppp/peers and $ppp_peers contain boot configuration
# information for pppd. each value in $ppp_peers that has a
# file in /etc/ppp/peers of the same name, will be run as
# `pppd call <peer>'.
#
if [ -n "$ppp_peers" ]; then
set -- $ppp_peers
echo -n "Starting pppd:"
while [ $# -ge 1 ]; do
peer=$1
shift
if [ -f /etc/ppp/peers/$peer ]; then
pppd call $peer
echo -n " $peer"
fi
done
echo "."
fi
}
ppp_hup()
{
pids="$(check_process pppd)"
if [ -n "$pids" ]; then
for pid in $pids; do
kill $sig_hup $pid
done
fi
}
ppp_stop()
{
pids="$(check_process pppd)"
if [ -n "$pids" ]; then
for pid in $pids; do
kill $sig_stop $pid
done
fi
}
load_rc_config $name
run_rc_command "$1"