forked from mirrors/linux
		
	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>
This commit is contained in:
		
							parent
							
								
									fa0afcd109
								
							
						
					
					
						commit
						0bb4087cbe
					
				
					 1 changed files with 0 additions and 3 deletions
				
			
		|  | @ -21,9 +21,6 @@ static inline struct neighbour *__ipv4_neigh_lookup_noref(struct net_device *dev | ||||||
| 	struct neighbour *n; | 	struct neighbour *n; | ||||||
| 	u32 hash_val; | 	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); | 	hash_val = arp_hashfn(key, dev, nht->hash_rnd[0]) >> (32 - nht->hash_shift); | ||||||
| 	for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]); | 	for (n = rcu_dereference_bh(nht->hash_buckets[hash_val]); | ||||||
| 	     n != NULL; | 	     n != NULL; | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 David S. Miller
						David S. Miller