On 8/30/2011 6:39 AM, leopoldo tosi wrote:
But it gets even more interesting. I did a tcpdump on eth0
interface
(the interface the IPaddr2 resource IP is on) the box
running the
resources and I get the following when resources start up
(presumably
triggered by the box trying to connect for the status
check):
    01:12:21.423330 arp who-has 192.168.2.21
(Broadcast) tell 192.168.2.21
    01:12:22.428523 arp who-has 192.168.2.21
(Broadcast) tell 192.168.2.21
    01:12:23.429342 arp who-has 192.168.2.21
(Broadcast) tell 192.168.2.21
Notice as my box seems to be having a slight identity
crisis
(192.168.2.21 is the IPaddr2 resource)


As an FYI:

Someone else already probably said this - but this particular sequence is the result of taking over an presumably-live IP address from one machine to another.

One RFC says you can force an update of the ARP cache by sending a (broadcast) ARP reply, and that works for most routers/switches. However, another RFC says you can force ARP caches to be updated by sending an ARP _request_. This latter behavior works on the other routers/switches. So we do both. We ask "who has our IP address?" and send it from our IP address. Then we send a _broadcast_ reply to our own request. This is all instigated by the IPaddr and IPaddr2 resource agents. The normal ARP protocol code is not involved in this particular sequence.

It looks pretty silly - but it works very effectively.

    -- Alan Robertson
        al...@unix.sh

_______________________________________________
Pacemaker mailing list: Pacemaker@oss.clusterlabs.org
http://oss.clusterlabs.org/mailman/listinfo/pacemaker

Project Home: http://www.clusterlabs.org
Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker

Reply via email to