diff options
author | Mike Makonnen <mtm@FreeBSD.org> | 2003-04-18 17:53:02 +0000 |
---|---|---|
committer | Mike Makonnen <mtm@FreeBSD.org> | 2003-04-18 17:53:02 +0000 |
commit | 6167ee89ee2d9103f27ff688e1e7e9703e0cbfe3 (patch) | |
tree | 54fb2833074d059d8ee20689f8a84818e2bd1364 | |
parent | 8b3695ab45b938131b38134fb02a703beff17ca6 (diff) |
Notes
-rwxr-xr-x | etc/rc.d/dhclient | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/etc/rc.d/dhclient b/etc/rc.d/dhclient index cbdc8b0b4448b..8b1015af7f1a8 100755 --- a/etc/rc.d/dhclient +++ b/etc/rc.d/dhclient @@ -5,19 +5,49 @@ # # PROVIDE: dhclient -# REQUIRE: network mountcritlocal +# REQUIRE: network netif mountcritlocal # BEFORE: NETWORKING +# KEYWORD: FreeBSD NetBSD # # Note that there no syslog logging of dhclient messages at boot because # dhclient needs to start before services that syslog depends upon do. # . /etc/rc.subr +. /etc/network.subr name="dhclient" -rcvar=$name command="/sbin/${name}" pidfile="/var/run/${name}.pid" +case "${OSTYPE}" in +FreeBSD) + rcvar= + start_precmd="dhclient_prestart" + start_postcmd="dhclient_poststart" + ;; +NetBSD) + rcvar=$name + ;; +esac + +dhclient_prestart() +{ + dhcp_list="`list_net_interfaces dhcp`" + if [ -z "$dhcp_list" ]; then + return 1 + fi + rc_flags="${rc_flags} ${dhcp_flags} ${dhcp_list}" + return 0 +} + +dhclient_poststart() +{ + for ifn in ${dhcp_list}; do + ifalias_up ${ifn} + ipx_up ${ifn} + ifconfig ${ifn} + done +} load_rc_config $name run_rc_command "$1" |