[crossbow-discuss] questions from a 10GbE driver author
Paul Durrant
pdurrant at gmail.com
Wed May 7 09:02:09 PDT 2008
Andrew Gallatin wrote:
>
> I maintain a driver for a 10GbE nic which supports multiple hardware tx/rx rings. We can steer rx packets into rings using the "standard" NDIS6 Toeplitz hashing on TCP port numbers, IP addresses, etc. We can also steer packets based on MAC address. Would this NIC be considered to be capable of supporting crossbow?
>
I've been wondering the same thing. We too can steer based on toeplitz
hash, a basic LFSR hash and other factors. Alas Solaris seems to use a
completely different hash internally. Also, on transmitted TCP packets
there is no connection information accessible from a MAC driver (since
we don't get the STREAMS queue passed down) so, for affinity purposes,
any hash has to be recalculated in s/w. It would be highly useful if the
stack would store a driver connection hash passed to it on the receive
side and pass it down as metadata to the transmit side (even if the hash
was not used internally).
Also, I've mentioned many times that Windows standardized on Toeplitz
some time ago (it's even in 2k3) but there seems little interest in
using this hash in Solaris (which seems odd since most NICs are likely
to support it going forwards).
Paul
More information about the crossbow-discuss
mailing list