#!/bin/sh # adds aliases of device $1 device=$1 if [ "$device" = "" ]; then echo "usage: $0 " exit 1 fi # don't run linuxconf if /usr isn't there... if [ -x /bin/linuxconf -a -f /usr/lib/libncurses.so.4.2 ] ; then # ask linuxconf for lines like: # add # del # reload linuxconf --hint ipalias $1 | while read verb arg1 arg2 arg3 arg4; do case $verb in add) if [ -z "$arg3" ] ; then # old linuxconf /sbin/ifconfig $arg1 $arg2 else # new linuxconf /sbin/ifconfig $arg1 $arg2 netmask $arg3 broadcast $arg4 fi ;; del) # the 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 ;; reload) echo $arg1 > /proc/sys/net/core/net_alias_max ;; esac done else # we don't have linuxconf to fall back on, so presumably we do # not have to parse linuxconf ipalias ranges, either. current=0 while : ; do if [ ! -f /etc/sysconfig/network-scripts/$device:$current ]; then return fi /etc/sysconfig/network-scripts/ifup $device:$current current=`expr $current + 1` done fi