svn commit: r268907 - head/sys/dev/ixgbe
Adrian Chadd
adrian at FreeBSD.org
Sun Jul 20 04:11:18 UTC 2014
Author: adrian
Date: Sun Jul 20 04:11:18 2014
New Revision: 268907
URL: http://svnweb.freebsd.org/changeset/base/268907
Log:
Correctly program the RSS redirection table entries.
Without this, the RSS bucket assignments aren't correct - they're
DCBA instead of ABCD in each DWORD.
Tested: 82599EB ixgbe(4), TCP and UDP RSS
Modified:
head/sys/dev/ixgbe/ixgbe.c
Modified: head/sys/dev/ixgbe/ixgbe.c
==============================================================================
--- head/sys/dev/ixgbe/ixgbe.c Sun Jul 20 02:38:58 2014 (r268906)
+++ head/sys/dev/ixgbe/ixgbe.c Sun Jul 20 04:11:18 2014 (r268907)
@@ -4230,10 +4230,16 @@ ixgbe_initialise_rss_mapping(struct adap
#else
queue_id = (j * 0x11);
#endif
- /* XXX endian? */
- reta = (reta << 8) | queue_id;
- if ((i & 3) == 3)
+ /*
+ * The low 8 bits are for hash value (n+0);
+ * The next 8 bits are for hash value (n+1), etc.
+ */
+ reta = reta >> 8;
+ reta = reta | ( ((uint32_t) queue_id) << 24);
+ if ((i & 3) == 3) {
IXGBE_WRITE_REG(hw, IXGBE_RETA(i >> 2), reta);
+ reta = 0;
+ }
}
/* Now fill our hash function seeds */
More information about the svn-src-all
mailing list