[dpdk-stable] [PATCH 00/15] Introduce Virtio vDPA driver
Maxime Coquelin
maxime.coquelin at redhat.com
Thu Oct 24 08:32:00 CEST 2019
On 8/29/19 9:59 AM, Maxime Coquelin wrote:
> vDPA allows to offload Virtio Datapath processing by supported
> NICs, like IFCVF for example.
>
> The control path has to be handled by a dedicated vDPA driver,
> so that it can translate Vhost-user protocol requests to
> proprietary NICs registers accesses.
>
> This driver is the vDPA driver for Virtio devices, meaning
> that Vhost-user protocol requests get translated to Virtio
> registers accesses as per defined in the Virtio spec.
>
> Basically, it can be used within a guest with a para-virtualized
> Virtio-net device, or even with a full Virtio HW offload NIC
> directly on host.
>
> Amongst the main features, all currently supported Virtio spec
> versions are supported (split & packed rings, but only tested
> with split ring for now) and also multiqueue support is added
> by implementing the cotnrol virtqueue in the driver.
>
> The structure of this driver is heavily based on IFCVF vDPA.
>
> Maxime Coquelin (15):
> vhost: remove vhost kernel header inclusion
> vhost: configure vDPA as soon as the device is ready
> net/virtio: move control path fonctions in virtqueue file
> net/virtio: add virtio PCI subsystem device ID declaration
> net/virtio: save notify bar ID in virtio HW struct
> net/virtio: add skeleton for virtio vDPA driver
> net/virtio: add vDPA ops to get number of queue
> net/virtio: add virtio vDPA op to get features
> net/virtio: add virtio vDPA op to get protocol features
> net/virtio: add vDPA op to configure and start the device
> net/virtio: add vDPA op to stop and close the device
> net/virtio: add vDPA op to set features
> net/virtio: add vDPA ops to get VFIO FDs
> net/virtio: add vDPA op to get notification area
> doc: add documentation for Virtio vDPA driver
>
> config/common_linux | 1 +
> doc/guides/nics/index.rst | 1 +
> doc/guides/nics/virtio_vdpa.rst | 45 ++
> drivers/net/ifc/ifcvf_vdpa.c | 1 +
> drivers/net/virtio/Makefile | 4 +
> drivers/net/virtio/meson.build | 3 +-
> drivers/net/virtio/virtio_ethdev.c | 252 --------
> drivers/net/virtio/virtio_pci.c | 6 +-
> drivers/net/virtio/virtio_pci.h | 2 +
> drivers/net/virtio/virtio_vdpa.c | 918 +++++++++++++++++++++++++++++
> drivers/net/virtio/virtqueue.c | 255 ++++++++
> drivers/net/virtio/virtqueue.h | 5 +
> lib/librte_vhost/rte_vdpa.h | 1 -
> lib/librte_vhost/rte_vhost.h | 9 +-
> lib/librte_vhost/vhost_user.c | 3 +-
> 15 files changed, 1243 insertions(+), 263 deletions(-)
> create mode 100644 doc/guides/nics/virtio_vdpa.rst
> create mode 100644 drivers/net/virtio/virtio_vdpa.c
>
Deferring the series to v20.02.
More information about the stable
mailing list