--- net.eth0 2005-03-17 18:26:04.715639680 +0000 +++ net.new 2005-03-17 18:27:46.635145560 +0000 @@ -126,6 +126,25 @@ ifconfig ${IFACE} ${ifconfig_fallback_IFACE} >${devnull} && \ ifconfig ${IFACE} up &>${devnull} eend $? || return $? + if [[ ${gateway_fallback} == ${IFACE}/* ]]; then + local ogw=$(/bin/netstat -rn | awk '$1 == "0.0.0.0" {print $2}') + local gw=${gateway_fallback#*/} + if [[ ${ogw} != ${gw} ]]; then + ebegin " Setting fallback default gateway ($gw)" + + # First delete any existing route if it was setup by kernel... + /sbin/route del default dev ${IFACE} &>${devnull} + + # Second delete old gateway if it was set... + /sbin/route del default gw ${ogw} &>${devnull} + + # Third add our new default gateway + /sbin/route add default gw ${gw} >${devnull} + eend $? || { + true # need to have some command in here + } + fi + fi else return $retval fi