# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2.
-# Latest change: Mit Mär 26 23:02:52 CET 2008 [mika]
################################################################################
-# exit on any error
-set -e
-
CONFIG_FILE=/etc/grml/routersetup
. /etc/grml/lsb-functions
. /etc/grml/script-functions
-check4root
+check4root || exit 1
-if ! [ -r "$CONFIG_FILE" ] ; then
- eerror "$CONFIG_FILE could not be read."
- exit 1
+if [ -r "$CONFIG_FILE" ] ; then
+ . "$CONFIG_FILE"
+else
+ ewarn "Could not read $CONFIG_FILE"
fi
-. "$CONFIG_FILE"
-
-if [ -z "$BRIDGE_DEVICES" ] ; then
- eerror "Bridge devices (\$BRIDGE_DEVICES) not set in $CONFIG_FILE"
- exit 1
-fi
-
-[ -n "$BRCTL" ] || BRCTL=brctl
-[ -n "$STP" ] || STP=on
-[ -n "$BRIDGE_NAME" ] || BRIDGE_NAME=br0
+# defaults if unconfigured
+[ -n "$BRCTL" ] || BRCTL=brctl
+[ -n "$BRIDGE_STP" ] || BRIDGE_STP=on
+[ -n "$BRIDGE_NAME" ] || BRIDGE_NAME=br0
+[ -n "$BRIDGE_DEVICES" ] || BRIDGE_DEVICES='eth0 eth1'
check4progs $BRCTL || exit 1
no|false)
;;
*)
- einfo "Setting Spanning-Tree Protocol (STP) to status $STP"
- brctl stp "$BRIDGE_NAME" $STP
+ einfo "Setting Spanning-Tree Protocol (STP) to status $BRIDGE_STP"
+ brctl stp "$BRIDGE_NAME" "$BRIDGE_STP"
eend $?
;;
esac
- einfo "Enabling promiscous mode on: "
+ einfo "Bringing network device up: "
+ eindent
+ for i in $BRIDGE_DEVICES ; do
+ einfo "$i"
+ ifconfig "$i" 0.0.0.0 up ; eend $?
+ done
+ eoutdent
+
+ einfo "Enabling promiscuous mode on: "
eindent
for i in $BRIDGE_DEVICES ; do
einfo "$i"
ip a a $BRIDGE_IP dev $BRIDGE_NAME
;;
NONE)
- einfo "Leaving $BRIDGE_NAME uconfigured"
+ einfo "Leaving $BRIDGE_NAME unconfigured"
;;
esac
eoutdent
done
eoutdent
- einfo "Disabling promiscous mode on: "
+ einfo "Disabling promiscuous mode on: "
eindent
for i in $BRIDGE_DEVICES ; do
einfo "$i "