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 B9640A317C for ; Thu, 17 Oct 2019 19:43:46 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DF99B1E9A7; Thu, 17 Oct 2019 19:43:44 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id 2C2AD1E95E for ; Thu, 17 Oct 2019 19:43:42 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Oct 2019 10:43:42 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,308,1566889200"; d="scan'208";a="199439238" Received: from fyigit-mobl.ger.corp.intel.com (HELO [10.237.221.10]) ([10.237.221.10]) by orsmga003.jf.intel.com with ESMTP; 17 Oct 2019 10:43:40 -0700 To: pbhagavatula@marvell.com, arybchenko@solarflare.com, jerinj@marvell.com Cc: dev@dpdk.org, Adrien Mazarguil , Thomas Monjalon , Xiaolong Ye References: <20191010105130.3382-1-pbhagavatula@marvell.com> <20191017120245.984-1-pbhagavatula@marvell.com> From: Ferruh Yigit Openpgp: preference=signencrypt Autocrypt: addr=ferruh.yigit@intel.com; prefer-encrypt=mutual; keydata= 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 cA== Message-ID: <868c4186-a899-3974-ce1a-9d0d395b2f81@intel.com> Date: Thu, 17 Oct 2019 18:43:39 +0100 MIME-Version: 1.0 In-Reply-To: <20191017120245.984-1-pbhagavatula@marvell.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 8bit Subject: Re: [dpdk-dev] [PATCH v12 0/7] ethdev: add new Rx offload flags 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 10/17/2019 1:02 PM, pbhagavatula@marvell.com wrote: > From: Pavan Nikhilesh > > Add new Rx offload flags `DEV_RX_OFFLOAD_RSS_HASH` and > `DEV_RX_OFFLOAD_FLOW_MARK`. These flags can be used to > enable/disable PMD writes to rte_mbuf fields `hash.rss` and `hash.fdir.hi` > and also `ol_flags:PKT_RX_RSS` and `ol_flags:PKT_RX_FDIR`. Hi Pavan, Initially sorry for involving late, When we expose an interface to the applications, they will expect those will be respected by underlying PMDs. As far as I can see drivers are updated to report new added Rx offload flags as supported capabilities but drivers are not using those flags at all, so application providing that flag won't really enable/disable anything, I think this is a problem and it is wrong to lie even for the PMDs J Specific to `DEV_RX_OFFLOAD_RSS_HASH`, we have already some RSS config structures and it is part of the 'rte_eth_dev_configure()' API, won't it create multiple way to do same thing? And for the `ol_flags:PKT_RX_RSS` flag, it was already used to mark that 'mbuf::hash::rss' is valid, right? Is there anything new related that in the set? Specific to the `DEV_RX_OFFLOAD_FLOW_MARK` and `RTE_FLOW_ACTION_FLAG`, they are rte_flow actions, application can verify and later request these actions via rte_flow APIs. Why we are adding an additional RX_OFFLOAD flag for them? > > Add new packet type set function `rte_eth_dev_set_supported_ptypes`, > allows application to inform PMDs about the packet types it is interested > in. Based on ptypes requested by application PMDs can optimize the Rx path. OK to the API, but why "Packet type parsing" feature updated to say it should implement this API? Is this API really required to say "Packet type parsing" supported by PMD? > > For example, if a given PMD doesn't support any packet types that the > application is interested in then the application can disable[1] writes to > `mbuf.packet_type` done by the PMD and use a software ptype parser. > [1] rte_eth_dev_set_supported_ptypes(*port_id*, RTE_PTYPE_UNKNOWN, > NULL, 0); And for the 7/7 patch, why we are updating all examples, is the API something do we really need to call for any DPDK application? I am for leaving the default behavior unless there is a very specific case for set or disable packet typing. Instead implement a command in testpmd to test this feature. > > v12 Changes: > ----------- > - Rebase onto next-net. > > v11 Changes: > ----------- > - Use RTE_DIM to get array size. > - Since we are using a list of MASKs to validate ptype_mask return -EINVAL > if any unknown mask is set. > - Rebase to TOT. > > v10 Changes: > ----------- > - Modify ptype_mask validation in set_supported_ptypes.(Andrew) > > v9 Changes: > ---------- > - Add ptype_mask validation in set_supported_ptypes.(Andrew) > - Make description more verbose. > > v8 Changes: > ---------- > - Make description more verbose. > - Set RTE_PTYPE_UNKNOWN in set_ptypes array when either get ot set ptypes > is not supported by ethernet device. > > v7 Changes: > ---------- > - Fix unused variable in net/octeontx2 > > v6 Changes: > ---------- > - Add additional checks for set supported ptypes.(Andrew) > - Clarify `rte_eth_dev_set_supported_ptypes` documentation. > - Remove DEV_RX_OFFLOAD_FLOW_MARK emulation from net/octeontx2. > > v5 Changes: > ---------- > - Fix typos. > > v4 Changes: > ---------- > - Set the last element in set_ptype array as RTE_PTYPE_UNKNOWN to mark the end > of array. > - Fix invalid set ptype function call in examples. > - Remove setting rte_eth_dev_set_supported_ptypes to UNKNOWN in l3fwd-power. > > v3 Changes: > ---------- > - Add missing release notes. (Andrew) > - Re-word various descriptions. > - Fix ptype set logic. > > v2 Changes: > ---------- > - Update release notes. (Andrew) > - Redo commit logs. (Andrew) > - Disable ptype parsing for unsupported examples. (Jerin) > - Disable RSS write only in generic mode eventdev_pipeline. (Jerin) > - Modify set_supported_ptypes function to return successfuly set mask > instead of failure. > - Dropped set_supported_ptypes to drivers by handling in library > layer, interested PMD can add it in. > > Pavan Nikhilesh (7): > ethdev: add set ptype function > ethdev: add mbuf RSS update as an offload > ethdev: add flow action type update as an offload > drivers/net: update Rx RSS hash offload capabilities > drivers/net: update Rx flow flag and mark capabilities > examples/eventdev_pipeline: add new Rx RSS hash offload > examples: disable Rx packet type parsing <...>