#10 arp ping failover problem

open
nobody
None
5
2004-10-29
2004-10-29
Laurent CADET
No

arp ping failover doesn't work for me.
I can see arp requests and replies,
but no failover happens when an interface
stops receiving replies.

modprobe bonding arp_interval=60 arp_ip_target=10.0.1.1
ip li set up bond0
ip ad ad 10.0.1.10/24 dev bond0
ifenslave bond0 eth1 eth2

eth1 and eth2 are 3c59x nics.

please help.

Discussion

  • Logged In: NO

    kernel newbie, but I found the way myself :

    in /usr/src/linux/drivers/net/bonding/bond_main.c :

    2002/9/30 - Dan Eisner <eisner at 2robots dot com>

    * - make sure my_ip is set before taking down the link,
    since

    * not all switches respond if the source ip is not set.

    and you know what ?
    my_ip is never set in function bond_loadbalance_arp_mon !
    in failover test, just replace "&& my_ip" by "&& !my_ip",
    then "make", "make modules_install".

    short, clean, working.

     
  • Jay Vosburgh
    Jay Vosburgh
    2004-10-30

    Logged In: YES
    user_id=579170

    Reversing the sense of the test will work if your switch
    responds to ARP packets from the all zeroes IP address. A
    more complete fix is to add the my_ip gleaning into the
    loadbalance path.

    The my_ip test is correct the way it is (if my_ip is set
    correctly); it makes the link always stay up if the switch
    isn't responding to all zeros ARP requests, which should
    normally be a temporary situation until my_ip is filled in.