LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: Re : Manualy killed link Keepalived

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: Re : Manualy killed link Keepalived
From: Roberto Nibali <ratz@xxxxxxxxxxxx>
Date: Thu, 28 Feb 2002 14:09:32 +0100
Hi Alexandre,

Hmm... oh yes.... currently keepalived doesn t handle netlink ip check
before sending advert. The netlink call to set VRRP VIP is done during
bootstrap, then during checkers stats.

I see. Nasty ;)

So the answer is.... It is a "bug" well, a lake of time from my side to add
                                             ^^^^^^^^^^^^
                                          :) so you have time

that strong integrity check....

The VRRP part need to be enhanced... I am currenlty working on this with
netlink. The VIP presence check is needed for checkers because currenlty if
you run both healthcheck & failover, keepalived perform healthcheck even if
VIP is not owned by the BACKUP director... So the extension here is :
"perform healthcheck if VRRP VIP or IP is owned and correctly set".

What happens in case of failback?

I have been very busy with my job so I had to delayed a little my work. But
will be back to strong work :)

Currenlty the keepalived framework is cleaner than it was. Healthchecker
can be developed much more quickly... This work done, I need to spend more
time on netlink & VRRP....

No need to hurry, you've really done an excellent work so far.

VRRP framework need to be enhanced on the sending advert proc : checking
IFF_UP flags, netlink stats, probably MII register if NIC offer it, ....

If someone has some kind of code here, it will help me... Like : "before
sending something to the world, check if we can send it using the NIC :
need to test IFF stats, netlink, ..."

Stupid guess: if (ifr->ifr_flags==IFF_UP) ...
But this might also want to check the routes.

How is the best way to handle this.... Any comments will be welcome.

This is more Julian's field I guess. If I was in your situation I'd have a look at the iproute2 source code for the part of:

ip route get <IP> ...

And derive stuff from there.

HTH and best regards,
Roberto Nibali, ratz



<Prev in Thread] Current Thread [Next in Thread>