dhclient revision 174458
1#!/bin/sh 2# 3# $FreeBSD: head/etc/rc.d/dhclient 174458 2007-12-08 22:27:18Z dougb $ 4# 5 6# PROVIDE: dhclient 7# KEYWORD: nojail nostart 8 9. /etc/rc.subr 10. /etc/network.subr 11 12name="dhclient" 13rcvar= 14start_cmd="dhclient_start" 15stop_cmd="dhclient_stop" 16 17dhclient_start() 18{ 19 # prevent unnecessary restarts 20 # XXX: dhclient had better create a pidfile 21 if [ -x /bin/pgrep ]; then 22 pids=`/bin/pgrep -f "dhclient: $ifn(\$| .*)"` 23 if [ -n "$pids" ]; then 24 exit 0 25 fi 26 fi 27 28 # Override for $ifn specific flags (see rc.subr for $flags setting) 29 specific=`get_if_var $ifn dhclient_flags_IF` 30 if [ -z "$flags" -a -n "$specific" ]; then 31 rc_flags=$specific 32 fi 33 34 background_dhclient=`get_if_var $ifn background_dhclient_IF $background_dhclient` 35 if checkyesno background_dhclient; then 36 rc_flags="${rc_flags} -b" 37 fi 38 39 ${dhclient_program} ${rc_flags} $ifn 40} 41 42dhclient_stop() 43{ 44 ifconfig $ifn down # cause dhclient to die 45} 46 47ifn="$2" 48 49load_rc_config $name 50load_rc_config network 51 52if ! dhcpif $ifn; then 53 return 1 54fi 55 56run_rc_command "$1" 57