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