LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: IPVS Synchronization bug

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Subject: Re: IPVS Synchronization bug
From: Fabrice <fabrice@xxxxxxxxxx>
Date: Wed, 24 Oct 2001 18:17:13 +0200
Hello,

Sorry about this thread but I continued the discussion off the mailing
list, directly with Wensong. I will give you a little résumé of what
happened, and tell me if you want that I forward the mails to the
mailing list.


Résumé:
=======

I have two directors using LVS-NAT, heartbeat and IP Synchronization.
The kernel is 2.4.10 with ipvs 0.9.4.


Sub-nets:
---------

eth0: 192.168.1.0/24 (External net)
eth1: 192.168.2.0/24 (Internal net)
eth2: 192.168.3.0/24 (Heartbeat link)

My objective is to have the synchronization informations to be
transmitted on eth2. The problem is that those synchronization
informations are sent using multicast with the source address
of eth0. This isn't a problem if you use eth0 to send the packets
but, for example with eth2, it seems that the receiving (backup)
host is discarding them because the source address is invalid
on eth2. "rp_filter" didn't change anything. In the RFC 1112,
they explain that the source address of the multicast packets
must be the one of the sending interface. They also tell that if an
interface receives a multicast packet with a source address that
correspond  to another interface, the kernel should quietly drop
the packet.

The multicast packets get accepted if I add an alias on eth2
that has the eth0's IP in his sub-net. (Like add 192.168.1.0/27
to eth0).



Solutions:
==========

To correct the problem, there are three solutions:

1) Create the multicast packets with the correct source addresses
2) Make the kernel accept the multicast packets who have invalids
source addresses
3) Use Wensong's machines :)


Wensong just sent me two solutions that follows the 1)

a) route add -host 224.0.0.81 dev ethXX
So the source address is the one of the concerned interface ethXX

b) Modify the "ip_vs_sync.c" file to bind to the right interface
He sent me the patch I attached to this mail.



I'll test both solutions tomorrow, but I want to do something right now:

*** "Merci beaucoup" Wensong :) ***

He is very nice and and helpfull person.

Bye,

Fabrice Bucher

Attachment: ipvs-0.9.6pre1.diff
Description: Text document

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