From patchwork Tue Jul 21 09:02:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Xiao Wang X-Patchwork-Id: 74538 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 40F62A0526; Tue, 21 Jul 2020 11:10:06 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C3C401BFE9; Tue, 21 Jul 2020 11:10:05 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 42D8E1BFE4; Tue, 21 Jul 2020 11:10:03 +0200 (CEST) IronPort-SDR: k/oVSEsGut77t53hvNuv0PHmznjxfxprqvQVAj7d1+CmE1pekj5wdBOn6zXFz+Wglk8nkQTNzh SMoE+/uAC3xg== X-IronPort-AV: E=McAfee;i="6000,8403,9688"; a="149246381" X-IronPort-AV: E=Sophos;i="5.75,378,1589266800"; d="scan'208";a="149246381" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jul 2020 02:10:02 -0700 IronPort-SDR: MNUSCBQXIyeGIMlVJL6JJmAEWuO90dJL+pQzm/F+4g4YwXLEnQFAMYsm9nHzaJ1B+ujJXhqu1B P0Tz/RaI7dKg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,378,1589266800"; d="scan'208";a="283801432" Received: from dpdk-xiao1.sh.intel.com ([10.67.110.193]) by orsmga003.jf.intel.com with ESMTP; 21 Jul 2020 02:10:00 -0700 From: Xiao Wang To: qi.z.zhang@intel.com Cc: dev@dpdk.org, qiming.yang@intel.com, lei.a.yao@intel.com, jingjing.wu@intel.com, Xiao Wang , stable@dpdk.org Date: Tue, 21 Jul 2020 17:02:58 +0800 Message-Id: <20200721090258.65715-1-xiao.w.wang@intel.com> X-Mailer: git-send-email 2.15.1 Subject: [dpdk-dev] [PATCH] net/ice: fix default RSS key configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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@dpdk.org Signed-off-by: Xiao Wang Acked-by: Qi Zhang --- 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,