X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=sbin%2Fgrml-bridge;h=9ee19aba8b3ad243339ded10ad487e8605030ded;hb=5ccffd6ee849bb7c004e464f3972bcce22beac7c;hp=1a4b9c8e87cdea445ee11e872f358bc4c95b65a3;hpb=a83e3825511532c96dd400447f2e0cc5e89600dd;p=grml-network.git diff --git a/sbin/grml-bridge b/sbin/grml-bridge index 1a4b9c8..9ee19ab 100755 --- a/sbin/grml-bridge +++ b/sbin/grml-bridge @@ -4,12 +4,8 @@ # 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 Okt 11 23:02:51 CEST 2006 [moemoe] ################################################################################ -# exit on any error -set -e - CONFIG_FILE=/etc/grml/routersetup . /etc/grml/lsb-functions . /etc/grml/script-functions @@ -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" @@ -73,14 +77,14 @@ case "$1" in case $BRIDGE_CONFIG in DHCP) einfo "starting dhclient for $BRIDGE_NAME" - dhclient -e -pf /var/run/dhclient.$BRIDGE_NAME.pid -lf /var/run/dhclient.$BRIDGE_NAME.leases $BRIDGE_NAME + dhclient -pf /var/run/dhclient.$BRIDGE_NAME.pid -lf /var/run/dhclient.$BRIDGE_NAME.leases $BRIDGE_NAME ;; FIXED) einfo "Setting IP for $BRIDGE_NAME to $BRIDGE_IP" 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