From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id C004BA052A;
	Tue, 26 Jan 2021 04:03:22 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 485181411B6;
	Tue, 26 Jan 2021 04:03:22 +0100 (CET)
Received: from mga06.intel.com (mga06.intel.com [134.134.136.31])
 by mails.dpdk.org (Postfix) with ESMTP id 62E9C1411B5;
 Tue, 26 Jan 2021 04:03:20 +0100 (CET)
IronPort-SDR: V6mnj4vogo/HMYWudEx87yWsx3apz5vRu0lK6QYee9/GhYD2D07qr7qzn6H93X5E+dAePdK1qB
 Wd9PWRTm6jiA==
X-IronPort-AV: E=McAfee;i="6000,8403,9875"; a="241370467"
X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="241370467"
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 25 Jan 2021 19:03:18 -0800
IronPort-SDR: GnUoWJqyi95fSvONl2urF3wLg3LU3qeMBrS2yAXpzsm5fwvUSHy62Ivjex+2kG9yKKIHmkXpdK
 girnjZg0nCeA==
X-IronPort-AV: E=Sophos;i="5.79,375,1602572400"; d="scan'208";a="429539057"
Received: from unknown (HELO localhost.localdomain) ([10.240.183.93])
 by orsmga001-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 25 Jan 2021 19:03:16 -0800
From: dapengx.yu@intel.com
To: jia.guo@intel.com,
	haiyue.wang@intel.com,
	qiming.yang@intel.com
Cc: dev@dpdk.org,
	Dapeng Yu <dapengx.yu@intel.com>,
	stable@dpdk.org
Date: Tue, 26 Jan 2021 11:03:08 +0800
Message-Id: <20210126030308.517216-1-dapengx.yu@intel.com>
X-Mailer: git-send-email 2.27.0
In-Reply-To: <20210125031041.429268-1-dapengx.yu@intel.com>
References: <20210125031041.429268-1-dapengx.yu@intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH v3] net/ixgbe: disable NFS filtering
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

From: Dapeng Yu <dapengx.yu@intel.com>

Disable NFS header filtering whether NFS packets coalescing are
required or not, in order to make RSS can work on NFS packets.

The code without the patch does follow datasheet, but not consistent
with the ixgbe kernel driver. It causes NFS packets to be filtered
and make them flow into queue 0, before RSS can work on them.

Fixes: b826efba6de4 ("net/ixgbe: align register setting when RSC is disabled")
Fixes: 8eecb3295aed ("ixgbe: add LRO support")
Cc: stable@dpdk.org

Signed-off-by: Dapeng Yu <dapengx.yu@intel.com>
---
 drivers/net/ixgbe/ixgbe_rxtx.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c b/drivers/net/ixgbe/ixgbe_rxtx.c
index cc8f70e6d..2efd054f7 100644
--- a/drivers/net/ixgbe/ixgbe_rxtx.c
+++ b/drivers/net/ixgbe/ixgbe_rxtx.c
@@ -4923,15 +4923,11 @@ ixgbe_set_rsc(struct rte_eth_dev *dev)
 	/* RFCTL configuration  */
 	rfctl = IXGBE_READ_REG(hw, IXGBE_RFCTL);
 	if ((rsc_capable) && (rx_conf->offloads & DEV_RX_OFFLOAD_TCP_LRO))
-		/*
-		 * Since NFS packets coalescing is not supported - clear
-		 * RFCTL.NFSW_DIS and RFCTL.NFSR_DIS when RSC is
-		 * enabled.
-		 */
-		rfctl &= ~(IXGBE_RFCTL_RSC_DIS | IXGBE_RFCTL_NFSW_DIS |
-			   IXGBE_RFCTL_NFSR_DIS);
+		rfctl &= ~IXGBE_RFCTL_RSC_DIS;
 	else
 		rfctl |= IXGBE_RFCTL_RSC_DIS;
+	/* disable NFS filtering */
+	rfctl |= IXGBE_RFCTL_NFSW_DIS | IXGBE_RFCTL_NFSR_DIS;
 	IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl);
 
 	/* If LRO hasn't been requested - we are done here. */
-- 
2.27.0