Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 279e9f2f authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

ipv6: optimize inet6_hash_frag()



Use ipv6_addr_hash() and a single jhash invocation.

Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c8c5b287
Loading
Loading
Loading
Loading
+1 −14
Original line number Diff line number Diff line
@@ -79,20 +79,7 @@ unsigned int inet6_hash_frag(__be32 id, const struct in6_addr *saddr,
{
	u32 c;

	c = jhash_3words((__force u32)saddr->s6_addr32[0],
			 (__force u32)saddr->s6_addr32[1],
			 (__force u32)saddr->s6_addr32[2],
			 rnd);

	c = jhash_3words((__force u32)saddr->s6_addr32[3],
			 (__force u32)daddr->s6_addr32[0],
			 (__force u32)daddr->s6_addr32[1],
			 c);

	c =  jhash_3words((__force u32)daddr->s6_addr32[2],
			  (__force u32)daddr->s6_addr32[3],
			  (__force u32)id,
			  c);
	c = jhash_3words(ipv6_addr_hash(saddr), ipv6_addr_hash(daddr), id, rnd);

	return c & (INETFRAGS_HASHSZ - 1);
}