diff options
Diffstat (limited to 'net/xfrm/xfrm_hash.h')
| -rw-r--r-- | net/xfrm/xfrm_hash.h | 5 | 
1 files changed, 2 insertions, 3 deletions
| diff --git a/net/xfrm/xfrm_hash.h b/net/xfrm/xfrm_hash.h index 61be810389d8..ce66323102f9 100644 --- a/net/xfrm/xfrm_hash.h +++ b/net/xfrm/xfrm_hash.h @@ -13,7 +13,7 @@ static inline unsigned int __xfrm4_addr_hash(const xfrm_address_t *addr)  static inline unsigned int __xfrm6_addr_hash(const xfrm_address_t *addr)  { -	return ntohl(addr->a6[2] ^ addr->a6[3]); +	return jhash2((__force u32 *)addr->a6, 4, 0);  }  static inline unsigned int __xfrm4_daddr_saddr_hash(const xfrm_address_t *daddr, @@ -26,8 +26,7 @@ static inline unsigned int __xfrm4_daddr_saddr_hash(const xfrm_address_t *daddr,  static inline unsigned int __xfrm6_daddr_saddr_hash(const xfrm_address_t *daddr,  						    const xfrm_address_t *saddr)  { -	return ntohl(daddr->a6[2] ^ daddr->a6[3] ^ -		     saddr->a6[2] ^ saddr->a6[3]); +	return __xfrm6_addr_hash(daddr) ^ __xfrm6_addr_hash(saddr);  }  static inline u32 __bits2mask32(__u8 bits) |