From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-f170.google.com (mail-pf0-f170.google.com [209.85.192.170]) by dpdk.org (Postfix) with ESMTP id 114A92C38 for ; Sun, 10 Dec 2017 06:52:13 +0100 (CET) Received: by mail-pf0-f170.google.com with SMTP id e3so9469057pfi.10 for ; Sat, 09 Dec 2017 21:52:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Mz397lhVjA0IWdspSa2+M/cDMYezikHIxMVFhfCNMcU=; b=mspsGIRl9DBcAONMl1vJsKevq8v5UQ8AR0heoMZBH0CkTppl72CBZELxTeQdeVuHb2 i7E2aqrnmCGvRUetW2SaETNSBBoFdtQjsA/aU9j51YAaf4C+VUoyJtftZeWyhF777tON 96tAJxXMTqJMyigbGznavBxLb81m4u7Z6jHsQtokD2LBM5i0fJKHuryBgT4w79Ym7oVN RTPAN1SBCzmNwn0FHPiPbRjhlboJOyi9QL0pAllOMHnUCgKss6TKhjddFpdW7BbpdVay d8C7737GR/DhfFFRggI2A3Jmfr11wbwuRPKRQgouEavMhj2tsao1cecTeYysqmokbk6L k6Sw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Mz397lhVjA0IWdspSa2+M/cDMYezikHIxMVFhfCNMcU=; b=kux/H7RejQRLQ63krVsVxt4oC8AkaNQ7xibcRvyoxu3c+KckRlkKbHJ9ymL1D+REKT n1K7HhMwiDIGmNrhEnZKhcqncEYYyn+96ea7LkF4g9PF79WgM/GTm5TqnwFheC8dhd5r 7gGeZMIQ6gmnf96M3OfLU1RCpVjxv0TG1Y5HhNjXgaL5sdh0LX//qydOsZ0Mb0ptDzDs 7PU1tZx7WoZt7EwmYSPArw483pysmYibm4bXcNfdC3xXT46tm7aIAa/An0Y3kH/UPfVW ViaJj+k0Bdps/mM4XTGLSgSaKKecU36JIa14ofRjU0QJVlNfVSHjKGkY1gY8PgoVM8kJ QBsg== X-Gm-Message-State: AJaThX7nwdRXGERDyWVNQQsN27LXcRVLDI6ww3kVbsp1z+2hn/anpYIm 5FUQiwMgmxoVpk9V2fSgP7u7iw== X-Google-Smtp-Source: AGs4zMalviCXWsazJL5EebYn/hxdDsAkiQwgNGN2Yr+olZST1mYE8cLzB3xlqZQPg2ZzkmxylC9LRw== X-Received: by 10.99.54.70 with SMTP id d67mr35395480pga.52.1512885133071; Sat, 09 Dec 2017 21:52:13 -0800 (PST) Received: from xeon-e3 (76-14-207-240.or.wavecable.com. [76.14.207.240]) by smtp.gmail.com with ESMTPSA id x15sm18050555pfh.27.2017.12.09.21.52.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 09 Dec 2017 21:52:13 -0800 (PST) Date: Sat, 9 Dec 2017 21:52:11 -0800 From: Stephen Hemminger To: Shahaf Shuler Cc: "dev@dpdk.org" Message-ID: <20171209215211.4374b057@xeon-e3> In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit 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 05:52:14 -0000 On Sun, 10 Dec 2017 05:35:45 +0000 Shahaf Shuler wrote: > 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: > > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdpdk.org%2Fdoc%2Fguides%2Fprog_guide%2Fpoll_mode_drv.html%23hardware-offload&data=02%7C01%7Cshahafs%40mellanox.com%7Cc365451c3f934b73db5e08d53f6fe6fd%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636484672216209911&sdata=l0OkZ8m78BMsw%2F0d7bA8m80gVqlSL%2Bpcs9UplVSmlOA%3D&reserved=0 > > > > As announced in the deprecation notice, the old API is planned to be removed in 18.05: > > https://emea01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdpdk.org%2Fdoc%2Fguides%2Frel_notes%2Fdeprecation.html&data=02%7C01%7Cshahafs%40mellanox.com%7Cc365451c3f934b73db5e08d53f6fe6fd%7Ca652971c7d2e4d9ba6a4d149256f461b%7C0%7C0%7C636484672216209911&sdata=85wB%2BoU3um%2BXegYiLAJIDYWIkvpb9WQtPSgA73zsLHI%3D&reserved=0 > > 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 and 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 (Done by application) > > - 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] > > > > * 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 and per queue rte_eth_txconf.offloads using DEV_TX_OFFLOAD_* > > - Transition: ETH_TXQ_FLAGS_IGNORE must be set when using the new API (Done by application) > > PMD should ignore port offloads not set on the device configuration when using old API > > - To be removed: rte_eth_txconf.txq_flags and ETH_TXQ_FLAGS_NO* > > > --Shahaf > I agree with this change. but how can it be done with out breaking ABI?