- Add new functions to in_rss.[ch] which implement software hashing for IPv4 frames that are aware of the currently configured RSS hash types.
 - Extend the ip_output() API to have a flag that disables overriding the mbuf with the inp flowid details.
 - Set the flowid details in the UDP IPv4 and IPv6 output paths by doing a software hash. This is currently not yet cached in the inpcb so it's recalculated each time.
 - Recalculate the flowid of a reassembled IPv4 fragmented datagram.
 - .. and reinject the datagram back into netisr for recalcuation.
 - Shift the IPv4 netisr queue to use a CPU policy and teach it to use the rss_m2cpuid function to (re)-assign the frame to the correct queue as appropriate.
 
There's a few things that I know about that I haven't yet implemented:
- IPv6 software hashing;
 - IPv6 fragment path handling;
 - IPv4 and IPv6 de-capsulation and recalculation (IPSEC, various encapsulation protocols, etc.);
 - Automatically configuring bound netisr threads for the configured RSS parameters;
 - Ensuring that all fragments in the IPv4/IPv6 output path have the correct RSS hash information copied into the generated fragment mbufs.