Author: adrian
Date: Sat Jul 12 05:45:53 2014
New Revision: 268561
URL: http://svnweb.freebsd.org/changeset/base/268561

Log:
  Add INP_RSS_BUCKET_SET awareness for IPv6 pcbgroup entries.
  
  This ensures that a listen socket with INP_RSS_BUCKET_SET set will use
  the pre-determined PCBGROUP rather than what the hashing path chooses.

Modified:
  head/sys/netinet6/in6_pcbgroup.c

Modified: head/sys/netinet6/in6_pcbgroup.c
==============================================================================
--- head/sys/netinet6/in6_pcbgroup.c    Sat Jul 12 05:44:16 2014        
(r268560)
+++ head/sys/netinet6/in6_pcbgroup.c    Sat Jul 12 05:45:53 2014        
(r268561)
@@ -128,6 +128,19 @@ struct inpcbgroup *
 in6_pcbgroup_byinpcb(struct inpcb *inp)
 {
 
+#ifdef RSS
+       /*
+        * Listen sockets with INP_RSS_BUCKET_SET set have a pre-determined
+        * RSS bucket and thus we should use this pcbgroup, rather than
+        * using a tuple or hash.
+        *
+        * XXX should verify that there's actually pcbgroups and 
inp_rss_listen_bucket
+        * fits in that!
+        */
+       if (inp->inp_flags2 & INP_RSS_BUCKET_SET)
+               return 
(&inp->inp_pcbinfo->ipi_pcbgroups[inp->inp_rss_listen_bucket]);
+#endif
+
        return (in6_pcbgroup_bytuple(inp->inp_pcbinfo, &inp->in6p_laddr,
            inp->inp_lport, &inp->in6p_faddr, inp->inp_fport));
 }
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to