NetworkManager/test/NMLoadModules

62 lines
1.5 KiB
Text
Raw Normal View History

#! /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
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