Hi All,

We made a patch to IPsrcaddr.

This patch revises the next point.

 * When route has been already assigned, RA skips an allotment. 
 * Added error log of FINDIF.
 * Deleted the unused sentence.

Please please confirm my correction. 
And please commit a correction. 

Best Regards,
Hideo Yamauchi
diff -r 2107bc4f5c8b heartbeat/IPsrcaddr
--- a/heartbeat/IPsrcaddr       Thu Nov 24 14:13:11 2011 +0900
+++ b/heartbeat/IPsrcaddr       Thu Nov 24 14:13:53 2011 +0900
@@ -167,13 +167,20 @@
 srca_start() {
        srca_read $1
 
-       ip route replace $NETWORK dev $INTERFACE src $1 || \
-               errorexit "command 'ip route replace $NETWORK dev $INTERFACE 
src $1' failed"
+       rc=$?
+       if [ $rc = 0 ]; then 
+               rc=$OCF_SUCCESS
+               ocf_log info "The ip route has been already set.($NETWORK, 
$INTERFACE, $ROUTE_WO_SRC)"
+       else
+               ip route replace $NETWORK dev $INTERFACE src $1 || \
+                       errorexit "command 'ip route replace $NETWORK dev 
$INTERFACE src $1' failed"
 
-       $CMDCHANGE $ROUTE_WO_SRC src $1 || \
-               errorexit "command '$CMDCHANGE $ROUTE_WO_SRC src $1' failed"
+               $CMDCHANGE $ROUTE_WO_SRC src $1 || \
+                       errorexit "command '$CMDCHANGE $ROUTE_WO_SRC src $1' 
failed"
+               rc=$?
+       fi
 
-       return $?
+       return $rc
 }
 
 #
@@ -252,7 +259,6 @@
        else
            true
        fi         
-#      return $OCF_SUCCESS
        ;;
     *) #less than three decimal dots
        false;;
@@ -377,7 +383,6 @@
       
       Linux|SunOS)             
          IF=`find_interface "$BASEIP"`
-#        echo $IF
          if [ -z "$IF" ]; then
              return $OCF_NOT_RUNNING
          fi
@@ -455,7 +460,11 @@
 
 findif_out=`$FINDIF -C`
 rc=$?
-[ $rc -ne 0 ] && exit $rc
+[ $rc -ne 0 ] && {
+    ocf_log err "[$FINDIF -C] failed"
+    exit $rc
+}
+
 INTERFACE=`echo $findif_out | awk '{print $1}'`
 NETWORK=`ip route list dev $INTERFACE scope link|grep -o '^[^ ]*'`
 
_______________________________________________________
Linux-HA-Dev: [email protected]
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Reply via email to