From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EAEECA0A0B for ; Fri, 22 Jan 2021 08:07:09 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DA6A7140D0A; Fri, 22 Jan 2021 08:07:09 +0100 (CET) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 9E058140CE7; Fri, 22 Jan 2021 08:07:06 +0100 (CET) IronPort-SDR: fsikNZbUC8sqWsSDnF8jne2HILjZaH2JsCqA2CfHv9lKKxS6KqmgEymNhxSUu8aIbExP1Lwn1m AvWR/ZL6P+9w== X-IronPort-AV: E=McAfee;i="6000,8403,9871"; a="179551253" X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="179551253" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 21 Jan 2021 23:07:05 -0800 IronPort-SDR: 4JXmY1s23DyJfo1LWJnHmyvFv87YhXx2XobGhnDeOQ8dR1uRdn3NCZQSHR9LEYZI2P2pB5hJsW PThLSQNYgrWQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,366,1602572400"; d="scan'208";a="351739090" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by orsmga003.jf.intel.com with ESMTP; 21 Jan 2021 23:07:03 -0800 Received: from shsmsx602.ccr.corp.intel.com (10.109.6.142) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Thu, 21 Jan 2021 23:07:01 -0800 Received: from shsmsx603.ccr.corp.intel.com (10.109.6.143) by SHSMSX602.ccr.corp.intel.com (10.109.6.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 22 Jan 2021 15:06:59 +0800 Received: from shsmsx603.ccr.corp.intel.com ([10.109.6.143]) by SHSMSX603.ccr.corp.intel.com ([10.109.6.143]) with mapi id 15.01.1713.004; Fri, 22 Jan 2021 15:06:59 +0800 From: "Yu, DapengX" To: "Guo, Jia" , "Wang, Haiyue" , "Yang, Qiming" CC: "dev@dpdk.org" , "stable@dpdk.org" Thread-Topic: [PATCH] net/ixgbe: disable NFS filtering Thread-Index: AQHW7w5yd14w3mIR5kWqB5KrwP78waoynBmAgACRd9A= Date: Fri, 22 Jan 2021 07:06:58 +0000 Message-ID: <170777480f71434fb2c7a1ee8421dc31@intel.com> References: <20210120092700.105207-1-dapengx.yu@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-stable] [PATCH] net/ixgbe: disable NFS filtering X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi Jia, The change in commit:b826efba6de4 does follow the x540 datasheet, but is no= t consistent with the latest ixgbe kernel driver(v5.10.2).=20 In ixgbe_main.c(kernel driver), there are the following code, without any p= recondition. I think the author think NFS packet shall not be filtered in a= ny condition. /** * ixgbe_configure_rx - Configure 8259x Receive Unit after Reset * @adapter: board private structure * * Configure the Rx unit of the MAC after a reset. **/ static void ixgbe_configure_rx(struct ixgbe_adapter *adapter) { ... /* RSC Setup */ rfctl =3D IXGBE_READ_REG(hw, IXGBE_RFCTL); rfctl &=3D ~IXGBE_RFCTL_RSC_DIS; if (!(adapter->flags2 & IXGBE_FLAG2_RSC_ENABLED)) rfctl |=3D IXGBE_RFCTL_RSC_DIS; /* disable NFS filtering */ rfctl |=3D (IXGBE_RFCTL_NFSW_DIS | IXGBE_RFCTL_NFSR_DIS); IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl); ... } I cannot find the complete modification history of these code lines in kern= el driver. But these line is introduced in ixgbe 4.5.4(2016-12-13), and nev= er changed later.=20 I bring this change because NFS packet will be filtered without it, the res= ult is that all NFS packets flow into queue0, before RSS can work on it. Thanks for your suggestions on this patch, I will submit patch v2 to includ= e them. -----Original Message----- From: Guo, Jia=20 Sent: Friday, January 22, 2021 1:34 PM To: Yu, DapengX ; Wang, Haiyue ; Yang, Qiming Cc: dev@dpdk.org; Yu, DapengX ; stable@dpdk.org Subject: RE: [PATCH] net/ixgbe: disable NFS filtering Hi, dapeng > -----Original Message----- > From: dapengx.yu@intel.com > Sent: Wednesday, January 20, 2021 5:27 PM > To: Guo, Jia ; Wang, Haiyue=20 > ; Yang, Qiming > Cc: dev@dpdk.org; Yu, DapengX ; stable@dpdk.org > Subject: [PATCH] net/ixgbe: disable NFS filtering >=20 > From: Dapeng Yu >=20 > Disable NFS header filtering whether NFS packets coalescing are=20 > required or not. >=20 > This behavior is aligned with ixgbe kernel driver. >=20 > Fixes: b826efba6de4 ("net/ixgbe: align register setting when RSC is=20 > disabled") I suggest to add one more fix line which related with the patch, since belo= w patch is what you most change the behaviors. the Fixes: 8eecb3295aed ("ixgbe: add LRO support ") And I saw prior fixed patch are also said it would flow the datasheet, coul= d you explain why you bring this change? Is it anything change about that i= n kernel driver prior with currently? > Cc: stable@dpdk.org >=20 > Signed-off-by: Dapeng Yu > --- > drivers/net/ixgbe/ixgbe_rxtx.c | 10 +++------- > 1 file changed, 3 insertions(+), 7 deletions(-) >=20 > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.c=20 > b/drivers/net/ixgbe/ixgbe_rxtx.c index cc8f70e6d..3fb55c675 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 =3D 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 &=3D ~(IXGBE_RFCTL_RSC_DIS | IXGBE_RFCTL_NFSW_DIS > | > - IXGBE_RFCTL_NFSR_DIS); > + rfctl &=3D ~IXGBE_RFCTL_RSC_DIS; > else > rfctl |=3D IXGBE_RFCTL_RSC_DIS; > + /* disable NFS filtering */ > + rfctl |=3D (IXGBE_RFCTL_NFSW_DIS | IXGBE_RFCTL_NFSR_DIS); I thinks the "()" is no need, right? > IXGBE_WRITE_REG(hw, IXGBE_RFCTL, rfctl); >=20 > /* If LRO hasn't been requested - we are done here. */ > -- > 2.27.0