With the 17.11 release almost complete, it's time to start thinking about 
18.02. These are the features that we plan to contribute:

Add Classification and Metering to SoftNIC PMD: The SoftNIC PMD provides 
software equivalency for Ethernet device (ethdev) features. Currently, only the 
Traffic Management (rte_tm) API is supported. Support will be added for flow 
classification (rte_flow API) and QoS metering & policing (rte_mtr API).

Port Representor: A Port Representor PMD will be created which will provide a 
logical representation of any port, either physical or virtual. 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 whose physical function is also bound to a DPDK 
control plane application.

Baseband Device (BBDev) API and Turbo Encoding/Decoding: A Baseband Device 
(BBDev) API will be created to support wireless baseband accelerators. The 
initial accelerator which will be supported will be for turbo encoding/decoding 
(used for forward error correction).

Eventdev OPDL PMD: A new PMD for the Optimized Packet Distribution Library 
(OPDL) will be added to the eventdev API. OPDL provides a lockless, ring-based 
architecture that is suitable for certain types of stateless packet processing 
pipelines.

PCIe Hardware Hotplug: This will allow users to plug a NIC in/out during 
runtime, and have that event handled by DPDK.

AVF PMD: The Adaptive Virtual Function (AVF) specification provides a 
consistent interface to VFs for future generations of Intel NICs. An AVF PMD 
will be created to support future devices which comply with this specification.

I40E Support for GTP-U IPv6: Support for GTP-U with an IPv4 payload was added 
in 17.11. This will be enhanced to support an IPv6 payload.

I40E MAC Loopback: MAC loopback (Rx -> MAC loopback -> Tx) will be supported on 
I40E.

I40E Performance Improvement: Performance of the I40E PMD will be increased 
through improved use of vector instructions.

GRO VxLAN Support: Generic Receive Offload (GRO) is a popular software 
technique to reduce per-packet overhead for applications by aggregating small 
packets into large ones. Currently, DPDK GRO only supports TCP/IPv4 packets. 
GRO support for VxLAN packets that contain outer IPv4 and inner TCP/IPv4 
headers will be added.

Set VF Queue Number at Run Time: Provides the ability to set the maximum number 
of queues for a VF at run time instead of at compile time.

Support Virtual Devices in Secondary Process: Support will be added for running 
virtual devices in secondary processes. See the patch set for further details 
(http://dpdk.org/ml/archives/dev/2017-August/073532.html).

Virtio Interrupt Coalescence: The Virtio spec has two methods to implement 
interrupt/notification suppression. If the VIRTIO_F_EVENT_IDX feature bit is 
not negotiated, the flags field in the available ring offers a crude mechanism 
for the driver to inform the device that it doesn't want interrupts when 
buffers are used. Otherwise used_event is a more performant alternative where 
the driver specifies how far the device can progress before interrupting. The 
former has been done in DPDK, the latter will be supported here.

Support Virtio Features in Vhost Lib for Live Migration Between DPDK vhost-user 
and Kernel vhost-net: DPDK vhost-user backend needs to support the default 
negotiated feature set in Kernel vhost-net to fix the gap for live migration. 
These features will be supported: VIRTIO_NET_F_GSO, VIRTIO_NET_F_GUEST_UFO, 
VIRTIO_NET_F_HOST_UFO, VIRTIO_NET_F_GUEST_ECN, VIRTIO_NET_F_HOST_ECN.

Support Guest Announce in Virtio PMD for Live Migration: Guest Announce feature 
enables guest driver to send RARP packets when live migration is done. 
Supporting it enables wider use scenarios for the virtio PMD.

Support AES_CCM in the AESNI_MB PMD: The AESNI_MB PMD will be enhanced to 
support AES_CCM.

DPDK Build System Redesign: The build system will be updated to use meson and 
ninja, as discussed during the DPDK Summit Userspace event. The existing build 
system will be retained for backwards compatibility.


In addition, we plan to issue the following RFCs in the 18.02 timeframe in 
order to get early feedback from the community:

Userspace eBPF: A userspace implementation of eBPF, which would provide the 
ability to execute BPF code within DPDK.

Support RSS in rte_flow: The rte_flow API is defined to include RSS but so far 
RSS hasn't been supported.

FPGA Bus Driver: A bus driver to discover and probe PCI devices.

vHost Data Path Acceleration: vHost Data Path Acceleration (vDPA) is a software 
framework to support heterogeneous Virtio accelerations.

Virtio Crypto: The vhost-crypto driver will act as a translator between 
virtio-crypto requests and the dpdk cryptodev crypto operations. The driver 
will dequeue from vrings and reassemble to cryptodev operations and then 
enqueue them to target PMD in bursts, and then dequeue bursts from PMD and 
assemble them to virtio-crypto responses and push to vring.

Reply via email to