Hi Nigel,

I think that I have found the cause of the problem you are seeing.
Can you see if this patch to ipvsadm helps.

----------------------------------------------------------------------

Don't report persistentconns as activeconns

This fixes what appears to be a typo in the netlink client code
whereby the activeconns is read as activeconns and then
overwitten by persistentconns. The result is that the active
connection count reported by ipvsadm -L is wrong if the
code is compiled to use the netlink interface.

Reported-by: Nigel Kukard <nkuk...@lbsd.net>
Signed-off-by: Simon Horman <ho...@verge.net.au>

Index: ipvsadm-1.25/libipvs/libipvs.c
===================================================================
--- ipvsadm-1.25.orig/libipvs/libipvs.c 2010-02-18 16:57:46.000000000 +0900
+++ ipvsadm-1.25/libipvs/libipvs.c      2010-02-18 16:57:49.000000000 +0900
@@ -747,7 +747,7 @@ static int ipvs_dests_parse_cb(struct nl
        d->entrytable[i].l_threshold = 
nla_get_u32(dest_attrs[IPVS_DEST_ATTR_L_THRESH]);
        d->entrytable[i].activeconns = 
nla_get_u32(dest_attrs[IPVS_DEST_ATTR_ACTIVE_CONNS]);
        d->entrytable[i].inactconns = 
nla_get_u32(dest_attrs[IPVS_DEST_ATTR_INACT_CONNS]);
-       d->entrytable[i].activeconns = 
nla_get_u32(dest_attrs[IPVS_DEST_ATTR_PERSIST_CONNS]);
+       d->entrytable[i].persistconns = 
nla_get_u32(dest_attrs[IPVS_DEST_ATTR_PERSIST_CONNS]);
        d->entrytable[i].af = d->af;
 
        if (ipvs_parse_stats(&(d->entrytable[i].stats),

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@LinuxVirtualServer.org
Send requests to lvs-users-requ...@linuxvirtualserver.org
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

Reply via email to