We use the fact that all NICs that support hashing are using the
same hash algorithm and hash key to enable symmetic hashing in
TCP, where a software version of the same hash is used to
establish hashes on outgoing connections.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
Comment Actions
Yup, most multiqueue NICs now just "do" RSS natively whether we want it or not, and the main difference here with RSS defined was whether the configured key or a random key was used, etc.
So exposing the global RSS API for the key management / configuration is fine.
(Eventually I'd like it to be a key we can program in per device and globally, and tweak it all at runtime, but that's later.)
Comment Actions
- Made rss_config.c standard. This is needed because most
drivers do not check to see if INET/INET6 is enabled before
setting up RSS. This fixes compilation errors in most
drivers with LINT-NOIP
-Fixed compilattion error with LINT-NOIP after making rss_config
standard. Basically, the net_inet sysctl tree does not exist in
a NOIP kernel. So when in this configuration, hang rss config
off of net instead.