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.
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.
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.