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 | |
| parent | fa0afcd10951afad2022dda09777d2bf70cdab3d (diff) | |
| download | olio-linux-3.10-0bb4087cbec0ef74fd416789d6aad67957063057.tar.xz olio-linux-3.10-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>
| -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 4617d984113..7f7df93f37c 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;  |