diff options
author | David S. Miller <davem@davemloft.net> | 2012-07-20 16:00:53 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-07-20 16:06:10 -0700 |
commit | 0bb4087cbec0ef74fd416789d6aad67957063057 (patch) | |
tree | b5a9a178fb8af1e83e806a91950904273d9e9927 /include/net/arp.h | |
parent | fa0afcd10951afad2022dda09777d2bf70cdab3d (diff) | |
download | linux-exynos-0bb4087cbec0ef74fd416789d6aad67957063057.tar.gz linux-exynos-0bb4087cbec0ef74fd416789d6aad67957063057.tar.bz2 linux-exynos-0bb4087cbec0ef74fd416789d6aad67957063057.zip |
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.h | 3 |
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 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; |