summaryrefslogtreecommitdiffstats
path: root/builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions
diff options
context:
space:
mode:
authorjandob2015-11-05 15:41:43 +0100
committerjandob2015-11-05 15:41:43 +0100
commit34fcff83bfd7e0f73ad82f69b87faecbcad744fa (patch)
treedc9d059bca7a8734859d5586c61725276f0af99c /builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions
parentadd Makefile for systemd-preserve-process-marker (diff)
parentDocument new simplified approaches. (diff)
downloadsystemd-init-34fcff83bfd7e0f73ad82f69b87faecbcad744fa.tar.gz
systemd-init-34fcff83bfd7e0f73ad82f69b87faecbcad744fa.tar.xz
systemd-init-34fcff83bfd7e0f73ad82f69b87faecbcad744fa.zip
Merge branch 'master' of git.openslx.org:openslx-ng/systemd-init
Diffstat (limited to 'builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions')
-rw-r--r--builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions23
1 files changed, 23 insertions, 0 deletions
diff --git a/builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions b/builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions
new file mode 100644
index 00000000..89ca5a20
--- /dev/null
+++ b/builder/dnbd3-qcow2-rootfs/debugging-tools/network.functions
@@ -0,0 +1,23 @@
+wait_for_iface() {
+ local DEVICE=$1
+ local TIMEOUT=10
+ echo -n "Waiting for interface $DEVICE: "
+ # Some systems don't have operstate. Seems to be hardware dependent
+ [ ! -e "/sys/class/net/${DEVICE}/operstate" ] && usleep 10000
+ if [ -e "/sys/class/net/${DEVICE}/operstate" ]; then
+ while true; do
+ # check linkstate
+ [ "x$(cat "/sys/class/net/${DEVICE}/operstate")" == "xup" ] && break
+ TIMEOUT=$(( $TIMEOUT - 1 )) # don't wait forever, the pcnet iface of vmware will never be "up" although it's working
+ [ "$TIMEOUT" -le 0 ] && break
+ # else
+ echo -n "."
+ usleep 500000
+ done
+ else
+ # we really don't have a operstate .. then just wait a sec and hope for the best.
+ sleep 1
+ fi
+ echo ".$(cat "/sys/class/net/${DEVICE}/operstate" 2>/dev/null)"
+}
+true