diff options
Diffstat (limited to 'genome-bridge/genome-bridge')
-rw-r--r-- | genome-bridge/genome-bridge | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/genome-bridge/genome-bridge b/genome-bridge/genome-bridge index e86311c..24a3905 100644 --- a/genome-bridge/genome-bridge +++ b/genome-bridge/genome-bridge @@ -13,16 +13,28 @@ . /etc/init.d/functions BRIDGE="genomebr0" +GATEWAY_DEVICE=`ip route | grep ^default | cut -f5 -d" "` + +status() { + /sbin/ifconfig $BRIDGE &> /dev/null +} case "$1" in start) + status + + if [ $? == 0 ]; then + echo "Bridge is already up" + exit 1 + fi + echo -n $"Starting genome-bridge: " touch /var/lock/subsys/genome-bridge - /usr/bin/pkill -f "dhclient eth0" + /usr/bin/pkill -f "dhclient $GATEWAY_DEVICE" /usr/bin/pkill -f "dhclient $BRIDGE" /usr/sbin/brctl addbr $BRIDGE - /sbin/ifconfig eth0 0.0.0.0 promisc up - /usr/sbin/brctl addif $BRIDGE eth0 #TODO: support more than eth0 + /sbin/ifconfig $GATEWAY_DEVICE 0.0.0.0 promisc up + /usr/sbin/brctl addif $BRIDGE $GATEWAY_DEVICE /sbin/dhclient $BRIDGE #TODO: support static IPs RETVAL=$? ;; @@ -39,7 +51,7 @@ case "$1" in $0 start ;; status) - /sbin/ifconfig $BRIDGE &> /dev/null + status RETVAL=$? if [ $RETVAL == 0 ]; then echo "Bridge is up" |