Sent: Wednesday, September 9, 2015 9:45 AM
Subject: [dpdk-dev] DPDK 2.2 roadmap
The new features for the release 2.2 must be first submitted before 2nd October.
They should be integrated before 23rd October.
In order to ease cooperation and integration, it would be nice to see
announces or technical details of planned features for 2.2 or 2.3.
Generally speaking, it helps to know what you are working on and what is the
I think it's a great idea to create an overall roadmap for the project for 2.2 and beyond. To kick this off, below are the features that we're hoping to submit for the 2.2 release. You should be seeing RFCs and v1 patch sets for these over the next few weeks.
Userspace Ethtool Sample App: Further enhancements to the userspace ethtool implementation that was submitted in 2.1 including: Implement rte_ethtool shim layer based on rte_ethdev API, Provide a sample application that demonstrates/allows testing of the rte_ethtool API, Implement rte_ethtool_get_ringparam/rte_ethtool_set_ringparam, Rework rte_eth_dev_get_reg_info() so we can get/set HW registers in a convenient way.
Vector PMD for fm10k: A vector PMD, similar to the one that currently exists for the Intel 10Gbps NICs, will be implemented for fm10k.
DCB for i40e &X550: DCB support will be extended to the i40e and X550 NICs.
IEEE1588 on X550 & fm10k: IEEE1588 support will be extended to the X550 and fm10k.
IEEE1588 Sample App: A sample application for an IEEE1588 Client.
Cryptodev Library: This implements a cryptodev API and PMDs for the Intel Quick Assist Technology DH895xxC hardware accelerator and the AES-NI multi-buffer software implementation. See http://dpdk.org/ml/archives/dev/2015-August/022930.html for further details.
IPsec Sample App: A sample application will be provided to show how the cryptodev library can be used to implement IPsec. This will be based on the NetBSD IPsec implementation.
Interrupt Mode for i40e, fm10k & e1000: Interrupt mode support, which was added in the 2.1 release, will be extended to the 140e, fm10k and e1000.
Completion of PCI Hot Plug: PCI Hot Plug support, which was added in the 2.0 and 2.1 releases, will be extended to the Xenvirt and Vmxnet3 PMDs.
Increase Number of Next Hops for LPM (IPv4 and IPv6): The current DPDK implementation for LPM for IPv4 and IPv6 limits the number of next hops to 256, as the next hop ID is an 8-bit long field. The size of the field will be increased to allow an increased number of next hops.
Performance Thread Sample App: A sample application will be provided showing how different threading models can be used in DPDK. It will be possible to configure the application for, and contrast forwarding performance of, different threading models including lightweight threads. See http://dpdk.org/ml/archives/dev/2015-September/023186.html for further details.
DPDK Keep-Alive: The purpose is to detect packet processing core failures (e.g. infinite loop) and ensure the failure of the core does not result in a fault that is not detectable by a management entity.
Vhost Offload Feature Support: This feature will implement virtio TSO offload to help improve performance.
Common Port Statistics: This feature will extend the exposed NIC statistics, improving the method of presentation to make it obvious what their purpose is. This functionality is based on the rte_eth_xstats_* extended stats API implemented in DPDK 2.1.
NFV Use-cases using Packet Framework (Edge Router): Enhancements will be made to the IP_Pipeline application and the Packet Framework libraries so that they can be used to support an Edge Router NFV use case.
Refactor EAL for Non-PCI Devices: This has been discussed extensively on the mailing list. See the RFCs for Refactor eal driver registration code (http://dpdk.org/ml/archives/dev/2015-September/023257.html) and Remove pci driver from vdevs (http://dpdk.org/ml/archives/dev/2015-August/023016.html).
Vhost Multi-Queue Support: The vhost-user library will be updated to provide multi-queue support in the host similar to the RSS model so that guest driver may allocate multiple rx/tx queues which then may be used to load balance between cores. See http://dpdk.org/ml/archives/dev/2015-August/022758.html for more details.
Virtio Vhost Optimization: Virtio and vhost performance will be optimized to allow efficient high performance packet movement between guest and host.
Config Granularity of RSS for i40e: All RSS hash and filter configurations for IPv4/v6, TCP/UDP, GRE, etc will be implemented for i40e. This includes support for QinQ and tunneled packets.
I40e 32-bit GRE Keys: Both 24 and 32 bit keys for GRE will be supported for i40e.
X550 Enhancements: Support VF TSO, more Entries in RSS and per VF RSS, network overlay support with flow director for X550.
TSO support for fm10K, igb, ixgbe VF: Enable TCP Segmentation Offload for fm10K, igb and ixgbe VF.
Ixgbe, i40e and fm10k base code updates.