From patchwork Tue Aug 17 06:53:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenjun Wu X-Patchwork-Id: 96972 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 mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0E55BA0548; Tue, 17 Aug 2021 09:11:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EA8DC4014E; Tue, 17 Aug 2021 09:11:24 +0200 (CEST) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mails.dpdk.org (Postfix) with ESMTP id 48EE540143 for ; Tue, 17 Aug 2021 09:11:23 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10078"; a="203162744" X-IronPort-AV: E=Sophos;i="5.84,328,1620716400"; d="scan'208";a="203162744" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2021 00:11:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,328,1620716400"; d="scan'208";a="676375501" Received: from wuwenjun.sh.intel.com ([10.67.110.178]) by fmsmga006.fm.intel.com with ESMTP; 17 Aug 2021 00:11:21 -0700 From: Wenjun Wu To: dev@dpdk.org, jingjing.wu@intel.com, beilei.xing@intel.com Cc: Wenjun Wu Date: Tue, 17 Aug 2021 14:53:07 +0800 Message-Id: <20210817065307.160335-1-wenjun1.wu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210802083619.1003586-1-wenjun1.wu@intel.com> References: <20210802083619.1003586-1-wenjun1.wu@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 1/2] net/iavf: fix default RSS field for IP fragment packets 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" Previously IP ID field is supported in default RSS for IP fragment packets. Actually it is not expected. This patch removes redundant default RSS field for IP fragment packets. The default RSS only needs to support the src and dst IP fields. Fixes: 9e29a278bc0c ("net/iavf: support default RSS for IP fragment") Signed-off-by: Wenjun Wu --- drivers/net/iavf/iavf_hash.c | 26 ++------------------------ 1 file changed, 2 insertions(+), 24 deletions(-) diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c index 2b03dad858..eba55ecea5 100644 --- a/drivers/net/iavf/iavf_hash.c +++ b/drivers/net/iavf/iavf_hash.c @@ -624,34 +624,12 @@ iavf_rss_hash_set(struct iavf_adapter *ad, uint64_t rss_hf, bool add) } if (rss_hf & ETH_RSS_FRAG_IPV4) { - struct virtchnl_proto_hdrs hdr = { - .tunnel_level = TUNNEL_LEVEL_OUTER, - .count = 3, - .proto_hdr = { - proto_hdr_eth, - proto_hdr_ipv4, - { - VIRTCHNL_PROTO_HDR_IPV4_FRAG, - FIELD_SELECTOR(VIRTCHNL_PROTO_HDR_IPV4_FRAG_PKID), - {BUFF_NOUSED}, - }, - }, - }; - rss_cfg.proto_hdrs = hdr; + rss_cfg.proto_hdrs = outer_ipv4_tmplt; iavf_add_del_rss_cfg(ad, &rss_cfg, add); } if (rss_hf & ETH_RSS_FRAG_IPV6) { - struct virtchnl_proto_hdrs hdr = { - .tunnel_level = TUNNEL_LEVEL_OUTER, - .count = 3, - .proto_hdr = { - proto_hdr_eth, - proto_hdr_ipv6, - proto_hdr_ipv6_frag, - }, - }; - rss_cfg.proto_hdrs = hdr; + rss_cfg.proto_hdrs = outer_ipv6_tmplt; iavf_add_del_rss_cfg(ad, &rss_cfg, add); } From patchwork Tue Aug 17 06:53:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wenjun Wu X-Patchwork-Id: 96973 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 mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ADBA5A0548; Tue, 17 Aug 2021 09:12:08 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 98CEB4115A; Tue, 17 Aug 2021 09:12:08 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 1E7584014E for ; Tue, 17 Aug 2021 09:12:06 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10078"; a="216041754" X-IronPort-AV: E=Sophos;i="5.84,328,1620716400"; d="scan'208";a="216041754" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Aug 2021 00:12:06 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,328,1620716400"; d="scan'208";a="676375707" Received: from wuwenjun.sh.intel.com ([10.67.110.178]) by fmsmga006.fm.intel.com with ESMTP; 17 Aug 2021 00:12:04 -0700 From: Wenjun Wu To: dev@dpdk.org, qiming.yang@intel.com, qi.z.zhang@intel.com Cc: Wenjun Wu Date: Tue, 17 Aug 2021 14:53:55 +0800 Message-Id: <20210817065355.160387-1-wenjun1.wu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210802083659.1003658-1-wenjun1.wu@intel.com> References: <20210802083659.1003658-1-wenjun1.wu@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v2 2/2] net/ice: fix default RSS field for IP fragment packets 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" Previously IP ID field is supported in default RSS for IP fragment packets. Actually it is not expected. This patch removes redundant default RSS field for IP fragment packets. The default RSS only needs to support the src and dst IP fields. Fixes: 4027fffe86f4 ("net/ice: support default RSS for IP fragment packet") Signed-off-by: Wenjun Wu --- drivers/net/ice/ice_ethdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c index a4cd39c954..64ee569525 100644 --- a/drivers/net/ice/ice_ethdev.c +++ b/drivers/net/ice/ice_ethdev.c @@ -2975,7 +2975,7 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf) 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 | BIT_ULL(ICE_FLOW_FIELD_IDX_IPV4_ID); + 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", @@ -2984,7 +2984,7 @@ ice_rss_hash_set(struct ice_pf *pf, uint64_t rss_hf) 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 | BIT_ULL(ICE_FLOW_FIELD_IDX_IPV6_ID); + 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",