Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Jul 2014 09:46:25 -0700
From:      Peter Grehan <grehan@freebsd.org>
To:        Adrian Chadd <adrian@FreeBSD.org>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r268837 - head/sys/netinet
Message-ID:  <53C94F61.5020706@freebsd.org>
In-Reply-To: <201407180822.s6I8MD5a023838@svn.freebsd.org>
References:  <201407180822.s6I8MD5a023838@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
>    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.

  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.

  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.

later,

Peter.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?53C94F61.5020706>