From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id B61B629C8 for ; Sun, 10 Dec 2017 12:23:02 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id DC4BD20A49; Sun, 10 Dec 2017 06:23:01 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute1.internal (MEProxy); Sun, 10 Dec 2017 06:23:01 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=mesmtp; bh=jpfetp9NJSaIBMfyl3ggIXXZmt +6akRdkGXn9FP3oKk=; b=jm+8Q/zG8Wkb0mOaUZGkRtBq0Ow0lFpZ/zxc6jUtk6 uq+njl8c6GrFnqHjxasjAxDJFIlAVuhmTzU+0+/UK8mT0ZmQz+IC1NsD/y6U3tlX LIgor2kvn955LQmQ7TpNmFS2ga/GeblLInckzw/TvqaPj+EP1xTnVKg5PKyNvqnv 0= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; bh=jpfetp 9NJSaIBMfyl3ggIXXZmt+6akRdkGXn9FP3oKk=; b=Z7p6WMkG3HcXCm2uyKLsWo viaQwjD5clq88oKyRc0xu8yPbt6Vxn2bwbLc8Nxx9MifTf/oH02jTVhmjeNbPD9e 6yipMyzCEUrpiIb5fTB3kfS94G8wMyeP6/LRldMA5/DFCHhdl/vp7OlpWDdi814t 8eR3zJzUBwoFIACd9c/qzX8OACo2pvXp7EFuI8D+lBO5DNLm4cWiwGZ5LrzjuKZ3 uObsOu/YkO1E4gjauPNkM/VzgREm8l83EJI7bwEbSlRYi8/1lwiWXTMeQeiRa3e3 DPVA5LH0o4TsRI8FFp91Fw0Quc9eVV+aWEzFGJh348D03Xcv8pYbdETDQ0suCWXw == X-ME-Sender: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 6C4657FB25; Sun, 10 Dec 2017 06:23:01 -0500 (EST) From: Thomas Monjalon To: Declan Doherty , "John W. Linville" , Michal Krawczyk , John Miller , Ajit Khaparde , Jerin Jacob , Shijith Thotton , Santosh Shukla , Rahul Lakkireddy , John Daley , Wenzhuo Lu , Konstantin Ananyev , Jingjing Wu , Beilei Xing , Xiao Wang , Qi Zhang , Jacek Siuda , Tomasz Duszynski , Matej Vido , Alejandro Lucero , Hemant Agrawal , Shreyansh Jain , Harish Patil , Rasesh Mody , Andrew Rybchenko , Shrikrishna Khare , Yuanhan Liu , Maxime Coquelin , Allain Legacy , Pascal Mazon , Gaetan Rivet , Jasvinder Singh Cc: dev@dpdk.org, Shahaf Shuler , Ferruh Yigit Date: Sun, 10 Dec 2017 12:23:00 +0100 Message-ID: <4158698.5h2FNjY7kv@xps> In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] Guidelines for moving PMDs to new ethdev offloads API 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: Sun, 10 Dec 2017 11:23:03 -0000 Hi, Re-sending Shahaf's email to maintainers (and without Outlook formatting) Please, maintainers of networking PMD, *start the transition work as soon as possible*. We will ping you individually if no progress is seen. Thank you --- In 17.11 the ethdev offloads API has changed: commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") The new API is documented in the programmer's guide: http://dpdk.org/doc/guides/prog_guide/poll_mode_drv.html#hardware-offload As announced in the deprecation notice, the old API is planned to be removed in 18.05: http://dpdk.org/doc/guides/rel_notes/deprecation.html As agreed, all the PMDs must be converted to the new API by their maintainers. This email will better explain the transition process. The main concepts in the new API are: - All offloads are disabled by default - Distinction between per port and per queue offloads. Per port offloads needs to be set also for each queue of the port. The transition period is using an API translation in rte_ethdev.c: - The old API is translated to allow using converted PMDs - The new API is translated to allow using not converted PMDs - The use of the new API is flagged to trigger the right translation * Device capabilities - rte_eth_dev_info_get() - Not changing: use DEV_RX/TX_OFFLOAD_* flags - Old API: per-port fields rte_eth_dev_info.rx/tx_offload_capa - New API: added per-queue rte_eth_dev_info.rx/tx_queue_offload_capa * Rx offloads - Not changing: offload disabled by default - Old API: per-port rte_eth_conf.rxmode.[bit-fields] - New API: per-port rte_eth_conf.rxmode.offloads using DEV_RX_OFFLOAD_* per-queue rte_eth_rxconf.offloads using DEV_RX_OFFLOAD_* - Transition: rte_eth_conf.rxmode.ignore_offload_bitfield must be set when using the new API - To be removed: rte_eth_conf.rxmode.[ header_split, hw_ip_checksum, hw_vlan_filter, hw_vlan_strip, hw_vlan_extend, jumbo_frame, hw_strip_crc, enable_scatter, enable_lro, hw_timestamp, security, ignore_offload_bitfield] * Tx offloads - Old API: enabled by default per-queue rte_eth_txconf.txq_flags using ETH_TXQ_FLAGS_NO* - New API: disabled by default per-port rte_eth_conf.txmode.offloads using DEV_TX_OFFLOAD_* per-queue rte_eth_txconf.offloads using DEV_TX_OFFLOAD_* - Transition: ETH_TXQ_FLAGS_IGNORE must be set when using the new API PMD ignores per-port mismatch when using old per-queue API - To be removed: rte_eth_txconf.txq_flags and ETH_TXQ_FLAGS_*