X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=sbin%2Fgrml-bridge;h=93e6686f69f685050cd81a306c88ce216aacb9e2;hb=80d07bb5f7b87a990da936f1c3857991187fd709;hp=c7decc7037b6455c78e5141d7f1bbd767adcfc01;hpb=d9b20539ba8824abdf7a72c73f45f4e940d61e60;p=grml-network.git diff --git a/sbin/grml-bridge b/sbin/grml-bridge index c7decc7..93e6686 100755 --- a/sbin/grml-bridge +++ b/sbin/grml-bridge @@ -4,17 +4,13 @@ # Authors: grml-team (grml.org), (c) Michael Prokop # 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." @@ -45,13 +41,21 @@ case "$1" in no|false) ;; *) - einfo "Setting Spanning-Tree Protocol (STP) to status" + einfo "Setting Spanning-Tree Protocol (STP) to status $STP" brctl stp "$BRIDGE_NAME" $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" @@ -80,7 +84,7 @@ case "$1" in ip a a $BRIDGE_IP dev $BRIDGE_NAME ;; NONE) - einfo "Leaving $BRIDGE_NAME uconfigured" + einfo "Leaving $BRIDGE_NAME unconfigured" ;; esac eoutdent @@ -92,7 +96,9 @@ case "$1" in eindent if [ $BRIDGE_CONFIG = DHCP ]; then einfo "Terminating dhclient for $BRIDGE_NAME" - kill $(cat /var/run/dhclient.$BRIDGE_NAME.pid); + if [ -r "/var/run/dhclient.$BRIDGE_NAME.pid" ] ; then + kill "$(cat /var/run/dhclient.$BRIDGE_NAME.pid)" || /bin/true + fi fi einfo "Removing network devices from $BRIDGE_NAME: " @@ -103,7 +109,7 @@ case "$1" in done eoutdent - einfo "Disabling promiscous mode on: " + einfo "Disabling promiscuous mode on: " eindent for i in $BRIDGE_DEVICES ; do einfo "$i " @@ -115,6 +121,7 @@ case "$1" in ip link set "$BRIDGE_NAME" down; eend $? einfo "Removing bridge device" + ifconfig "$BRIDGE_NAME" down || /bin/true brctl delbr "$BRIDGE_NAME" eend $? eoutdent