diff options
-rwxr-xr-x | sysconfig/network-scripts/ifup | 2 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifup-aliases | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup index 7772012b..bfbe03bd 100755 --- a/sysconfig/network-scripts/ifup +++ b/sysconfig/network-scripts/ifup @@ -106,7 +106,7 @@ else # 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 ] && grep -q "2.0" /proc/version || [ -z "`route -n | sed "s/ .*//" | grep ${NETWORK}`" ]; then + if [ "$ISALIAS" = no ] && grep -q " 2.0" /proc/version || [ -z "`route -n | sed "s/ .*//" | grep ${NETWORK}`" ]; then route add -net ${NETWORK} netmask ${NETMASK} ${DEVICE} else route add -host ${IPADDR} ${DEVICE} diff --git a/sysconfig/network-scripts/ifup-aliases b/sysconfig/network-scripts/ifup-aliases index 81bad57a..ad4d195c 100755 --- a/sysconfig/network-scripts/ifup-aliases +++ b/sysconfig/network-scripts/ifup-aliases @@ -13,6 +13,10 @@ if [ -x /bin/linuxconf -a -f /usr/lib/libncurses.so.4.2 ] ; then # add <device> <ip> # del <device> # reload <number_of_aliases> + KERN20= + if uname -r | grep -q "^2\.0"; then + KERN20=true + fi linuxconf --hint ipalias $1 | while read verb arg1 arg2 arg3 arg4; do case $verb in add) @@ -23,12 +27,16 @@ if [ -x /bin/linuxconf -a -f /usr/lib/libncurses.so.4.2 ] ; then # new linuxconf /sbin/ifconfig $arg1 $arg2 netmask $arg3 broadcast $arg4 fi - /sbin/route add $arg2 $arg1 + [ -n "$KERN20" ] && /sbin/route add $arg2 $arg1 ;; del) # the <device>- 0.0.0.0 tells the kernel to remove the device # it is necessary to remove it in order for reload to work. - /sbin/ifconfig ${arg1}- 0.0.0.0 + if [ -n "$KERN20" ]; then + /sbin/ifconfig ${arg1}- 0.0.0.0 + else + /sbin/ifconfig ${arg1} 0.0.0.0 + fi ;; reload) echo $arg1 > /proc/sys/net/core/net_alias_max |