xref: /minix/etc/rc.d/dhcpcd (revision 9f20bfa6)
1*9f20bfa6SDavid van Moolenbroek#!/bin/sh
2*9f20bfa6SDavid van Moolenbroek
3*9f20bfa6SDavid van Moolenbroek# PROVIDE: dhcpcd
4*9f20bfa6SDavid van Moolenbroek# REQUIRE: network mountcritlocal
5*9f20bfa6SDavid van Moolenbroek# BEFORE:  NETWORKING
6*9f20bfa6SDavid van Moolenbroek
7*9f20bfa6SDavid van Moolenbroek$_rc_subr_loaded . /etc/rc.subr
8*9f20bfa6SDavid van Moolenbroek
9*9f20bfa6SDavid van Moolenbroekname=dhcpcd
10*9f20bfa6SDavid van Moolenbroekrcvar=$name
11*9f20bfa6SDavid van Moolenbroekcommand=/sbin/$name
12*9f20bfa6SDavid van Moolenbroekextra_commands="reload"
13*9f20bfa6SDavid van Moolenbroek
14*9f20bfa6SDavid van Moolenbroekload_rc_config $name
15*9f20bfa6SDavid van Moolenbroek
16*9f20bfa6SDavid van Moolenbroek# If the last argument to dhcpcd is a valid interface and the prior argument
17*9f20bfa6SDavid van Moolenbroek# is not then dhcpcd will start on one interface only and create a pidfile
18*9f20bfa6SDavid van Moolenbroek# based on the interface name. See PR bin/43490.
19*9f20bfa6SDavid van Moolenbroekif [ -n "$flags" ]; then
20*9f20bfa6SDavid van Moolenbroek	myflags=$flags
21*9f20bfa6SDavid van Moolenbroekelse
22*9f20bfa6SDavid van Moolenbroek	eval myflags=\$${name}_flags
23*9f20bfa6SDavid van Moolenbroekfi
24*9f20bfa6SDavid van Moolenbroekifname="${myflags##* }"
25*9f20bfa6SDavid van Moolenbroekmyflags="${myflags%% $ifname}"
26*9f20bfa6SDavid van Moolenbroeklast_flag="${myflags##* }"
27*9f20bfa6SDavid van Moolenbroekif /sbin/ifconfig "$ifname" >/dev/null 2>&1 &&
28*9f20bfa6SDavid van Moolenbroek    ! /sbin/ifconfig "$last_flag" >/dev/null 2>&1
29*9f20bfa6SDavid van Moolenbroekthen
30*9f20bfa6SDavid van Moolenbroek	pidfile=/var/run/$name-"$ifname".pid
31*9f20bfa6SDavid van Moolenbroekelse
32*9f20bfa6SDavid van Moolenbroek	pidfile=/var/run/$name.pid
33*9f20bfa6SDavid van Moolenbroekfi
34*9f20bfa6SDavid van Moolenbroekunset myflags ifname last_flag
35*9f20bfa6SDavid van Moolenbroek
36*9f20bfa6SDavid van Moolenbroekrun_rc_command "$1"
37