Now that the 18.02 release is complete, we need to update the 18.05 roadmap.
These are the features that we plan to contribute:
vHost Selective Data Path: Provide support for a selective datapath in the
vhost-user library. The default datapath will be the existing software
implementation. Alternative data paths can be added to support acceleration for
IFC VF Driver: A new Intel device driver for accelerated virtio data path
leveraging the selective datapath support in the vhost-user library.
vHost Interrupt Mode: Add support for interrupt mode to vhost. This can be used
during low traffic periods to save power or to allow the CPU to be used for
Virtio-User Server Mode: Currently, in a container environment if the
vhost-user backend restarts there's no way for it to reconnect to virtio-user.
To address this, support for server mode will be added. In this mode the socket
file is created by virtio-user, which the backend then connects to. This means
that if the backend restarts, it can reconnect to virtio-user and continue
Virtio Crypto: Support for virtio-crypto will be added to the vhost-user
library. A new sample application will also be created which wil run in the
host and will handle crypto requests sent by the guest.
Ethdev API to Query Recommended Descriptor Ring Sizes: Provide an ethdev API to
allow applications to query the recommended descriptor ring sizes for a NIC
port. The value returned should depend on the speed of the port (10G, 40G etc.)
and the number of queues configured.
Memory Subsystem Improvements: Continue redesign of memory system to make DPDK
less "greedy" and more suitable for use in container/cloud native environments.
Specific changes include: provide ability to scale up/down memory usage at run
time, provide the ability to register/unregister non-DPDK-owned hugepages with
IP Pipeline Usability Enhancements: Improve usability of the IP Pipeline by:
provide an API to add pipeline configuration profiles after initialization,
refactor the IP Pipeline into separate libraries to facilitate reuse.
Compression: Provide a new compressdev API to support hardware and software
acceleration of compression/decompression. A PMD for a software implementation
using the Intel(r) Storage Acceleration Library will be provided.
Tunnel API: A new API will be created to manage tunnel end points, including
hardware acceleration for tunnel encap/decap.
Port Representor: A port representor is a virtual PMD which provides a logical
representation of any port, either physical or host-facing, on a multi-port
port device. This logical port provides a mechanism for control and monitoring.
The primary purpose of port representors in DPDK is to support the
configuration, management and monitoring of virtual functions of a network
interface. A data path will also be supported which will allow physical ports
to be presented as separate logical ports within an application.
Support PPPoE/PPPoL2TPv2 in I40E PMD: Support for PPPoE and PPPoL2TPv2 will be
added to the I40E PMD.
Update Intel PMDs for Rx/Tx Offload API. Intel PMDs will be updated to use the
new Rx/Tx offload API.
Add Uevent Support for Hotplug: The uevent mechanism will be used to monitor
the hotplug status of a device. This will allow an application to detect when a
device has been added or removed.