netdev
[Top] [All Lists]

[PATCH] bug in ARP override timer near jiffies wrap

To: davem@xxxxxxxxxx, netdev@xxxxxxxxxxx
Subject: [PATCH] bug in ARP override timer near jiffies wrap
From: David Stevens <dlstevens@xxxxxxxxxx>
Date: Fri, 7 May 2004 14:01:10 -0600
Sender: netdev-bounce@xxxxxxxxxxx
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.

Attachment: arpfix.patch
Description: Binary data

<Prev in Thread] Current Thread [Next in Thread>