vmxnet3: use static RSS key
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 15 Jan 2013 07:28:34 +0000 (07:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Jan 2013 19:40:52 +0000 (14:40 -0500)
Rather than generating a different RSS key on each boot, just use
a predetermined value that will map same flow to same value on
every device for more predictable testing. This is already done
on most hardware drivers.

Initial key value just some arbitrary bits extracted once
from /dev/random.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/vmxnet3/vmxnet3_drv.c

index 45c39cc4da47489cf2377d3347ed8b9b6f901190..9777dc62c53602fd6217ad1ec7ed26d2fe2746d0 100644 (file)
@@ -2157,6 +2157,14 @@ vmxnet3_setup_driver_shared(struct vmxnet3_adapter *adapter)
 
        if (adapter->rss) {
                struct UPT1_RSSConf *rssConf = adapter->rss_conf;
+               static const uint8_t rss_key[UPT1_RSS_MAX_KEY_SIZE] = {
+                       0x3b, 0x56, 0xd1, 0x56, 0x13, 0x4a, 0xe7, 0xac,
+                       0xe8, 0x79, 0x09, 0x75, 0xe8, 0x65, 0x79, 0x28,
+                       0x35, 0x12, 0xb9, 0x56, 0x7c, 0x76, 0x4b, 0x70,
+                       0xd8, 0x56, 0xa3, 0x18, 0x9b, 0x0a, 0xee, 0xf3,
+                       0x96, 0xa6, 0x9f, 0x8f, 0x9e, 0x8c, 0x90, 0xc9,
+               };
+
                devRead->misc.uptFeatures |= UPT1_F_RSS;
                devRead->misc.numRxQueues = adapter->num_rx_queues;
                rssConf->hashType = UPT1_RSS_HASH_TYPE_TCP_IPV4 |
@@ -2166,7 +2174,8 @@ vmxnet3_setup_driver_shared(struct vmxnet3_adapter *adapter)
                rssConf->hashFunc = UPT1_RSS_HASH_FUNC_TOEPLITZ;
                rssConf->hashKeySize = UPT1_RSS_MAX_KEY_SIZE;
                rssConf->indTableSize = VMXNET3_RSS_IND_TABLE_SIZE;
-               get_random_bytes(&rssConf->hashKey[0], rssConf->hashKeySize);
+               memcpy(rssConf->hashKey, rss_key, sizeof(rss_key));
+
                for (i = 0; i < rssConf->indTableSize; i++)
                        rssConf->indTable[i] = ethtool_rxfh_indir_default(
                                i, adapter->num_rx_queues);