Home | History | Annotate | Line # | Download | only in rc.d
ppp revision 1.8.50.1
      1 #!/bin/sh
      2 #
      3 # $NetBSD: ppp,v 1.8.50.1 2013/01/16 05:26:13 yamt Exp $
      4 #
      5 
      6 # PROVIDE: ppp
      7 # REQUIRE: mountcritremote syslogd
      8 # BEFORE:  SERVERS
      9 #
     10 #	Note that this means that syslogd will not be listening on
     11 #	any PPP addresses.  This is considered a feature.
     12 #
     13 
     14 $_rc_subr_loaded . /etc/rc.subr
     15 
     16 name="ppp"
     17 rcvar=$name
     18 start_cmd="ppp_start"
     19 stop_cmd="ppp_stop"
     20 sig_stop="-INT"
     21 sig_hup="-HUP"
     22 hup_cmd="ppp_hup"
     23 extra_commands="hup"
     24 
     25 ppp_start()
     26 {
     27 	#	/etc/ppp/peers and $ppp_peers contain boot configuration
     28 	#	information for pppd.  each value in $ppp_peers that has a
     29 	#	file in /etc/ppp/peers of the same name, will be run as
     30 	#	`pppd call <peer>'.
     31 	#
     32 	if [ -n "$ppp_peers" ]; then
     33 		set -- $ppp_peers
     34 		echo -n "Starting pppd:"
     35 		while [ $# -ge 1 ]; do
     36 			peer=$1
     37 			shift
     38 			if [ -f /etc/ppp/peers/$peer ]; then
     39 				pppd call $peer
     40 				echo -n " $peer"
     41 			fi
     42 		done
     43 		echo "."
     44 	else
     45 		warn "\${ppp_peers} is not set - pppd was not started."
     46 	fi
     47 }
     48 
     49 ppp_hup()
     50 {
     51 	pids="$(check_process pppd)"
     52 	if [ -n "$pids" ]; then
     53 		for pid in $pids; do
     54 			kill $sig_hup $pid
     55 		done
     56 	fi
     57 }
     58 
     59 ppp_stop()
     60 {
     61 	pids="$(check_process pppd)"
     62 	if [ -n "$pids" ]; then
     63 		for pid in $pids; do
     64 			kill $sig_stop $pid
     65 		done
     66 	fi
     67 }
     68 
     69 load_rc_config $name
     70 run_rc_command "$1"
     71