3 # $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $
4 # $FreeBSD: src/etc/rc.d/dhclient,v 1.6 2003/06/29 05:34:41 mtm Exp $
5 # $DragonFly: src/etc/rc.d/dhclient,v 1.5 2004/01/26 17:21:15 rob Exp $
9 # REQUIRE: network netif mountcritlocal
13 # Note that there no syslog logging of dhclient messages at boot because
14 # dhclient needs to start before services that syslog depends upon do.
21 pidfile="/var/run/${name}.pid"
23 start_precmd="dhclient_prestart"
24 start_postcmd="dhclient_poststart"
25 stop_cmd="dhclient_stop"
26 stop_precmd="dhclient_prestop"
27 stop_postcmd="dhclient_poststop"
32 dhcp_list="`list_net_interfaces dhcp`"
33 if [ -z "$dhcp_list" ]; then
37 # Determine the scope of the command
39 _cooked_list="$dhcp_list"
40 if [ -n "$_cmdifn" ]; then
41 eval _cooked_list=\"`expr "$dhcp_list" : ".*\($_cmdifn\).*"`\"
42 if [ -z "$_cooked_list" ]; then
43 err "No such network interface: $_cmdifn"
51 dhclient_common || return $?
53 for ifn in ${_cooked_list}; do
57 rc_flags="${rc_flags} ${_cooked_list}"
63 for ifn in ${_cooked_list}; do
72 echo -n "Releasing DHCP leases:"
73 for ifn in $_cooked_list ; do
82 debug "The following leases failed to release: $_fail"
87 dhclient_common || return $?
89 for ifn in ${_cooked_list}; do
97 for ifn in ${_cooked_list}; do