Files
NetworkManager/test/NMLoadModules
Robert Love 8481bbd914 2006-01-16 Robert Love <rml@novell.com>
* src/Makefile.am: Don't install NMLoadModules
	* src/NMLoadModules, test/NMLoadModules: Move the NMLoadModules script
	  from src/ to test/ as no one uses it anymore.  Note that I would be
	  fine with removing it altogether.


git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@1353 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
2006-01-17 21:25:08 +00:00

62 lines
1.5 KiB
Bash
Executable File

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