The RSS code currently lives in sys/netinet/ and supports both IPv4 and IPv6.
But as part of the general network stack integration, stuff outside of netinet/
(eg, netisr) will need some information about the RSS setup and CPU mapping
so it can make decisions about CPU / RSS bucket allocations for netisr, CPU
pinning, later on it'll query NUMA topology and setup netisr accordingly, etc.
So:
- the stuff to do with RSS configuration now lives in sys/net/rss_config.[ch];
- the sysctl space is still net.inet.netisr for now, but that may change before 11-RELEASE is cut;
- sys/netinet/in_rss.[ch] has IPv4 specific code in it;
- sys/netinet6/in6_rss.[ch] has IPv6 specific code in it;
- the IPv6 RSS code now uses pointers instead of copying the src/dst IPv6 addresses around.