$DragonFly: src/sbin/dhclient/client/Attic/scripts,freebsd.no_obj.patch,v 1.1 2005/01/04 19:58:54 joerg Exp $ --- freebsd.orig 2003-09-12 21:31:03.000000000 +0200 +++ freebsd 2004-06-24 17:25:30.000000000 +0200 @@ -50,12 +50,7 @@ fi fi -if [ x$new_network_number != x ]; then - $LOGGER New Network Number: $new_network_number -fi - if [ x$new_broadcast_address != x ]; then - $LOGGER New Broadcast Address: $new_broadcast_address new_broadcast_arg="broadcast $new_broadcast_address" fi if [ x$old_broadcast_address != x ]; then @@ -71,6 +66,15 @@ alias_subnet_arg="netmask $alias_subnet_mask" fi +# Get the interface to which our default route is bound to. +if [ -x /usr/bin/netstat ]; then + if_defaultroute=`/usr/bin/netstat -rn \ + | /usr/bin/grep "^default" \ + | /usr/bin/awk '{print $6}'` +else + if_defaultroute="x" +fi + if [ x$reason = xMEDIUM ]; then eval "ifconfig $interface $medium" eval "ifconfig $interface inet -alias 0.0.0.0 $medium" >/dev/null 2>&1 @@ -113,7 +117,9 @@ eval "ifconfig $interface inet -alias $old_ip_address $medium" route delete $old_ip_address 127.1 >/dev/null 2>&1 for router in $old_routers; do - route delete default $router >/dev/null 2>&1 + if [ $if_defaultroute = x ] || [ $if_defaultroute = $interface ]; then + route delete default $router >/dev/null 2>&1 + fi done if [ -n "$old_static_routes" ]; then set -- $old_static_routes @@ -166,7 +172,9 @@ eval "ifconfig $interface inet -alias $old_ip_address $medium" route delete $old_ip_address 127.1 >/dev/null 2>&1 for router in $old_routers; do - route delete default $router >/dev/null 2>&1 + if [ $if_defaultroute = x ] || [ $if_defaultroute = $interface ]; then + route delete default $router >/dev/null 2>&1 + fi done if [ -n "$old_static_routes" ]; then set -- $old_static_routes