[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