Fix a minor bug
[snf-network] / snf-network-configure-interfaces
index 4a9c4a7..a17ee34 100755 (executable)
@@ -12,7 +12,7 @@ HOSTNAME=$(hostname)
 INTERFACES=$STATE_DIR/interfaces
 HOSTINFRA=$STATE_DIR/infra
 
-if [ ! -a $HOSTFILE ]; then 
+if [ ! -e "$HOSTINFRA" ]; then 
   echo "A host infra file must exist" 
   echo "Run snf-network-build-host-infra"
   exit 1
@@ -23,7 +23,6 @@ source $HOSTINFRA
 DONOTIFUP=false
 
 check_iface(){
-
   if [ -n "$1" -a -e /proc/sys/net/ipv4/conf/$1 ]; then 
     echo Interface $1 already exist! Please check
     export DONOTIFUP=true
@@ -34,29 +33,33 @@ check_iface(){
 check_iface "$PUBLIC_BRIDGE"
 check_iface "$PUBLIC_IFACE.$PUBLIC_VLAN_ID"
 check_iface "$PUBLIC_IFACE.$PRIVATE_VLAN_ID"
-check_iface "$BRIDGE_PREFIX$PRIVATE_VLAN_ID"
+check_iface "$PRIVATE_BRIDGE"
 
 if [ -n "$PRIVATE_VLAN_ID_OFFSET" ]; then
   for id in `seq $PRIVATE_VLAN_ID_MIN 1 $PRIVATE_VLAN_ID_MAX`; do
-    check_iface $BRIDGE_PREFIX$((PRIVATE_VLAN_ID_OFFSET+id))
     check_iface $PUBLIC_IFACE.$((PRIVATE_VLAN_ID_OFFSET+id))
+    check_iface $BRIDGE_PREFIX$id
   done
 fi
 
+(
+
 if [ -n "$PUBLIC_BRIDGE" -a -n "$PUBLIC_IFACE" ]; then
-  cat > $INTERFACES<<EOF
+  cat<<EOF
 auto $PUBLIC_BRIDGE
 iface $PUBLIC_BRIDGE inet manual
   bridge_ports $PUBLIC_IFACE
   bridge_stp off
   bridge_fd 2
+  up ip addr add $PUBLIC_IP dev $PUBLIC_BRIDGE 
+  up ip route add default via $PUBLIC_GW dev $PUBLIC_BRIDGE
   post-up ip link set $PUBLIC_BRIDGE address $PUBLIC_MAC 
 
 EOF
 
 else
   if [ -n "$PUBLIC_VLAN" ]; then
-    cat > $INTERFACES<<EOF
+    cat<<EOF
 auto $PUBLIC_VLAN
 iface $PUBLIC_VLAN inet manual
 
@@ -64,7 +67,7 @@ EOF
   fi
 
   if [ -n "$PRIVATE_VLAN" -a -n "$PRIVATE_BRIDGE" ]; then
-    cat >> $INTERFACES<<EOF
+    cat<<EOF
 auto $PRIVATE_VLAN
 iface $PRIVATE_VLAN inet manual
 
@@ -76,11 +79,11 @@ iface $PRIVATE_BRIDGE inet manual
   post-up ip link set $PRIVATE_BRIDGE address $PUBLIC_MAC 
 
 EOF
-  fi
+  fi  
 
   if [ -n "$PRIVATE_VLAN_ID_OFFSET" ]; then
      HELPER="$PRIVATE_VLAN_ID_MIN $PRIVATE_VLAN_ID_MAX $PRIVATE_VLAN_ID_OFFSET"
-     cat >> $INTERFACES<<EOF
+     cat<<EOF
 auto prv
 iface prv inet manual
     up   prv-net-helper up   $PUBLIC_IFACE $HELPER $BRIDGE_PREFIX
@@ -91,6 +94,11 @@ EOF
     
 fi
 
+) > $INTERFACES
+
+echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
+echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
+echo 1 > /proc/sys/net/ipv4/ip_forward
 
 if $DONOTIFUP; then
   echo Check interfaces:
@@ -98,8 +106,4 @@ if $DONOTIFUP; then
   exit 1
 fi
 
-echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
-echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
-echo 1 > /proc/sys/net/ipv4/ip_forward
-
 ifup -i $INTERFACES -a