dhclient revision 147088
1#!/bin/sh
2#
3# $NetBSD: dhclient,v 1.8 2002/03/22 04:33:58 thorpej Exp $
4# $FreeBSD: head/etc/rc.d/dhclient 147088 2005-06-07 04:49:12Z brooks $
5#
6
7# PROVIDE: dhclient
8# REQUIRE: netif ipfw ipfilter mountcritlocal cleanvar
9# BEFORE:  NETWORKING
10# KEYWORD: nojail nostart
11#
12
13. /etc/rc.subr
14. /etc/network.subr
15
16name="dhclient"
17rcvar=
18start_cmd="dhclient_start"
19stop_cmd="dhclient_stop"
20
21dhclient_start()
22{
23	# prevent unnecessicary restarts
24	# XXX: should use a pidfile
25	if [ -x /usr/bin/pgrep ]; then
26		pids=`/usr/bin/pgrep -f "dhclient: $ifn(\$| .*)"`
27		if [ -n "$pids" ]; then
28			echo "${name} ${ifn}: already running?"
29			exit 0
30		fi
31	fi
32
33	if checkyesno background_dhclient; then
34		rc_flags="${rc_flags} -b"
35	fi
36
37	${dhclient_program} ${rc_flags} $ifn
38}
39
40dhclient_stop()
41{
42	ifconfig $ifn down	# cause dhclient to die
43}
44
45ifn="$2"
46
47load_rc_config $name
48
49if ! dhcpif $ifn; then
50	return 1
51fi
52
53run_rc_command "$1"
54