summaryrefslogtreecommitdiffstats
path: root/genome-bridge/genome-bridge
diff options
context:
space:
mode:
Diffstat (limited to 'genome-bridge/genome-bridge')
-rw-r--r--genome-bridge/genome-bridge20
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"