svn commit: r268561 - head/sys/netinet6
Adrian Chadd
adrian at FreeBSD.org
Sat Jul 12 05:45:54 UTC 2014
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));
}
More information about the svn-src-head
mailing list