From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0A26AA09D9; Wed, 11 Nov 2020 17:11:15 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E0547593A; Wed, 11 Nov 2020 17:11:13 +0100 (CET) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 1D36A593A for ; Wed, 11 Nov 2020 17:11:10 +0100 (CET) IronPort-SDR: xpwTlJuEIdVTUAxDHF/Nn0kmSsbKvGLUII8bI6PBb/JjD33wbNQPh8eOAJ2dCDj+MgLm3OcGyL y+RiswJnvDJA== X-IronPort-AV: E=McAfee;i="6000,8403,9802"; a="188151643" X-IronPort-AV: E=Sophos;i="5.77,469,1596524400"; d="scan'208";a="188151643" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2020 08:11:10 -0800 IronPort-SDR: 8FyF0yTECPSFzG+Afu0O8pZxvmHGqQRh1H+CT3uxruPuNLycrQJsFQ9QCmNPHukd2m5l9iYxGC SMEjVGGuwkCA== X-IronPort-AV: E=Sophos;i="5.77,469,1596524400"; d="scan'208";a="473905050" Received: from fyigit-mobl1.ger.corp.intel.com (HELO [10.213.241.123]) ([10.213.241.123]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Nov 2020 08:11:09 -0800 To: Jiawen Wu , dev@dpdk.org References: <20201111064936.768604-1-jiawenwu@trustnetic.com> <20201111064936.768604-24-jiawenwu@trustnetic.com> From: Ferruh Yigit Message-ID: Date: Wed, 11 Nov 2020 16:11:05 +0000 MIME-Version: 1.0 In-Reply-To: <20201111064936.768604-24-jiawenwu@trustnetic.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v2 23/37] net/txgbe: add flow API create function 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On 11/11/2020 6:49 AM, Jiawen Wu wrote: > Add support to create operation for flow API. > > Signed-off-by: Jiawen Wu > --- > drivers/net/txgbe/txgbe_ethdev.h | 2 + > drivers/net/txgbe/txgbe_fdir.c | 27 ++++ > drivers/net/txgbe/txgbe_flow.c | 257 +++++++++++++++++++++++++++++++ > 3 files changed, 286 insertions(+) > > diff --git a/drivers/net/txgbe/txgbe_ethdev.h b/drivers/net/txgbe/txgbe_ethdev.h > index a0a452c1a..a0a18d254 100644 > --- a/drivers/net/txgbe/txgbe_ethdev.h > +++ b/drivers/net/txgbe/txgbe_ethdev.h > @@ -464,6 +464,8 @@ void txgbe_set_ivar_map(struct txgbe_hw *hw, int8_t direction, > */ > int txgbe_fdir_configure(struct rte_eth_dev *dev); > int txgbe_fdir_set_input_mask(struct rte_eth_dev *dev); > +int txgbe_fdir_set_flexbytes_offset(struct rte_eth_dev *dev, > + uint16_t offset); > int txgbe_fdir_filter_program(struct rte_eth_dev *dev, > struct txgbe_fdir_rule *rule, > bool del, bool update); > diff --git a/drivers/net/txgbe/txgbe_fdir.c b/drivers/net/txgbe/txgbe_fdir.c > index 2faf7fd84..2342cf681 100644 > --- a/drivers/net/txgbe/txgbe_fdir.c > +++ b/drivers/net/txgbe/txgbe_fdir.c > @@ -270,6 +270,33 @@ txgbe_fdir_store_input_mask(struct rte_eth_dev *dev) > return 0; > } > > +int > +txgbe_fdir_set_flexbytes_offset(struct rte_eth_dev *dev, > + uint16_t offset) > +{ > + struct txgbe_hw *hw = TXGBE_DEV_HW(dev); > + int i; > + > + for (i = 0; i < 64; i++) { > + uint32_t flexreg, flex; > + flexreg = rd32(hw, TXGBE_FDIRFLEXCFG(i / 4)); > + flex = TXGBE_FDIRFLEXCFG_BASE_MAC; > + flex |= TXGBE_FDIRFLEXCFG_OFST(offset / 2); > + flexreg &= ~(TXGBE_FDIRFLEXCFG_ALL(~0UL, i % 4)); > + flexreg |= TXGBE_FDIRFLEXCFG_ALL(flex, i % 4); > + wr32(hw, TXGBE_FDIRFLEXCFG(i / 4), flexreg); > + } > + > + txgbe_flush(hw); > + for (i = 0; i < TXGBE_FDIR_INIT_DONE_POLL; i++) { > + if (rd32(hw, TXGBE_FDIRCTL) & > + TXGBE_FDIRCTL_INITDONE) > + break; > + msec_delay(1); > + } > + return 0; > +} > + Is this funtions should be added in the fdir patch? Or when filter added together with rte_flow validate/create pieces, this won't be a problem anymore I guess.