2004-08-16 19:49:05 +00:00
|
|
|
#! /bin/bash
|
|
|
|
|
# Load kernel modules for all network devices
|
|
|
|
|
|
|
|
|
|
CWD=`pwd`
|
|
|
|
|
cd /etc/sysconfig/network-scripts
|
|
|
|
|
|
|
|
|
|
# find all the interfaces besides loopback.
|
|
|
|
|
# ignore aliases, alternative configurations, and editor backup files
|
|
|
|
|
interfaces=`ls ifcfg* | LANG=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | \
|
|
|
|
|
LANG=C egrep -v '(~|\.bak)$' | \
|
|
|
|
|
LANG=C egrep 'ifcfg-[A-Za-z0-9\._-]+$' | \
|
|
|
|
|
sed 's/^ifcfg-//g' |
|
|
|
|
|
sed 's/[0-9]/ &/' | LANG=C sort -k 1,1 -k 2n | sed 's/ //'`
|
|
|
|
|
|
|
|
|
|
# bring up all other interfaces configured to come up at boot time
|
|
|
|
|
for i in $interfaces; do
|
|
|
|
|
eval $(LANG=C fgrep "DEVICE=" ifcfg-$i)
|
|
|
|
|
eval $(LANG=C fgrep "TYPE=" ifcfg-$i)
|
|
|
|
|
eval $(LANG=C fgrep "SLAVE=" ifcfg-$i)
|
|
|
|
|
eval $(LANG=C fgrep "BRIDGE=" ifcfg-$i)
|
|
|
|
|
|
|
|
|
|
if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi
|
|
|
|
|
|
|
|
|
|
if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then
|
|
|
|
|
unset DEVICE TYPE SLAVE BRIDGE
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$TYPE" = "xDSL" ]; then
|
|
|
|
|
unset DEVICE TYPE SLAVE BRIDGE
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ -n "$BRIDGE" ]; then
|
|
|
|
|
unset DEVICE TYPE SLAVE BRIDGE
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then
|
|
|
|
|
unset DEVICE TYPE SLAVE BRIDGE
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
if [ "$SLAVE" = "yes" ]; then
|
|
|
|
|
unset DEVICE TYPE SLAVE BRIDGE
|
|
|
|
|
continue
|
|
|
|
|
fi
|
|
|
|
|
unset DEVICE TYPE SLAVE BRIDGE
|
|
|
|
|
|
|
|
|
|
# Load the module
|
2004-09-09 20:02:59 +00:00
|
|
|
LC_ALL= LANG= /sbin/ip -o link | grep -q $i
|
2004-08-16 19:49:05 +00:00
|
|
|
if [ "$?" = "1" ]; then
|
|
|
|
|
alias=`modprobe -c | awk "/^(alias|install)[[:space:]]+$i[[:space:]]/ { print \\$3 }"`
|
|
|
|
|
if [ -n "$alias" -a "$alias" != "off" -a "$alias" != "/bin/true" ]; then
|
|
|
|
|
modprobe $alias > /dev/null 2>&1
|
|
|
|
|
fi
|
|
|
|
|
fi
|
|
|
|
|
continue
|
|
|
|
|
done
|
|
|
|
|
|
|
|
|
|
exit 0
|