From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f42.google.com (mail-pa0-f42.google.com [209.85.220.42]) by dpdk.org (Postfix) with ESMTP id 73D265934 for ; Fri, 14 Oct 2016 19:29:32 +0200 (CEST) Received: by mail-pa0-f42.google.com with SMTP id vu5so48639651pab.0 for ; Fri, 14 Oct 2016 10:29:32 -0700 (PDT) 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=gz0HDyRTWdTdvuzBGzjTOFyZjvNXl0GgnxnvafaNVN0=; b=m+VqbRwJF4am6c2aazSI5yeTgJcWXjdKcmt8L5bzdA8oAsSvOB1zonyOkjVi+dNMtP wBTLsCNsg89vLLwRbBxlmpSDRwC+UqGtgjmcg1PD7N9dQM2hMF2+roLYvoXnU5zn+o9q 16wcUsVsRAxgt41bMSft+mzMkppHTF7rYWh61E57TBOiKxT7ub2Xp06YGm/TFbuCOwyt qOeDMI0zvzItVmh1DSfMRIs5yezq524YTjuqIJ287adM7CFC4LLhYVlHIqTLKqxZAnS0 25MgNPEo3hYqFQ1HZh1YBkyCh8YsJx8W8SvfiFQRJqbU2PNFLT76tfvDvWJ/JYEmJsEd VUUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=gz0HDyRTWdTdvuzBGzjTOFyZjvNXl0GgnxnvafaNVN0=; b=QP2tUMP+TRinBUgojCRMtUzX7DMUx8qmg6YLiTvSdWp0uMU8KIbpzIaxgw/kbwr2F9 E8ecMk0sF+RTHd0358ubhcOYTpygI+XfG3yvQolv6hRDnsN4SSE85pZtm/VOORqQ+esS PfrXeQS7Ign3f7dIe+oMcFcf0wUT882tlezjLuZDyTsGtiJLRNgPJUPQFwJu8l2MmyHs 2KCUroCilc459soljSkyrREHGOU+zMGDMuIKzHO5rwmJivapMIqsngRFOtcejrhT6Rw6 13tkGeMXLzLdFyvgIy6lxgC201LvgTmN6RbdatwmzwkRI9NEdProBvbnxlpKG3NVlXsd UUvA== X-Gm-Message-State: AA6/9RlwzyTRIbWXa6iTxJrHbFyGIUJ07AlNse2VDPNK305ezQkrE3KNOgSxfm4GtjuBRg== X-Received: by 10.66.193.71 with SMTP id hm7mr16880217pac.164.1476466171588; Fri, 14 Oct 2016 10:29:31 -0700 (PDT) Received: from xeon-e3 (static-50-53-69-251.bvtn.or.frontiernet.net. [50.53.69.251]) by smtp.gmail.com with ESMTPSA id oo10sm25627941pac.12.2016.10.14.10.29.31 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 14 Oct 2016 10:29:31 -0700 (PDT) Date: Fri, 14 Oct 2016 10:29:45 -0700 From: Stephen Hemminger To: "O'Driscoll, Tim" Cc: "dev@dpdk.org" Message-ID: <20161014102945.641b866e@xeon-e3> In-Reply-To: <26FA93C7ED1EAA44AB77D62FBE1D27BA675F11C5@IRSMSX108.ger.corp.intel.com> References: <26FA93C7ED1EAA44AB77D62FBE1D27BA675F11C5@IRSMSX108.ger.corp.intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] 17.02 Roadmap X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 14 Oct 2016 17:29:32 -0000 On Mon, 10 Oct 2016 16:13:42 +0000 "O'Driscoll, Tim" wrote: > We published our initial roadmap for 17.02 at the end of August. Since then we've been doing more detailed planning and would like to provide an update on the features that we plan to submit for this release. This is our current plan, which should hopefully remain fairly stable now: > > Consistent Filter API: Add support for the Consistent Filter API (see http://dpdk.org/ml/archives/dev/2016-September/047924.html) for IGB, IXGBE and I40E. > > Elastic Flow Distributor: The Elastic Flow Distributor (EFD) is a flow-based load balancing library which scales linearly for both lookup and insert with the number of threads or cores. EFD lookup uses a "perfect hashing" scheme where only the information needed to compute a key's value (and not the key itself) is stored in the lookup table, thus reducing CPU cache storage requirements. > > Extended Stats (Latency and Bit Rate Statistics): Enhance the Extended NIC Stats (Xstats) implementation to support the collection and reporting of latency and bit rate measurements. Latency statistics will include min, max and average latency, and jitter. Bit rate statistics will include peak and average bit rate aggregated over a user-defined time period. This will be implemented for IXGBE and I40E. > > Run-Time Configuration of Packet Type (PTYPE) for I40E: At the moment all packet types in DPDK are statically defined. This makes impossible to add new values without first defining them statically and then recompiling DPDK. The ability to configure packet types at run time will be added for I40E. > > Packet Distributor Enhancements: Enhancements will be made to the Packet Distributor library to improve performance: > 1. Introduce burst functionality to allow batches of packets to be sent to workers. > 2. Improve the performance of the flow/core affinity through the use of SSE/AVX instructions. > > Add MACsec for IXGBE: MACsec support will be added for IXGBE. Ethdev API primitives will be added to create/delete/enable/disable SC/SA, Next_PN etc. similar to those used in Linux for the macsec_ops. Sample apps (l3fwd, testpmd, etc.) will be updated to support MACsec for the IXGBE. > > Enhance AESNI_GCM PMD: The current AESNI_GCM PMD is limited to AES-128 and does not support other features such as "any AAD length value". It will be updated to use a newer GCM implementation supporting AES128/192/256 and other features. > > Create Crypto Performance Test App: A new app, similar to testpmd, will be created to allow crypto performance to be tested using any crypto PMD and any supported crypto algorithm. > > Enable Cipher-Only and Hash-Only Support in AESNI_MB PMD: Support will be added for cipher-only and hash-only operations in the AESNI_MB PMD. > > Support Chained Mbufs in Cryptodev: Currently, an application using the cryptodev API needs to reserve a continuous block of memory for mbufs. Support will be added for chaining of mbufs in both the QAT and SW PMDs supported by cryptodev. > > Optimize Vhost-User Performance for Large Packets: A new memory copy function optimized for core-to-core memory copy which will be added. This will be beneficial for virtualization cases involving large packets, but it can be used for other core-to-core cases as well. > > Support New Device Types in Vhost-User: Support will be added to vhost-user for new device types including vhost-scsi and vhost-blk. > > Interrupt Mode Support in Virtio PMD: Support for interrupt mode will be added to the virtio PMD. > > Virtio-User as an Alternative Exception Path: Investigate the use of virtio-user and vhost-net as an alternative exception path to KNI that does not require out of tree drivers. This work is still at an experimental stage, so it may not be included in 17.02. > > > > -----Original Message----- > > From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of O'Driscoll, Tim > > Sent: Wednesday, August 31, 2016 11:32 AM > > To: dev@dpdk.org > > Subject: [dpdk-dev] 17.02 Roadmap > > > > Below are the features that we're planning to submit for the 17.02 > > release. We'll submit a patch to update the roadmap page with this info. > > > > Some things will obviously change during planning/development, so we'll > > provide a more detailed update in late September/early October. After > > that, things should hopefully be relatively stable. > > > > It would be good if others are also willing to share their plans so that > > we can build up a complete picture of what's planned for 17.02 and make > > sure there's no duplication. > > > > > > Consistent Filter API phase 2: Extend support for the Consistent Filter > > API that will be first implemented in 16.11 to IGB and FM10K. > > > > Elastic Flow Distributor: The Elastic Flow Distributor (EFD) is a flow- > > based load balancing library which scales linearly for both lookup and > > insert with the number of threads or cores. EFD lookup uses a "perfect > > hashing" scheme where only the information needed to compute a key's > > value (and not the key itself) is stored in the lookup table, thus > > reducing CPU cache storage requirements. > > > > Cryptodev: Additional Software Algorithms: > > - Optimize the AES-GCM software PMD. > > - Enhance the Intel(r) AES-NI MB PMD to add support for cipher-only and > > authentication-only operations. Add support for AES_CBC_MAC, > > AES_CMAC_128, AES_GMAC_128. > > - Add software support for: 3DES_ECB_128/192, AES_ECB_128/192/256, > > AES_F8, AES_XTS, ARC4. > > > > Run-Time Configuration of Flow Type (PCTYPE) and Packet Type (PTYPE) for > > I40E: At the moment all flow types and packet types in DPDK are > > statically defined. This makes impossible to add new values without > > first defining them statically and then recompiling DPDK. The ability to > > configure flow types and packet types at run time will be added for > > I40E. > > > > Extended Stats Latency and Bit Rate Statistics: Enhance the Extended NIC > > Stats (Xstats) implementation to support the collection and reporting of > > latency and bit rate measurements. Latency statistics will include min, > > max and average latency, and jitter. Bit rate statistics will include > > peak and average bit rate aggregated over a user-defined time period. > > This will be implemented for IXGBE and I40E. > > > > Hardware QoS for IXGBE and I40E: Implement support for Hardware QoS for > > IXGBE and I40E. This involves using DCB so that a PF or VF can receive > > packets for each of the Traffic Classes (TCs) based on the User Priority > > field (in the VLAN header). Bandwidth on transmit for each TC is > > programmable. > It seems like a lot of these feature are focused too narrowly on exposing features that exist on specific Intel hardware. The concept of a general purpose Dataplane Development Kit is that applications can be written that have a generic API (like any operating system) that will run on a wide variety of hardware. This concept seems to getting lost as the DPDK is becoming more of a platform for exposing what ever cool hardware features exist. I would propose that no new feature be allowed in the DPDK unless it can be supported on all device types. Yes that means you have to build and test software emulation layers for all other devices. The current model is more of a hardware test bed.