From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [RFC PATCH 2/4] ethdev: introduce Rx queue offloads API Date: Wed, 23 Aug 2017 23:48:06 +0200 Message-ID: <2894761.WIdkp7yuM2@xps> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org To: Shahaf Shuler Return-path: Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by dpdk.org (Postfix) with ESMTP id F39737D57 for ; Wed, 23 Aug 2017 23:48:07 +0200 (CEST) In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 07/08/2017 12:54, Shahaf Shuler: > Introduce a new API to configure Rx offloads. > > The new API will re-use existing DEV_RX_OFFLOAD_* flags > to enable the different offloads. This will ease the process > of adding a new Rx offloads, as no ABI breakage is involved. > In addition, the offload configuration can be done per queue, > instead of per port. > > The Rx queue offload API can be used only with devices which advertize > the RTE_ETH_DEV_RXQ_OFFLOAD capability. > > The old Rx offloads API is kept for the meanwhile, in order to enable a > smooth transition for PMDs and application to the new API. > > Signed-off-by: Shahaf Shuler [...] > --- a/lib/librte_ether/rte_ethdev.h > +++ b/lib/librte_ether/rte_ethdev.h > @@ -357,7 +357,14 @@ struct rte_eth_rxmode { > jumbo_frame : 1, /**< Jumbo Frame Receipt enable. */ > hw_strip_crc : 1, /**< Enable CRC stripping by hardware. */ > enable_scatter : 1, /**< Enable scatter packets rx handler */ > - enable_lro : 1; /**< Enable LRO */ > + enable_lro : 1, /**< Enable LRO */ > + ignore : 1; > + /** > + * When set the rxmode offloads should be ignored, > + * instead the Rx offloads will be set on rte_eth_rxq_conf. > + * This bit is temporary till rxmode Rx offloads API will > + * be deprecated. > + */ Who is responsible to set the "ignore" flag? Should it be documented in queue config functions? > +/** Device supports the rte_eth_rxq_conf offloads API */ > +#define RTE_ETH_DEV_RXQ_OFFLOAD 0x0010 Otherwise, looks good