defaultroute revision 186237
1100280Sgordon#!/bin/sh 225184Sjkh# 3179566Sbrooks# Wait for the default route to be up 466830Sobrien# 550472Speter# $FreeBSD: head/etc/rc.d/defaultroute 186237 2008-12-17 17:35:14Z brooks $ 666830Sobrien# 725184Sjkh 8179566Sbrooks# PROVIDE: defaultroute 9179566Sbrooks# REQUIRE: devd netif network_ipv6 10136224Smtm# KEYWORD: nojail 1125184Sjkh 12100280Sgordon. /etc/rc.subr 13179079Sbrooks. /etc/network.subr 1425184Sjkh 15179566Sbrooksname="defaultroute" 16179566Sbrooksstart_cmd="defaultroute_start" 17179566Sbrooksstop_cmd=":" 1885831Sdes 19179566Sbrooksdefaultroute_start() 20100280Sgordon{ 21179079Sbrooks # Return without waiting if we don't have dhcp interfaces. 22179079Sbrooks # Once we can test that the link is actually up, we should 23179079Sbrooks # remove this test and always wait. 24179079Sbrooks dhcp_interfaces=`list_net_interfaces dhcp` 25179079Sbrooks [ -z "`list_net_interfaces dhcp`" ] && return 26179079Sbrooks 27179079Sbrooks # Wait for a default route 28179079Sbrooks delay=${if_up_delay} 29179079Sbrooks while [ ${delay} -gt 0 ]; do 30179079Sbrooks defif=`get_default_if -inet` 31179079Sbrooks if [ -n "${defif}" ]; then 32179079Sbrooks if [ ${delay} -ne ${if_up_delay} ]; then 33186237Sbrooks echo -n "($defif)" 34179079Sbrooks fi 35179079Sbrooks break 36179079Sbrooks fi 37179079Sbrooks if [ ${delay} -eq ${if_up_delay} ]; then 38179079Sbrooks echo -n "Waiting ${delay}s for an interface to come up: " 39179079Sbrooks else 40179079Sbrooks echo -n . 41179079Sbrooks fi 42179079Sbrooks sleep 1 43179079Sbrooks delay=`expr $delay - 1` 44179079Sbrooks done 45186237Sbrooks 46186237Sbrooks echo 47117019Smtm} 48117019Smtm 49100280Sgordonload_rc_config $name 50100280Sgordonrun_rc_command "$1" 51