aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/arp.h
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-07-20 19:00:53 -0400
committerDavid S. Miller <davem@davemloft.net>2012-07-20 19:06:10 -0400
commit0bb4087cbec0ef74fd416789d6aad67957063057 (patch)
treeb5a9a178fb8af1e83e806a91950904273d9e9927 /include/net/arp.h
parentfa0afcd10951afad2022dda09777d2bf70cdab3d (diff)
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 <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/arp.h')
-rw-r--r--include/net/arp.h3
1 files changed, 0 insertions, 3 deletions
diff --git a/include/net/arp.h b/include/net/arp.h
index 4617d9841132..7f7df93f37cd 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
21 struct neighbour *n; 21 struct neighbour *n;
22 u32 hash_val; 22 u32 hash_val;
23 23
24 if (dev->flags & (IFF_LOOPBACK | IFF_POINTOPOINT))
25 key = 0;
26
27 hash_val = arp_hashfn(key, dev, nht->hash_rnd[0]) >> (32 - nht->hash_shift); 24 hash_val = arp_hashfn(key, dev, nht->hash_rnd[0]) >> (32 - nht->hash_shift);
28 for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]); 25 for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]);
29 n != NULL; 26 n != NULL;