1 1.1 roy #!/bin/sh 2 1.1 roy 3 1.1 roy # PROVIDE: dhcpcd 4 1.1 roy # REQUIRE: network mountcritlocal 5 1.1 roy # BEFORE: NETWORKING 6 1.1 roy 7 1.1 roy $_rc_subr_loaded . /etc/rc.subr 8 1.1 roy 9 1.1 roy name=dhcpcd 10 1.1 roy rcvar=$name 11 1.1 roy command=/sbin/$name 12 1.1.18.1 tls extra_commands="reload" 13 1.1 roy 14 1.1 roy load_rc_config $name 15 1.1.18.1 tls 16 1.1.18.1 tls # If the last argument to dhcpcd is a valid interface and the prior argument 17 1.1.18.1 tls # is not then dhcpcd will start on one interface only and create a pidfile 18 1.1.18.1 tls # based on the interface name. See PR bin/43490. 19 1.1.18.1 tls if [ -n "$flags" ]; then 20 1.1.18.1 tls myflags=$flags 21 1.1.18.1 tls else 22 1.1.18.1 tls eval myflags=\$${name}_flags 23 1.1.18.1 tls fi 24 1.1.18.1 tls ifname="${myflags##* }" 25 1.1.18.1 tls myflags="${myflags%% $ifname}" 26 1.1.18.1 tls last_flag="${myflags##* }" 27 1.1.18.1 tls if /sbin/ifconfig "$ifname" >/dev/null 2>&1 && 28 1.1.18.1 tls ! /sbin/ifconfig "$last_flag" >/dev/null 2>&1 29 1.1.18.1 tls then 30 1.1.18.1 tls pidfile=/var/run/$name-"$ifname".pid 31 1.1.18.1 tls else 32 1.1.18.1 tls pidfile=/var/run/$name.pid 33 1.1.18.1 tls fi 34 1.1.18.1 tls unset myflags ifname last_flag 35 1.1.18.1 tls 36 1.1 roy run_rc_command "$1" 37