A vDPA device is a type of device that follows the virtio specification for its datapath but has a vendor-specific control path.
vDPA devices can be both physically located on the hardware or emulated by software.
A small vDPA parent driver in the host kernel is required only for the control path. The main advantage is the unified software stack for all vDPA devices:
- vhost interface (vhost-vdpa) for userspace or guest virtio driver, like a VM running in QEMU
- virtio interface (virtio-vdpa) for bare-metal or containerized applications running in the host
- management interface (vdpa netlink) for instantiating devices and configuring virtio parameters