#!/bin/sh /lib/init/init-d-script
### BEGIN INIT INFO
# Provides:          wait-online
# Required-Start:    $network
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: wait until network is online
# Description:       wait until the network gateway is reachable or timeout reached.
### END INIT INFO

DAEMON=none
NAME=wait-online

do_start_override() {
    gw_dev=$(ip route | awk '/^default/ {print $3, $4, $5}')
    if [ "$gw_dev" ]; then
	log_daemon_msg "Waiting until $gw_dev is reachable"
	for i in $(seq 1 2 "${WAIT_ONLINE_TIMEOUT:=12}"); do
	    if ip neigh get ${gw_dev} > /dev/null; then
		break
	    else
		sleep 2
		false # Signal error
	    fi
	done
	vlog_end_msg $?
    fi
}
do_stop_override() {
    : # No-op
}
