defaultroute revision 179566
1#!/bin/sh 2# 3# Wait for the default route to be up 4# 5# $FreeBSD: head/etc/rc.d/defaultroute 179566 2008-06-05 17:26:47Z brooks $ 6# 7 8# PROVIDE: defaultroute 9# REQUIRE: devd netif network_ipv6 10# KEYWORD: nojail 11 12. /etc/rc.subr 13. /etc/network.subr 14 15name="defaultroute" 16start_cmd="defaultroute_start" 17stop_cmd=":" 18 19defaultroute_start() 20{ 21 # Return without waiting if we don't have dhcp interfaces. 22 # Once we can test that the link is actually up, we should 23 # remove this test and always wait. 24 dhcp_interfaces=`list_net_interfaces dhcp` 25 [ -z "`list_net_interfaces dhcp`" ] && return 26 27 # Wait for a default route 28 delay=${if_up_delay} 29 while [ ${delay} -gt 0 ]; do 30 defif=`get_default_if -inet` 31 if [ -n "${defif}" ]; then 32 if [ ${delay} -ne ${if_up_delay} ]; then 33 echo "($defif)" 34 fi 35 break 36 fi 37 if [ ${delay} -eq ${if_up_delay} ]; then 38 echo -n "Waiting ${delay}s for an interface to come up: " 39 else 40 echo -n . 41 fi 42 sleep 1 43 delay=`expr $delay - 1` 44 done 45} 46 47load_rc_config $name 48run_rc_command "$1" 49