[dpdk-dev] 2.3 Roadmap

O'Driscoll, Tim tim.odriscoll at intel.com
Mon Nov 30 21:50:58 CET 2015


As we're nearing the completion of the 2.2 release, I'd like to start a discussion on plans for 2.3. To kick this off, below are the features that we're hoping to submit for this release.

If others are prepared to contribute their plans, then we could build a complete view of the release which Thomas can maintain on the dpdk.org roadmap page, and make sure we're not duplicating work.


IPsec Sample Application: A sample application will be created which will show how DPDK and the new cryptodev API can be used to implement IPsec. Use of the cryptodev API will allow either hardware or software encryption to be used. IKE will not be implemented so the SA/SP DBs will be statically configured.

Cryptodev Support for SNOW 3G: The cryptodev API, and the hardware and software crypto PMDs that it supports, will be enhanced to support the SNOW 3G cipher.

External Mempool Manager: SoCs and some software applications that use DPDK have their own memory allocation capabilities. This feature will allow DPDK to work with an external mempool manager.

Packet Framework (Edge Router Use Case):
- Further performance tuning for the vPE use case.
- Support for load balancing within a pipeline.
- Support for CPU utilization measurements within a pipeline.
- Improvements for the functional pipelines, tables and ports.

Ethdev Enhancements: Merge parts of the Packet Framework ports library into ethdev so they can be used without the Packet Framework. The initial focus is to add support for buffered TX to ethdev.

Live Migration: The main infrastructure to support live migration of VMs was implemented over the last few DPDK releases via the Link Bonding and PCI Hot Plug features. This feature will involve further investigation, prototyping and enhancements to improve live migration support in DPDK.

Tcpdump Support: Support for tcpdump will be added to DPDK. This will improve usability and debugging of DPDK applications.

Increase Next Hops for LPM (IPv4): The number of next hops for IPv4 LPM is currently limited to 256. This will be extended to allow a greater number of next hops.

Fm10k Enhancements: FTAG based forwarding, and performance tuning

Support Intel Resource Director Technology: A library will be added to DPDK to support the following Intel CPU technologies:
- CAT - Cache Allocation Technology (LLC aka L3)
- CDP - Code Data Prioritization (extension of CAT)
- CMT - Cache Monitoring Technology (LLC)
- MBM - Memory Bandwidth Monitoring, to local and remote RAM
These technologies are currently available via cgroups and perf, but this feature will provide closer integration with DPDK and a sample application showing how they can be used.

I40e Enhancements:
- Flow Director input set Alignment
- Ethertype configuration for QinQ support
- Flow Director Support for Tunnels (QinQ, GRE/NVGRE, VXLAN)
- Flow Director Support for IP Proto and IP TOS
- VEB switching
- Floating VEB
- IPGRE Support
- Set VF MAC address
- Rework PCIe extended tag enabling by using DPDK interfaces

Virtio/Vhost Enhancements:
- Virtio 1.0 support
- Vhost software TSO
- Vhost/virtio performance tuning

Container Enhancements:
- Virtio for containers
- Hugetlbfs mount point size
- Cgroup resource awareness 
- Enable short-lived DPDK applications

Generic Tunneling API:
- Implement virtual flow device framework
- Implement generic virtual device management APIs, including the following callback functions:
  - flow_ethdev_start/stop/configure/close/info_get
  - ethdev_rx/tx_queue_setup/release
  - flow_ethdev_tunnel_configure/setup/destroy
  - flow_ethdev_tunnel_pkt_decap/encap
- Implement flow device PMD drive APIs
  - rte_eth_flow_dev_create/remove/ others
- Integrate VXLAN protocol (including VXLAN decap/encap optimization) into this framework only on i40e.


Tim


More information about the dev mailing list