From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55155C433F5 for ; Thu, 16 Sep 2021 02:53:47 +0000 (UTC) Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by mail.kernel.org (Postfix) with ESMTP id CE86261178 for ; Thu, 16 Sep 2021 02:53:46 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org CE86261178 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=dpdk.org Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 07C43410E3; Thu, 16 Sep 2021 04:53:46 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 43FC24003C; Thu, 16 Sep 2021 04:53:44 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10108"; a="283472867" X-IronPort-AV: E=Sophos;i="5.85,297,1624345200"; d="scan'208";a="283472867" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Sep 2021 19:53:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.85,297,1624345200"; d="scan'208";a="472625464" Received: from wuwenjun.sh.intel.com ([10.67.110.178]) by orsmga007.jf.intel.com with ESMTP; 15 Sep 2021 19:53:41 -0700 From: Wenjun Wu To: dev@dpdk.org, qiming.yang@intel.com, qi.z.zhang@intel.com Cc: Wenjun Wu , stable@dpdk.org Date: Thu, 16 Sep 2021 10:34:57 +0800 Message-Id: <20210916023457.441901-1-wenjun1.wu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210914083513.341438-3-wenjun1.wu@intel.com> References: <20210914083513.341438-3-wenjun1.wu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [PATCH v2 1/2] net/ice: fix RSS configuration failure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" According to patch [1], IPv4 and IPv6 fragment ptypes should be separated from IP other ptypes. That is to say, when RSS for IP packets is enabled, it should not affect IP fragment packets. Previously, we try to enable RSS for both IP packets and IP fragment packets with hash field of src and dst address. However, due to share code limitation, when RSS for IP packets and IP fragment packets coexists, they cannot share the same hash field. As a result, independent configuration of default RSS for IP fragment packets need to be removed. This patch revert the original patch to fix this failure. [1] commit 08c16b212d03 ("net/ice/base: fix ptype bitmap for IP fragment") Fixes: 91f59358dc05 ("net/ice: fix default RSS hash for IP fragment packets") Fixes: 4027fffe86f4 ("net/ice: support default RSS for IP fragment packet") Cc: stable@dpdk.org Signed-off-by: Wenjun Wu --- drivers/net/ice/ice_ethdev.c | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index 8d62b84805..0fcaf24fb1 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -2822,9 +2822,7 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf) ETH_RSS_NONFRAG_IPV4_TCP | \ ETH_RSS_NONFRAG_IPV6_TCP | \ ETH_RSS_NONFRAG_IPV4_SCTP | \ - ETH_RSS_NONFRAG_IPV6_SCTP | \ - ETH_RSS_FRAG_IPV4 | \ - ETH_RSS_FRAG_IPV6) + ETH_RSS_NONFRAG_IPV6_SCTP) ret = ice_rem_vsi_rss_cfg(hw, vsi->idx); if (ret) @@ -2979,24 +2977,6 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf) __func__, ret); } - if (rss_hf & ETH_RSS_FRAG_IPV4) { - cfg.addl_hdrs = ICE_FLOW_SEG_HDR_IPV4 | ICE_FLOW_SEG_HDR_IPV_FRAG; - cfg.hash_flds = ICE_FLOW_HASH_IPV4; - ret = ice_add_rss_cfg_wrap(pf, vsi->idx, &cfg); - if (ret) - PMD_DRV_LOG(ERR, "%s IPV4_FRAG rss flow fail %d", - __func__, ret); - } - - if (rss_hf & ETH_RSS_FRAG_IPV6) { - cfg.addl_hdrs = ICE_FLOW_SEG_HDR_IPV6 | ICE_FLOW_SEG_HDR_IPV_FRAG; - cfg.hash_flds = ICE_FLOW_HASH_IPV6; - ret = ice_add_rss_cfg_wrap(pf, vsi->idx, &cfg); - if (ret) - PMD_DRV_LOG(ERR, "%s IPV6_FRAG rss flow fail %d", - __func__, ret); - } - pf->rss_hf = rss_hf & ICE_RSS_HF_ALL; } -- 2.25.1