[Linux-ha-dev] Heartbeat 0.4.5 released
Sat, 16 Oct 1999 04:00:01 -0600
Thomas Hepper wrote:
> On Wed, Oct 13, 1999 at 01:08:23AM -0600, Alan Robertson wrote:
> > Hi,
> > Heartbeat 0.4.5 is now officially relased. Here's the highlights:
> > This release looks pretty good from my testing. Let me know what you find out.
> Next point/question. I have a setup with 2 network cards in each node.
> In the ha.cf file both interfaces are defined for the heartbeat, but
> with tcpdump i can only see packets on one interface. The output in
> the log files say that it is starting heartbeat on eth0 and eth1.
> Some special things needed for this setup ?
No. The code should work as best I understand it. I haven't tested it with
tcpdump, or a sniffer. Can you tell which interface it's coming out of?
This sounds like a bug to me. If so, it's probably always been there. The new
release probably didn't break anything new there.
Three possibilities come to mind:
A) I'm not distributing the heartbeat packets to every write process.
Each media interface has a read and a write process. If I'm not sending
it to every write process, then they have no chance to write it out.
The way to tell if this is what's happening is:
send a SIGUSR2 to any process except for the first one.
This will give you the list of processes, and what they do on the
The write processes should be created in the same order you specified them
in the config file. Give the one you suspect of not writing about
six SIGUSR1 signals in a row. As I recall, this will crank the debug level
up to the point it should be dumping packet contents to the debug log.
If you don't see any packets going into the log, then I'm not writing
to it's pipe.
B) I'm distributing the heartbeat packets to each write process, but for some
reason it's not trying to write them to the interface, or (more likely)
something is wrong in the way it binds to the interface, so they either
don't come out at all, or routing is applied, and they all come out the
same interface. The current code tries HARD to make sure that
code tries hard to bind to the interface you specified, but maybe it isn't
doing it quite right...
C) None of the above :-)
-- Alan Robertson