LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: ipvsadm version mismatch in debian

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: ipvsadm version mismatch in debian
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Sun, 17 Oct 2004 21:55:40 +0200
Hi,

Is your tool open source licensed? If so it would be nice to share it with the rest of us.

Indeed it would but as I've written previously my company has a different view on this. I, you and the rest of the world have to live with it ;).

I'd prefer a wrapper script which automatically executes the right binary depending on your running kernel version. It's a simple thing, if I don't receive any further response from the Debian Maintainer of ipvsadm (shameless plug: I opened the above bug report) I might just write one myself and see if it gets accepted.

Something like this should easily solve the problem, no?

--- ipvsadm-orig        2004-10-17 21:46:12.000000000 +0200
+++ ipvsadm     2004-10-17 21:51:53.000000000 +0200
@@ -1,6 +1,30 @@
 #!/bin/sh

-IPVSADM="/sbin/ipvsadm"
+declare -ri EOK=0
+declare -ri ENOEXIST=1
+
+: ${KERNEL_VERSION:=$(uname -r)}
+IPVSADM="/sbin/ipvsadm-${KERNEL_VERSION:0:3}"
+
+case ${KERNEL_VERSION} in
+    2.2*)
+       :
+       ;;
+    2.4*)
+       :
+       ;;
+    2.6*)
+       :
+       ;;
+    *)
+       IPVSADM="/sbin/ipvsadm-${KERNEL_VERSION}"
+       ;;
+esac
+ if [ ! -f "${IPVSADM}" ]; then
+       echo "${IPVSADM} does not exist"
+       exit ${ENOEXIST}
+fi
+
 IPVSADM_RULES="/etc/ipvsadm.rules"
 IPVSADM_CONFIG="/etc/default/ipvsadm"

@@ -30,7 +54,7 @@

 flush () {
     echo -n "Clearing the current IPVS table: "
-    ipvsadm -C
+    ${IPVSADM} -C
     echo "Done."
 }

@@ -94,10 +118,10 @@
        fi
        ;;
     status)
-       ipvsadm -L -n
+       ${IPVSADM} -L -n
        ;;
     rate)
-       ipvsadm -L --rate -n
+       ${IPVSADM} -L --rate -n
        ;;
     load)
        flush

Get the Debian maintainer for this package to fix at least the stuff I've fixed in this patch ;).

I haven't encountered your problem yet. But since a few little/big endian issues have been fixed in the last couple of days, I'm planning to use an Ultra 5 to be a second director in a active-active
configuration with a x86 machine. Both will be running Sarge, so I might
also encounter your described problem.

Right, I could use some help. I don't have a lot of spare time for this right now.

Best regards,
Roberto Nibali, ratz
--
echo '[q]sa[ln0=aln256%Pln256/snlbx]sb3135071790101768542287578439snlbxq' | dc
<Prev in Thread] Current Thread [Next in Thread>