A query on GARP updates

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux