]> git.hungrycats.org Git - linux/commitdiff
[NET]: Remove INCOMPLETE checks from neigh_forced_gc().
authorDavid S. Miller <davem@nuts.davemloft.net>
Mon, 27 Sep 2004 04:46:12 +0000 (21:46 -0700)
committerDavid S. Miller <davem@kernel.bkbits.net>
Mon, 27 Sep 2004 04:46:12 +0000 (21:46 -0700)
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/neighbour.c

index 3226b237e84635a36fe470b46667574cdac6abfd..34bf8dee8cf9663144927009fa5d716aa1da7764 100644 (file)
@@ -123,20 +123,12 @@ static int neigh_forced_gc(struct neigh_table *tbl)
                np = &tbl->hash_buckets[i];
                while ((n = *np) != NULL) {
                        /* Neighbour record may be discarded if:
-                          - nobody refers to it.
-                          - it is not permanent
-                          - (NEW and probably wrong)
-                            INCOMPLETE entries are kept at least for
-                            n->parms->retrans_time, otherwise we could
-                            flood network with resolution requests.
-                            It is not clear, what is better table overflow
-                            or flooding.
+                        * - nobody refers to it.
+                        * - it is not permanent
                         */
                        write_lock(&n->lock);
                        if (atomic_read(&n->refcnt) == 1 &&
-                           !(n->nud_state & NUD_PERMANENT) &&
-                           (n->nud_state != NUD_INCOMPLETE ||
-                            time_after(jiffies, n->used + n->parms->retrans_time))) {
+                           !(n->nud_state & NUD_PERMANENT)) {
                                *np     = n->next;
                                n->dead = 1;
                                shrunk  = 1;