This patch fixes the calculation of "override" in ARP.
+-DLS
--- linux-2.6.6-rc2F1/net/ipv4/arp.c 2004-04-21 15:47:55.000000000
-0700
+++ linux-2.6.6-rc2F2/net/ipv4/arp.c 2004-05-07 12:54:34.898406424
-0700
@@ -891,15 +891,14 @@
if (n) {
int state = NUD_REACHABLE;
- int override = 0;
+ int override;
/* 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.
*/
- if (jiffies - n->updated >= n->parms->locktime)
- override = 1;
+ override = time_after(jiffies, n->updated + n->parms->locktime);
/* Broadcast replies and request packets
do not assert neighbour reachability.