LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: vrrp flip-flap and expire_nodest_conn problems related

To: alexandre.cassen@xxxxxxxxxx,<lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: vrrp flip-flap and expire_nodest_conn problems related
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Tue, 28 Sep 2004 15:43:32 +0200
Hi Alex,

I thought keepalived does not use the IFF_UP|IFF_RUNNING anymore?

Keepalived still use those floags through the kernel
netlink reflection channel. When ifdown an interface this
produce a kernel netlink broadcast catched by VRRP netlink
registered broadcast socket. Which will force transition to FAULT state.

Ahh, beautiful, exactly what I had envisioned. I simply didn't have the time anymore to track all the 2.6.x kernel changes.

I was under the impression that Jeff Garzik was going to clean that all up and 
that
the ethtool interface architecture would provide use with a generalised 
framework
for this. I reckon for Alexandre Cassen an event based netlink message would be 
the
best for vrrpd, correct?

I wrote a small paper (present on my homepage at linux-vs.org)

Ohh, the Stefan Rompf approach. I even discussed this with him at one point :). I now remember, I'm getting too old for this :).

to explain how linkwatch work. This is the very best solution
to detect link failures. This patch is now part of new 2.6 kernel.

Very good. What about a 2.4.x backport inclusion? Jeff meant that one needs to poll ETHTOOL_GLINK, but 1) not every driver supports ETHTOOL_* and 2) there's no notion for user space notification, only a poll based ioctl. Andi wanted to have people run RIP or OSPF over it :).

http://search.luky.org/linux-kernel.2002/msg04209.html

So that when NIC driver call netif_up |down this produce a kernel
netlink broadcast catched by any userspace stuff registering
lnetlink link event group.

Exactly. So for 2.6.x we have netlink based messages and for 2.4.x we still need to poll and hope for ETHTOOL_* support with regard to link state probing.

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