wait_for_ipv6_default_route
fi
- if [ -n "$router" ] ; then
+ # RFC3442: If the DHCP server returns both a Classless
+ # Static Routes option and a Router option, the DHCP
+ # client MUST ignore the Router option.
+ if [ -n "$staticroutes" ]; then
+ echo "deleting routers"
+ route -n | while read dest gw mask flags metric ref use iface; do
+ [ "$iface" != "$interface" -o "$gw" = "0.0.0.0" ] || \
+ route del -net "$dest" netmask "$mask" gw "$gw" dev "$interface"
+ done
+
+ # format: dest1/mask gw1 ... destn/mask gwn
+ set -- $staticroutes
+ while [ -n "$1" -a -n "$2" ]; do
+ route add -net "$1" gw "$2" dev "$interface"
+ shift 2
+ done
+ elif [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface 2> /dev/null; do
: