dhclient revision 161415
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 161415 2006-08-17 19:57:10Z brian $ 5# 6 7# PROVIDE: dhclient 8# KEYWORD: nojail nostart 9# 10 11. /etc/rc.subr 12. /etc/network.subr 13 14name="dhclient" 15rcvar= 16start_cmd="dhclient_start" 17stop_cmd="dhclient_stop" 18 19dhclient_start() 20{ 21 # prevent unnecessary restarts 22 # XXX: should use a pidfile 23 if [ -x /usr/bin/pgrep ]; then 24 pids=`/usr/bin/pgrep -f "dhclient: $ifn(\$| .*)"` 25 if [ -n "$pids" ]; then 26 exit 0 27 fi 28 fi 29 30 # Override for $ifn specific flags (see rc.subr for $flags setting) 31 eval specific=\$dhclient_flags_$ifn 32 if [ -z "$flags" -a -n "$specific" ]; then 33 rc_flags=$specific 34 fi 35 36 eval specific=\$background_dhclient_$ifn 37 if [ -n "$specific" ]; then 38 if checkyesno background_dhclient_$ifn; then 39 rc_flags="${rc_flags} -b" 40 fi 41 elif checkyesno background_dhclient; then 42 rc_flags="${rc_flags} -b" 43 fi 44 45 ${dhclient_program} ${rc_flags} $ifn 46} 47 48dhclient_stop() 49{ 50 ifconfig $ifn down # cause dhclient to die 51} 52 53ifn="$2" 54 55load_rc_config $name 56 57if ! dhcpif $ifn; then 58 return 1 59fi 60 61run_rc_command "$1" 62