aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xsysconfig/network-scripts/ifup4
1 files changed, 3 insertions, 1 deletions
diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup
index 209fd41a..3c64e072 100755
--- a/sysconfig/network-scripts/ifup
+++ b/sysconfig/network-scripts/ifup
@@ -99,8 +99,10 @@ else
ifconfig ${DEVICE} ${MACADDR:+hw ether $MACADDR} ${IPADDR} \
netmask ${NETMASK} broadcast ${BROADCAST}
+ # don't re-add subnet route on 2.2 kernels, but add a route
+ # to a non-local subnet.
# stupid hack, but it should work
- if [ "$ISALIAS" = no ] && [ ! -f "/proc/sys/kernel/modprobe" ] ; then
+ if [ "$ISALIAS" = no -a ! -f "/proc/sys/kernel/modprobe" ] || [ -z "`route -n | sed "s/ .*//" | grep ${NETWORK}`" ]; then
route add -net ${NETWORK} netmask ${NETMASK} ${DEVICE}
else
route add -host ${IPADDR} ${DEVICE}