mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-23 17:50:07 +01:00
62 lines
1.5 KiB
Text
62 lines
1.5 KiB
Text
|
|
#! /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= 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
|