svn commit: r268837 - head/sys/netinet

Adrian Chadd adrian at freebsd.org
Fri Jul 18 18:15:28 UTC 2014


On 18 July 2014 09:46, Peter Grehan <grehan at freebsd.org> wrote:
>>    Update the default RSS hash to the Chelsio T5 firmware one - it
>> provides
>>    markedly better distribution of IPv6 address/ports than the previous
>> key.
>
>
>  That's actually the key that's used for verification in the Microsoft spec,
> though it looks like you have the bytes arranged backwards, which appears to
> be an artifact of the strange way the key is programmed into the Chelsio.

Hah! I wonder why the key from the T3 NIC that Robert committed was so
.. terrible then.

Are you saying that the actual byte order is totally reversed, or just endian?

>  My suggestion is: put the bytes in the default key in the order they are in
> the spec. This allows independent verification of the hash function in
> hardware by injecting frames with the values from the spec and looking at
> what h/w provides. Then, fix how it is programmed in the Chelsio. From
> memory, the Intel registers were a byte array. I also recall that the Qlogic
> FCOE adapters were 32-bits at a time, but big-endian.

Cool.

>  On the contents of the has, so long as there are a enough random 1-bits in
> the key, the distribution is as good as the Jenkins hash. Easy to verify
> with a test harness and ministat etc, but also verified at Netapp in the
> mega performance lab with a number of different key values.

I think that was Roberts main concern with using a randomised key at
startup. It sounds Netapp have already done a lot of the work that I
was thinking about in the back of my mind - I'll add that to my TODO
list so we can write a random key generation function at boot time.

Thanks1


-a


More information about the svn-src-head mailing list