Hi All,

We made a patch to IPsrcaddr.

This patch revises the next point.

 * Made modifications to carry out validate_all processing.
 * Undefined and deleted the unused IPROUTE variable
 * The find_interface_generic processing revised it to search it by ip command.


However, we cannot test environment except Linux.
Therefore, we limited a condition to carry out processing to environment of 
Linux.

(snip)
@@ -458,6 +440,10 @@
 
 ipaddress="$OCF_RESKEY_ipaddress"
 
+if [ "x$SYSTYPE" = "xLinux" ]; then
+       srca_validate_all
+fi
+
(snip)


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



Best Regards,
Hideo Yamauchi
diff -r e4d9d86a9577 IPsrcaddr
--- a/IPsrcaddr Mon Nov 28 20:02:26 2011 +0900
+++ b/IPsrcaddr Mon Nov 28 20:03:07 2011 +0900
@@ -307,35 +307,14 @@
 #
 find_interface_generic() {
 
-  $IFCONFIG $IFCONFIG_A_OPT  |
-  while read ifname linkstuff
-  do
-    : Read gave us ifname = $ifname
-
-    read inet addr junk
-    : Read gave us inet = $inet addr = $addr
-
-    while
-      read line && [ "X$line" != "X" ]
-    do
-      : Nothing
-    done
-
-    case "$SYSTYPE" in
-      *BSD)
-               $IFCONFIG | grep "$BASEIP" -B`$IFCONFIG | grep -c inet` | grep 
"UP," | cut -d ":" -f 1
-               return 0;;
-      *)
-               : "comparing $BASEIP to $addr (from ifconfig)"
-               case $addr in
-                 addr:$BASEIP) echo $ifname; return $OCF_SUCCESS;;
-                 $BASEIP)      echo $ifname; return $OCF_SUCCESS;;
-               esac
-               continue;;
-    esac
-
-  done
-  return $OCF_ERR_GENERIC 
+       local iface=`$IP2UTIL -o -f inet addr show | grep "\ $BASEIP" \
+            | cut -d ' ' -f2 | grep -v '^ipsec[0-9][0-9]*$'`
+        if [ -z "$iface" ]; then
+            return $OCF_ERR_GENERIC
+        else 
+            echo $iface
+            return $OCF_SUCCESS
+        fi
 }
 
 
@@ -409,7 +388,6 @@
 srca_validate_all() {
 
     check_binary $AWK
-    check_binary $IPROUTE
     check_binary $IFCONFIG
 
 #      The IP address should be in good shape
@@ -420,6 +398,10 @@
          exit $OCF_ERR_CONFIGURED
        fi
 
+       if ocf_is_probe; then
+         return $OCF_SUCCESS
+       fi
+
 #      We should serve this IP address of course
        if ip_status "$ipaddress"; then
          :
@@ -458,6 +440,10 @@
 
 ipaddress="$OCF_RESKEY_ipaddress"
 
+if [ "x$SYSTYPE" = "xLinux" ]; then
+       srca_validate_all
+fi
+
 findif_out=`$FINDIF -C`
 rc=$?
 [ $rc -ne 0 ] && {
_______________________________________________________
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