summaryrefslogblamecommitdiffstats
path: root/core/rootfs/rootfs-stage31/data/inc/network.functions
blob: 641f4f55beeeb34f6bbe304e84d7ef501e267ed8 (plain) (tree)






















                                                                                                                                            
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