summaryrefslogtreecommitdiffstats
path: root/base/aaabasicfs/network
diff options
context:
space:
mode:
Diffstat (limited to 'base/aaabasicfs/network')
-rwxr-xr-xbase/aaabasicfs/network75
1 files changed, 58 insertions, 17 deletions
diff --git a/base/aaabasicfs/network b/base/aaabasicfs/network
index ff268b03b..84ce546eb 100755
--- a/base/aaabasicfs/network
+++ b/base/aaabasicfs/network
@@ -6,22 +6,46 @@
. /etc/sysconfig/rc
. $rc_functions
-let TIME=30
+
+# Network configuration
+. /etc/sysconfig/network
+
+NM_PIDFILE=/var/run/NetworkManager.pid
+WICD_PIDFILE=
+
+let TIME=$NETWORKDELAY
case "$1" in
start)
- if [ -f /usr/share/wicd/daemon/wicd-daemon.py ]; then
+ if [ "$MANAGER" == "networkmanager" ] && [ -x /usr/sbin/NetworkManager ]; then
+ boot_mesg "Setting network parameters... "
+ sysctl -e -p /etc/sysctl.conf >/dev/null 2>&1
+ echo_ok
+
+ boot_mesg "Starting NetworkManager daemon..."
+ loadproc NetworkManager --pid-file $NM_PIDFILE
+ if [ "${NETWORKWAIT}" == "yes" ]; then
+ [ -z "${LINKDELAY}" ] && LINKDELAY=10
+ boot_mesg "Waiting for network..."
+ nm-online -q --timeout=$LINKDELAY || nm-online -q -x --timeout=30
+ [ "$?" = "0" ] && log_success_msg "Network startup" || log_failure_msg "Network startup"
+ [ -n "${NETWORKDELAY}" ] && /bin/sleep ${NETWORKDELAY}
+ fi
+
+ elif [ "$MANAGER" == "wicd" ] && [ -f /usr/share/wicd/daemon/wicd-daemon.py ]; then
boot_mesg "Starting the wicd Daemon..."
loadproc /usr/share/wicd/daemon/wicd-daemon.py
if grep -v ^# /etc/fstab | grep _netdev > /dev/null; then
- while ! grep "nameserver" /etc/resolv.conf ;
- do
- sleep 1
- echo -n .
- let TIME=$TIME-1
- if [ $TIME -lt 1 ]; then
- boot_mesg "Time out"
- echo_failure
- exit 1
+ while ! grep "nameserver" /etc/resolv.conf ;
+ do
+ if [ $TIME -gt 0 ]; then
+ sleep 1
+ echo -n .
+ let TIME=$TIME-1
+ if [ $TIME -lt 1 ]; then
+ boot_mesg "Time out"
+ echo_failure
+ exit 1
+ fi
fi
done
boot_mesg "Network successfully configured..."
@@ -36,18 +60,35 @@ case "$1" in
;;
stop)
- if [ -f /usr/share/wicd/daemon/wicd-daemon.py ]; then
- boot_mesg "Stopping the wicd Daemon..."
- loadproc /usr/share/wicd/daemon/wicd-daemon.py --kill
+ if [ "$MANAGER" == "networkmanager" ] && [ -x /usr/sbin/NetworkManager ]; then
+ boot_mesg "Stopping NetworkManager daemon..."
+ killproc -p $NM_PIDFILE NetworkManager
+ elif [ "$MANAGER" == "wicd" ] && [ -f /usr/share/wicd/daemon/wicd-daemon.py ]; then
+ boot_mesg "Stopping the wicd Daemon..."
+ loadproc /usr/share/wicd/daemon/wicd-daemon.py --kill
else
if [ -f /etc/rc.d/init.d/iplink ]; then
- /etc/rc.d/init.d/iplink stop
- fi
+ /etc/rc.d/init.d/iplink stop
+ fi
+ fi
+ ;;
+ status)
+ if [ "$MANAGER" == "networkmanager" ] && [ -x /usr/sbin/NetworkManager ]; then
+ statusproc -p $NM_PIDFILE NetworkManager
+ else
+ if [ "$MANAGER" == "wicd" ] && [ -f /usr/share/wicd/daemon/wicd-daemon.py ]; then
+ statusproc -p /var/run/wicd/wicd.pid "/usr/bin/python2 /usr/share/wicd/daemon/wicd-daemon.py"
+ fi
fi
;;
+ restart)
+ ${0} stop
+ sleep 3
+ ${0} start
+ ;;
*)
- echo "Usage: $0 {start|stop}"
+ echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac