Home | History | Annotate | Line # | Download | only in rc.d
      1 #!/bin/sh
      2 #
      3 # $NetBSD: ppp,v 1.11 2013/01/13 18:47:58 prlw1 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 	fi
     45 }
     46 
     47 ppp_hup()
     48 {
     49 	pids="$(check_process pppd)"
     50 	if [ -n "$pids" ]; then
     51 		for pid in $pids; do
     52 			kill $sig_hup $pid
     53 		done
     54 	fi
     55 }
     56 
     57 ppp_stop()
     58 {
     59 	pids="$(check_process pppd)"
     60 	if [ -n "$pids" ]; then
     61 		for pid in $pids; do
     62 			kill $sig_stop $pid
     63 		done
     64 	fi
     65 }
     66 
     67 load_rc_config $name
     68 run_rc_command "$1"
     69