[dpdk-dev] [PATCH] net/ice: fix default RSS key configuration
Xiao Wang
xiao.w.wang at intel.com
Tue Jul 21 11:02:58 CEST 2020
There's chance that rte_rand() doesn't provision suitable values for
RSS hash, an extreme example could be a key with a lot of 0s in it.
This patch adds a default RSS key which has been used in ixgbe driver
and fm10k driver.
Fixes: 50370662b727 ("net/ice: support device and queue ops")
Cc: stable at dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang at intel.com>
---
drivers/net/ice/ice_ethdev.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index 3534d18..74d37c7 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2628,11 +2628,20 @@ static int ice_init_rss(struct ice_pf *pf)
vsi->rss_lut = rte_zmalloc(NULL,
vsi->rss_lut_size, 0);
+#define RSS_KEY_SIZE ICE_AQC_GET_SET_RSS_KEY_DATA_RSS_KEY_SIZE
+ static uint8_t rss_intel_key[RSS_KEY_SIZE] = {
+ 0x6D, 0x5A, 0x56, 0xDA, 0x25, 0x5B, 0x0E, 0xC2,
+ 0x41, 0x67, 0x25, 0x3D, 0x43, 0xA3, 0x8F, 0xB0,
+ 0xD0, 0xCA, 0x2B, 0xCB, 0xAE, 0x7B, 0x30, 0xB4,
+ 0x77, 0xCB, 0x2D, 0xA3, 0x80, 0x30, 0xF2, 0x0C,
+ 0x6A, 0x42, 0xB7, 0x3B, 0xBE, 0xAC, 0x01, 0xFA,
+ };
+
/* configure RSS key */
if (!rss_conf->rss_key) {
/* Calculate the default hash key */
for (i = 0; i <= vsi->rss_key_size; i++)
- vsi->rss_key[i] = (uint8_t)rte_rand();
+ vsi->rss_key[i] = rss_intel_key[i];
} else {
rte_memcpy(vsi->rss_key, rss_conf->rss_key,
RTE_MIN(rss_conf->rss_key_len,
--
1.8.3.1
More information about the dev
mailing list