Skip to content

Commit

Permalink
Fix xfrm hash collisions by changing __xfrm4_daddr_saddr_hash to hash…
Browse files Browse the repository at this point in the history
… addresses with addition

This patch fixes hash collisions in cases where number
of entries have incrementing IP source and destination addresses
from single respective subnets (i.e. 192.168.0.1-172.16.0.1,
192.168.0.2-172.16.0.2, and so on.).

Signed-off-by: Jussi Maki <joamaki@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jussi Mäki authored and David S. Miller committed Aug 10, 2009
1 parent 082ba88 commit b79a794
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/xfrm/xfrm_hash.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ static inline unsigned int __xfrm6_addr_hash(xfrm_address_t *addr)

static inline unsigned int __xfrm4_daddr_saddr_hash(xfrm_address_t *daddr, xfrm_address_t *saddr)
{
return ntohl(daddr->a4 ^ saddr->a4);
return ntohl(daddr->a4 + saddr->a4);
}

static inline unsigned int __xfrm6_daddr_saddr_hash(xfrm_address_t *daddr, xfrm_address_t *saddr)
Expand Down

0 comments on commit b79a794

Please sign in to comment.