merged trunk & branch - epilogue
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 23 Sep 2008 15:50:25 +0000 (15:50 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 23 Sep 2008 15:50:25 +0000 (15:50 +0000)
system/template-qemu/qemu-bridge-init

index 170946a..896503b 100755 (executable)
@@ -10,6 +10,9 @@
 COMMAND=$(basename $0)
 cd $(dirname $0)
 
+# turn on verbosity
+set -x
+
 # constant
 INTERFACE_BRIDGE=br0
 # Default Value
@@ -26,7 +29,7 @@ start () {
 
     #if we have already configured the same host_box no need to do it again
     /sbin/ifconfig $INTERFACE_BRIDGE &> /dev/null && {
-       echo "Interface bridge $INTERFACE_BRIDGE already exist."
+       echo "Bridge interface $INTERFACE_BRIDGE already set up - $COMMAND start exiting"
        exit 0
     }
     /sbin/ifconfig $INTERFACE_LAN &>/dev/null || {
@@ -35,10 +38,10 @@ start () {
     }
 
     #Getting host IP/masklen
-    address=$(/sbin/ip addr show $INTERFACE_LAN | grep -v inet6 | grep inet | awk '{print $2;}')
+    address=$(/sbin/ip addr show $INTERFACE_LAN | grep -v inet6 | grep inet | head --lines=1 | awk '{print $2;}')
     [ -z "$address" ] && { echo "ERROR: Could not determine IP address for $INTERFACE_LAN" ; exit 1 ; }
     
-    broadcast=$(/sbin/ip addr show $INTERFACE_LAN | grep -v inet6 | grep inet | awk '{print $4;}')
+    broadcast=$(/sbin/ip addr show $INTERFACE_LAN | grep -v inet6 | grep inet | head --lines=1 | awk '{print $4;}')
     [ -z "$broadcast" ] && echo "WARNING: Could not determine broadcast address for $INTERFACE_LAN"
 
     gateway=$(netstat -rn | grep '^0.0.0.0' | awk '{print $2;}')
@@ -48,12 +51,12 @@ start () {
     #Restarting udev
     echo "Starting udev ..."
     /sbin/udevd restart
-    if modprobe kqemu ; then
+    if modprobe kqemu &> /dev/null ; then
        echo "kqemu loadded"
     else
        echo "WARNING : Could not modprobe kqemu"
     fi
-    #Loding the tun/tap model
+    #Loading the tun/tap model
     if modprobe tun ; then
        echo "tun loaded"
         # Giving read/write access
@@ -65,20 +68,20 @@ start () {
     fi
 
     # creating the bridge
-    echo "Creating bridge $INTERFACE_BRIDGE"
+    echo "Creating bridge INTERFACE_BRIDGE=$INTERFACE_BRIDGE"
     brctl addbr $INTERFACE_BRIDGE
     #brctl stp $INTERFACE_BRIDGE yes
     brctl addif $INTERFACE_BRIDGE $INTERFACE_LAN
-    echo "Activating promiscuous mode  $INTERFACE_LAN..."
+    echo "Activating promiscuous mode INTERFACE_LAN=$INTERFACE_LAN"
     /sbin/ifconfig $INTERFACE_LAN 0.0.0.0 promisc up
     sleep 2
-    echo "Setting bridge $address $broadcast"
+    echo "Setting bridge address=$address broadcast=$broadcast"
     # static
     /sbin/ifconfig $INTERFACE_BRIDGE $address broadcast $broadcast up
     sleep 1
        
     #Reconfigure the routing table
-    echo "Configuring  the IP  Gateway @:" $gateway
+    echo "Configuring gateway=$gateway"
     route add default gw $gateway
 
 }
@@ -122,7 +125,7 @@ stop () {
     type -p brctl &> /dev/null || { echo "brctl not found, please install bridge-utils" ; exit 1 ; }
 
     /sbin/ifconfig $INTERFACE_BRIDGE &> /dev/null || {
-       echo "Interface bridge $INTERFACE_BRIDGE does not exist."
+       echo "Bridge interface $INTERFACE_BRIDGE does not exist - $COMMAND stop exiting"
        exit 0
     }
     brctl delif $INTERFACE_BRIDGE $INTERFACE_LAN
@@ -132,16 +135,20 @@ stop () {
     /sbin/service iptables restart
 }
 
-# 
-case "$1" in
-    start)
-       shift; start "$@" ;;
-    stop)
-       shift; stop "$@" ;;
-    add)
-        shift; add "$@" ;;
-    *)
-        echo $"Usage: env-qemu {start|add|stop} [interface]" ; exit 1 ;;
-esac
-
-exit 0
+function main () {
+
+    case "$1" in
+       start)
+           shift; start "$@" ;;
+       stop)
+           shift; stop "$@" ;;
+       add)
+            shift; add "$@" ;;
+       *)
+            echo $"Usage: env-qemu {start|add|stop} [interface]" ; exit 1 ;;
+    esac
+    exit 0
+}
+
+# redirect stderr as well
+main "$@" 2>&1