vDPA devices, which follow the virtio specification for their datapath, have a vendor-specific control path. They can be physically located on hardware or emulated by software. A small vDPA parent driver is required in the host kernel for the control path. The main advantage is the unified software stack for all vDPA devices. vDPA can be used for both network and block devices, enabling hardware emulation and support for different network backends. The vDPA framework allows for the implementation of virtio devices in both hardware and software, facilitating seamless integration. Examples are provided for using vDPA with QEMU and containers.
https://stefano-garzarella.github.io/posts/2024-02-12-vdpa-blk/