A query on GARP updates
Sowmya Sridharan
sowmya.sridharan at tcs.com
Wed Mar 30 01:54:51 EDT 2011
Hi All,
I am having a scenario wherein an IP address is transferred from one
processor to another in case of a failure.
These two processors are in communication with a central server, and
frequently send out GARPs to update their details.
Consider the processors X and Y which report to server Z.
Processor X had the IP, and sent out a GARP at 't' second. The server Z
updated the ip and mac addresses of processor X.
Processor X rebooted immediately, and therefore the ip address got
transferred to processor Y within 300-400 milliseconds.
Now processor Y sends out a GARP immediately within 't+1' second, and
since the interval has not crossed 1 second threshold, this GARP is
ignored by the server.
Hence there is a loss of traffic until the ARP cache is refreshed in the
server, and the older entry is deleted, before the new request is
considered.
This happens due to a condition specified in net/ipv4/arp.c
/* If several different ARP replies follows back-to-back, use the FIRST
one. It is possible, if several proxy agents are active.
Taking the first reply prevents arp trashing and chooses the fastest
router.
*/
override = time_after(jiffies, n->updated + n->parms->locktime);
==============> n->params->locktime being one second
/* Broadcast replies and request packets do not assert neighbour
reachability.
*/
if (arp->ar_op != htons(ARPOP_REPLY) ||
skb->pkt_type != PACKET_HOST)
state = NUD_STALE;
neigh_update(n, sha, state, override ? NEIGH_UPDATE_F_OVERRIDE : 0);
neigh_release(n);
The above condition is for ignoring the arps from proxies, but in my case,
the GARPs which is not from a proxy are also ignored.
I think this condition is breaking the functionality under the scenario I
explained. Or is there any other reason for this condition, and I am
missing it?
P.S: I came across a similar post on the net, but there wasn't any
solution provided :(
Regards,
Sowmya
=====-----=====-----=====
Notice: The information contained in this e-mail
message and/or attachments to it may contain
confidential or privileged information. If you are
not the intended recipient, any dissemination, use,
review, distribution, printing or copying of the
information contained in this e-mail message
and/or attachments to it are strictly prohibited. If
you have received this communication in error,
please notify us by reply e-mail or telephone and
immediately and permanently delete the message
and any attachments. Thank you
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110330/9ca5a865/attachment.html
More information about the Kernelnewbies
mailing list