From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id EB7341B1B0 for ; Tue, 9 Jan 2018 16:28:09 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Jan 2018 07:28:08 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,336,1511856000"; d="scan'208";a="25765904" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga002.jf.intel.com with ESMTP; 09 Jan 2018 07:28:06 -0800 Received: from fmsmsx115.amr.corp.intel.com (10.18.116.19) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 9 Jan 2018 07:28:07 -0800 Received: from shsmsx104.ccr.corp.intel.com (10.239.4.70) by fmsmsx115.amr.corp.intel.com (10.18.116.19) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 9 Jan 2018 07:28:07 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX104.ccr.corp.intel.com ([169.254.5.152]) with mapi id 14.03.0319.002; Tue, 9 Jan 2018 23:28:05 +0800 From: "Zhang, Helin" To: "Xing, Beilei" , "Rybalchenko, Kirill" , "dev@dpdk.org" CC: "Rybalchenko, Kirill" Thread-Topic: [dpdk-dev] [PATCH v2] net/i40e: do not turn on flexible payload on driver init Thread-Index: AQHThYPmf8Ck8J4J5kWbp4phUJFMkqNpeR0ggAI4WMA= Date: Tue, 9 Jan 2018 15:28:04 +0000 Message-ID: References: <1512142049-122930-1-git-send-email-kirill.rybalchenko@intel.com> <1515087906-2893-1-git-send-email-kirill.rybalchenko@intel.com> <94479800C636CB44BD422CB454846E01320884DD@SHSMSX101.ccr.corp.intel.com> In-Reply-To: <94479800C636CB44BD422CB454846E01320884DD@SHSMSX101.ccr.corp.intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: do not turn on flexible payload on driver init 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: , X-List-Received-Date: Tue, 09 Jan 2018 15:28:10 -0000 > -----Original Message----- > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Xing, Beilei > Sent: Monday, January 8, 2018 1:42 PM > To: Rybalchenko, Kirill; dev@dpdk.org > Cc: Rybalchenko, Kirill; Chilikin, Andrey; Wu, Jingjing > Subject: Re: [dpdk-dev] [PATCH v2] net/i40e: do not turn on flexible payl= oad on > driver init >=20 >=20 >=20 > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Kirill > > Rybalchenko > > Sent: Friday, January 5, 2018 1:45 AM > > To: dev@dpdk.org > > Cc: Rybalchenko, Kirill ; Chilikin, > > Andrey ; Xing, Beilei > > ; Wu, Jingjing > > Subject: [dpdk-dev] [PATCH v2] net/i40e: do not turn on flexible > > payload on driver init > > > > Function i40e_GLQF_reg_init() overwrites global register for flexible > > payload, forcing extraction of first 16 bytes of > > L2/L3/L4 payload to the field vector even if flexible payload is not > > used by an application. Such unconditional turn on of flexible payload > > effectively disables ability to use outer IP Destination address for > > RSS/FDIR for tunnelled packets, as flexible payload overwrites outer > > IP destination address on the field vector. > > > > Now flexible payload turned on only when flow director is enabled and > > configured. > > > > v1: > > Global registers will be set only when payload is enabled. > > They will be reset if payload is disabled or on port reset (uninit). > > > > v2: > > dev_init and dev_close disable flexible payload by default. > > Flexible payload enabled selectively, only if appropriate PIT is set > > up. The same done for FDIR and for rte_flow API. > > > > Signed-off-by: Kirill Rybalchenko > > --- > > drivers/net/i40e/i40e_ethdev.c | 29 ++++++++++++++++++----------- > > drivers/net/i40e/i40e_ethdev.h | 1 + > > drivers/net/i40e/i40e_fdir.c | 14 +++++++++++--- > > drivers/net/i40e/i40e_flow.c | 9 ++++++++- > > 4 files changed, 38 insertions(+), 15 deletions(-) > > > > diff --git a/drivers/net/i40e/i40e_ethdev.c > > b/drivers/net/i40e/i40e_ethdev.c index 811cc9f..b136120 100644 > > --- a/drivers/net/i40e/i40e_ethdev.c > > +++ b/drivers/net/i40e/i40e_ethdev.c > > @@ -701,17 +701,6 @@ RTE_PMD_REGISTER_KMOD_DEP(net_i40e, "* > igb_uio | > > uio_pci_generic | vfio-pci"); static inline void > > i40e_GLQF_reg_init(struct i40e_hw *hw) { > > /* > > - * Force global configuration for flexible payload > > - * to the first 16 bytes of the corresponding L2/L3/L4 paylod. > > - * This should be removed from code once proper > > - * configuration API is added to avoid configuration conflicts > > - * between ports of the same device. > > - */ > > - I40E_WRITE_REG(hw, I40E_GLQF_ORT(33), 0x000000E0); > > - I40E_WRITE_REG(hw, I40E_GLQF_ORT(34), 0x000000E3); > > - I40E_WRITE_REG(hw, I40E_GLQF_ORT(35), 0x000000E6); > > - >=20 > Please also help to change the comment in eth_i40e_dev_init where > i40e_GLQF_reg_init is involved, since this workaround is removed. >=20 > Apart from that, > Acked-by: Beilei Xing Applied to dpdk-next-net-intel, with minor commit log and annotation change= s. Thanks! /Helin