[git commit] service examples: if iface do not exist, retry upping it

Denys Vlasenko vda.linux at googlemail.com
Fri Apr 5 16:41:48 UTC 2019


commit: https://git.busybox.net/busybox/commit/?id=1e474d3d933bfe56a7f4eab17cf58cc6dd6a881d
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master

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 at googlemail.com>
---
 examples/var_service/dhcp_if/run       | 4 ++--
 examples/var_service/dhcpd_if/run      | 4 ++--
 examples/var_service/ifplugd_if/run    | 2 +-
 examples/var_service/supplicant_if/run | 2 +-
 examples/var_service/zcip_if/run       | 4 ++--
 5 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/examples/var_service/dhcp_if/run b/examples/var_service/dhcp_if/run
index aec79e027..d8f343586 100755
--- a/examples/var_service/dhcp_if/run
+++ b/examples/var_service/dhcp_if/run
@@ -8,9 +8,9 @@ pwd="$PWD"
 if="${PWD##*/dhcp_}"
 
 echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
 
-echo "* Starting udhcpc"
+echo "* Starting udhcpc on $if [$$]"
 exec \
 env - PATH="$PATH" \
 softlimit \
diff --git a/examples/var_service/dhcpd_if/run b/examples/var_service/dhcpd_if/run
index a603bdc71..e3d1b00f4 100755
--- a/examples/var_service/dhcpd_if/run
+++ b/examples/var_service/dhcpd_if/run
@@ -8,12 +8,12 @@ pwd="$PWD"
 if="${PWD##*/dhcpd_}"
 
 echo "* Upping iface $if"
-ip link set dev $if up
+ip link set dev $if up || { sleep 5; exit; }
 
 >>udhcpd.leases
 sed 's/^interface.*$/interface '"$if/" -i udhcpd.conf
 
-echo "* Starting udhcpd"
+echo "* Starting udhcpd on $if [$$]"
 exec \
 env - PATH="$PATH" \
 softlimit \
diff --git a/examples/var_service/ifplugd_if/run b/examples/var_service/ifplugd_if/run
index 5c662f298..e7816619d 100755
--- a/examples/var_service/ifplugd_if/run
+++ b/examples/var_service/ifplugd_if/run
@@ -9,7 +9,7 @@ pwd="$PWD"
 if="${PWD##*/ifplugd_}"
 
 echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
 
 echo "* Starting ifplugd on $if [$$]"
 exec \
diff --git a/examples/var_service/supplicant_if/run b/examples/var_service/supplicant_if/run
index 279d18af5..bc16fb606 100755
--- a/examples/var_service/supplicant_if/run
+++ b/examples/var_service/supplicant_if/run
@@ -14,7 +14,7 @@ ip link set dev "$if" up || { sleep 5; exit; }
 ##echo "* Powersave disable on $if"
 ##iw dev "$if" set power_save off
 
-echo "* Starting wpa_supplicant"
+echo "* Starting wpa_supplicant on $if [$$]"
 exec \
 env - PATH="$PATH" \
 softlimit \
diff --git a/examples/var_service/zcip_if/run b/examples/var_service/zcip_if/run
index 94a875465..699823246 100755
--- a/examples/var_service/zcip_if/run
+++ b/examples/var_service/zcip_if/run
@@ -8,9 +8,9 @@ pwd="$PWD"
 if="${PWD##*/zcip_}"
 
 echo "* Upping iface $if"
-ip link set dev "$if" up
+ip link set dev "$if" up || { sleep 5; exit; }
 
-echo "* Starting zcip"
+echo "* Starting zcip on $if [$$]"
 exec \
 env - PATH="$PATH" \
 softlimit \


More information about the busybox-cvs mailing list