From: David S. Miller Date: Fri, 20 Jul 2012 23:00:53 +0000 (-0700) Subject: ipv4: Fix neigh lookup keying over loopback/point-to-point devices. X-Git-Tag: upstream/snapshot3+hdmi~6997^2~43 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0bb4087cbec0ef74fd416789d6aad67957063057;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git ipv4: Fix neigh lookup keying over loopback/point-to-point devices. We were using a special key "0" for all loopback and point-to-point device neigh lookups under ipv4, but we wouldn't use that special key for the neigh creation. So basically we'd make a new neigh at each and every lookup :-) This special case to use only one neigh for these device types is of dubious value, so just remove it entirely. Reported-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/include/net/arp.h b/include/net/arp.h index 4617d98..7f7df93 100644 --- a/include/net/arp.h +++ b/include/net/arp.h @@ -21,9 +21,6 @@ static inline struct neighbour *__ipv4_neigh_lookup_noref(struct net_device *dev struct neighbour *n; u32 hash_val; - if (dev->flags & (IFF_LOOPBACK | IFF_POINTOPOINT)) - key = 0; - hash_val = arp_hashfn(key, dev, nht->hash_rnd[0]) >> (32 - nht->hash_shift); for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]); n != NULL;