Thread (8 messages) 8 messages, 2 authors, 2007-07-31

Re: [RESEND][PATCH 1/3] PPPoE: improved hashing routine

From: David Miller <davem@davemloft.net>
Date: 2007-07-31 08:26:10

From: Florian Zumbiehl <redacted>
Date: Tue, 31 Jul 2007 10:07:19 +0200
Erm, I'd say this not only produces different results than the old
version, but it also produces "wrong" results, in that it ignores quite
a bit of the data that's supposed to be hashed. If I didn't overlook
something, it only considers addr&0x0f0f0f0f0f00 and sid&0x0f0f, given
the right endianness of addr and that PPPOE_HASH_SIZE stays 16.
You're right, I need to fix the shifts up.  How does this version
look?

	hash ^= (hash >> 4) ^ (hash >> 12) ^ (hash >> 20);
	return (head ^ (hash >> 8) ^ (hash >> 24)) &
		(PPPOE_HASH_SIZE - 1);

Actually it might be simpler and more efficient to just make
PPPOE_HASH_SHIFT be 8.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help