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.1 2003/07/24 06:35:37 dillon Exp $
9 # REQUIRE: network netif mountcritlocal
11 # KEYWORD: DragonFly FreeBSD NetBSD
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"
25 start_precmd="dhclient_prestart"
26 start_postcmd="dhclient_poststart"
27 stop_cmd="dhclient_stop"
28 stop_precmd="dhclient_prestop"
29 stop_postcmd="dhclient_poststop"
34 start_precmd="dhclient_prestart"
35 start_postcmd="dhclient_poststart"
36 stop_cmd="dhclient_stop"
37 stop_precmd="dhclient_prestop"
38 stop_postcmd="dhclient_poststop"
42 command="/sbin/${name}"
48 dhcp_list="`list_net_interfaces dhcp`"
49 if [ -z "$dhcp_list" ]; then
53 # Determine the scope of the command
55 _cooked_list="$dhcp_list"
56 if [ -n "$_cmdifn" ]; then
57 eval _cooked_list=\"`expr "$dhcp_list" : ".*\($_cmdifn\).*"`\"
58 if [ -z "$_cooked_list" ]; then
59 err "No such network interface: $_cmdifn"
67 dhclient_common || return 1
69 for ifn in ${_cooked_list}; do
73 rc_flags="${rc_flags} ${_cooked_list}"
79 for ifn in ${_cooked_list}; do
88 echo -n "Releasing DHCP leases:"
89 for ifn in $_cooked_list ; do
98 debug "The following leases failed to release: $_fail"
103 dhclient_common || return 1
105 for ifn in ${_cooked_list}; do
113 for ifn in ${_cooked_list}; do