freebsd-dev/etc/rc.d/dhclient
Doug Barton e3c46a3332 Remove $NetBSD$ CVS tags. We no longer attempt to synch our rc.d files
with theirs, so this information doesn't need to be in the live file.
Having it in our CVS history is enough.
2007-12-08 07:20:23 +00:00

58 lines
966 B
Bash
Executable File

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: dhclient
# KEYWORD: nojail nostart
#
. /etc/rc.subr
. /etc/network.subr
name="dhclient"
rcvar=
start_cmd="dhclient_start"
stop_cmd="dhclient_stop"
dhclient_start()
{
# prevent unnecessary restarts
# XXX: dhclient had better create a pidfile
if [ -x /bin/pgrep ]; then
pids=`/bin/pgrep -f "dhclient: $ifn(\$| .*)"`
if [ -n "$pids" ]; then
exit 0
fi
fi
# Override for $ifn specific flags (see rc.subr for $flags setting)
specific=`get_if_var $ifn dhclient_flags_IF`
if [ -z "$flags" -a -n "$specific" ]; then
rc_flags=$specific
fi
background_dhclient=`get_if_var $ifn background_dhclient_IF $background_dhclient`
if checkyesno background_dhclient; then
rc_flags="${rc_flags} -b"
fi
${dhclient_program} ${rc_flags} $ifn
}
dhclient_stop()
{
ifconfig $ifn down # cause dhclient to die
}
ifn="$2"
load_rc_config $name
load_rc_config network
if ! dhcpif $ifn; then
return 1
fi
run_rc_command "$1"