busybox/examples/var_service/dhcpd_if/run
Denys Vlasenko 1e474d3d93 service examples: if iface do not exist, retry upping it
I've had a case of a machine where eth0 was appearing a bit later
after the boot, and appearing _downed_. ifplugd then fails to detect
"link up". Thus, depending on how service startup
("ip link set dev eth0 up") races with driver initialization,
ethernet randomly fails to initialize on boot.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2019-04-05 18:41:48 +02:00

24 lines
345 B
Bash
Executable File

#!/bin/sh
exec 2>&1
exec </dev/null
pwd="$PWD"
if="${PWD##*/dhcpd_}"
echo "* Upping iface $if"
ip link set dev $if up || { sleep 5; exit; }
>>udhcpd.leases
sed 's/^interface.*$/interface '"$if/" -i udhcpd.conf
echo "* Starting udhcpd on $if [$$]"
exec \
env - PATH="$PATH" \
softlimit \
setuidgid root \
udhcpd -f -vv udhcpd.conf
exit $?