ARP_ANNOUNCE
Posted by jad on Dec 8th, 2006
There is an option ARP_ANNOUNCE in linux that allows you to control which source address is put in to ARP headers. It can take the following values.
0 (default) Any local address
1 Use address from the same subnet as the target address
2 prefer primary address.
This is worth knowing because the default can give some very strange results when routing packets with linux.
On CentOS you can change the default by adding a line like this to /etc/sysctl.conf
net.ipv4.conf.all.arp_announce = 1
Thanks to Understanding Linux Networking Internals for helping me solve this problem.
I wonder why any local address is the default? I dont see how this could ever be useful.

