Stefan Hajnoczi
2022-Aug-17 22:19 UTC
[PATCH] Documentation: add basic information on vDPA
The vDPA driver framework is largely undocumented. Add a basic page that describes what vDPA is, where to get more information, and how to use the simulator for testing. In the future it would be nice to add an overview of the driver API as well as comprehensive doc comments. Cc: "Michael S. Tsirkin" <mst at redhat.com> Cc: Jason Wang <jasowang at redhat.com> Cc: Stefano Garzarella <sgarzare at redhat.com> Signed-off-by: Stefan Hajnoczi <stefanha at redhat.com> --- Documentation/driver-api/index.rst | 1 + Documentation/driver-api/vdpa.rst | 40 ++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 Documentation/driver-api/vdpa.rst diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst index d3a58f77328e..e307779568d4 100644 --- a/Documentation/driver-api/index.rst +++ b/Documentation/driver-api/index.rst @@ -103,6 +103,7 @@ available subsections can be seen below. switchtec sync_file tty/index + vdpa vfio-mediated-device vfio vfio-pci-device-specific-driver-acceptance diff --git a/Documentation/driver-api/vdpa.rst b/Documentation/driver-api/vdpa.rst new file mode 100644 index 000000000000..75c666548e1d --- /dev/null +++ b/Documentation/driver-api/vdpa.rst @@ -0,0 +1,40 @@ +===================================+vDPA - VIRTIO Data Path Acceleration +===================================+ +The vDPA driver framework can be used to implement VIRTIO devices that are +backed by physical hardware or by software. While the device's data path +complies with the VIRTIO specification, the control path is driver-specific and +a netlink interface exists for instantiating devices. + +vDPA devices can be attached to the kernel's VIRTIO device drivers or exposed +to userspace emulators/virtualizers such as QEMU through vhost. + +The driver API is not documented beyond the doc comments in <linux/vdpa.h>. The +netlink API is not documented beyond the doc comments in <linux/uapi/vdpa.h>. +The existing vDPA drivers serve as reference code for those wishing to develop +their own drivers. + +See https://vdpa-dev.gitlab.io/ for more information about vDPA. + +Questions can be sent to the virtualization at lists.linux-foundation.org mailing +list. + +Device simulators +----------------- + +There are software vDPA device simulators for testing, prototyping, and +development purposes. The simulators do not require physical hardware. + +Available simulators include: + +- `vdpa_sim_net` implements a virtio-net loopback device. +- `vdpa_sim_blk` implements a memory-backed virtio-blk device. + +To use `vdpa_sim_blk` through vhost:: + + # modprobe vhost_vdpa + # modprobe vdpa_sim_blk + # vdpa dev add name vdpa-blk1 mgmtdev vdpasim_blk + ...use /dev/vhost-dev-0... + # vdpa dev del vdpa-blk1 -- 2.37.2
On Thu, Aug 18, 2022 at 6:20 AM Stefan Hajnoczi <stefanha at redhat.com> wrote:> > The vDPA driver framework is largely undocumented. Add a basic page that > describes what vDPA is, where to get more information, and how to use > the simulator for testing. > > In the future it would be nice to add an overview of the driver API as > well as comprehensive doc comments.+1> > Cc: "Michael S. Tsirkin" <mst at redhat.com> > Cc: Jason Wang <jasowang at redhat.com> > Cc: Stefano Garzarella <sgarzare at redhat.com> > Signed-off-by: Stefan Hajnoczi <stefanha at redhat.com>Acked-by: Jason Wang <jasowang at redhat.com>> --- > Documentation/driver-api/index.rst | 1 + > Documentation/driver-api/vdpa.rst | 40 ++++++++++++++++++++++++++++++ > 2 files changed, 41 insertions(+) > create mode 100644 Documentation/driver-api/vdpa.rst > > diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst > index d3a58f77328e..e307779568d4 100644 > --- a/Documentation/driver-api/index.rst > +++ b/Documentation/driver-api/index.rst > @@ -103,6 +103,7 @@ available subsections can be seen below. > switchtec > sync_file > tty/index > + vdpa > vfio-mediated-device > vfio > vfio-pci-device-specific-driver-acceptance > diff --git a/Documentation/driver-api/vdpa.rst b/Documentation/driver-api/vdpa.rst > new file mode 100644 > index 000000000000..75c666548e1d > --- /dev/null > +++ b/Documentation/driver-api/vdpa.rst > @@ -0,0 +1,40 @@ > +===================================> +vDPA - VIRTIO Data Path Acceleration > +===================================> + > +The vDPA driver framework can be used to implement VIRTIO devices that are > +backed by physical hardware or by software. While the device's data path > +complies with the VIRTIO specification, the control path is driver-specific and > +a netlink interface exists for instantiating devices. > + > +vDPA devices can be attached to the kernel's VIRTIO device drivers or exposed > +to userspace emulators/virtualizers such as QEMU through vhost. > + > +The driver API is not documented beyond the doc comments in <linux/vdpa.h>. The > +netlink API is not documented beyond the doc comments in <linux/uapi/vdpa.h>. > +The existing vDPA drivers serve as reference code for those wishing to develop > +their own drivers. > + > +See https://vdpa-dev.gitlab.io/ for more information about vDPA. > + > +Questions can be sent to the virtualization at lists.linux-foundation.org mailing > +list. > + > +Device simulators > +----------------- > + > +There are software vDPA device simulators for testing, prototyping, and > +development purposes. The simulators do not require physical hardware. > + > +Available simulators include: > + > +- `vdpa_sim_net` implements a virtio-net loopback device. > +- `vdpa_sim_blk` implements a memory-backed virtio-blk device. > + > +To use `vdpa_sim_blk` through vhost:: > + > + # modprobe vhost_vdpa > + # modprobe vdpa_sim_blk > + # vdpa dev add name vdpa-blk1 mgmtdev vdpasim_blk > + ...use /dev/vhost-dev-0... > + # vdpa dev del vdpa-blk1 > -- > 2.37.2 >
Stefano Garzarella
2022-Sep-06 08:45 UTC
[PATCH] Documentation: add basic information on vDPA
On Wed, Aug 17, 2022 at 06:19:56PM -0400, Stefan Hajnoczi wrote:>The vDPA driver framework is largely undocumented. Add a basic page that >describes what vDPA is, where to get more information, and how to use >the simulator for testing. > >In the future it would be nice to add an overview of the driver API as >well as comprehensive doc comments. > >Cc: "Michael S. Tsirkin" <mst at redhat.com> >Cc: Jason Wang <jasowang at redhat.com> >Cc: Stefano Garzarella <sgarzare at redhat.com> >Signed-off-by: Stefan Hajnoczi <stefanha at redhat.com> >--- > Documentation/driver-api/index.rst | 1 + > Documentation/driver-api/vdpa.rst | 40 ++++++++++++++++++++++++++++++ > 2 files changed, 41 insertions(+) > create mode 100644 Documentation/driver-api/vdpa.rstThank you for this work! Reviewed-by: Stefano Garzarella <sgarzare at redhat.com>
On Wed, 17 Aug 2022 18:19:56 -0400, Stefan Hajnoczi <stefanha at redhat.com> wrote:> The vDPA driver framework is largely undocumented. Add a basic page that > describes what vDPA is, where to get more information, and how to use > the simulator for testing. > > In the future it would be nice to add an overview of the driver API as > well as comprehensive doc comments. > > Cc: "Michael S. Tsirkin" <mst at redhat.com> > Cc: Jason Wang <jasowang at redhat.com> > Cc: Stefano Garzarella <sgarzare at redhat.com> > Signed-off-by: Stefan Hajnoczi <stefanha at redhat.com>Reviewed-by: Xuan Zhuo <xuanzhuo at linux.alibaba.com>> --- > Documentation/driver-api/index.rst | 1 + > Documentation/driver-api/vdpa.rst | 40 ++++++++++++++++++++++++++++++ > 2 files changed, 41 insertions(+) > create mode 100644 Documentation/driver-api/vdpa.rst > > diff --git a/Documentation/driver-api/index.rst b/Documentation/driver-api/index.rst > index d3a58f77328e..e307779568d4 100644 > --- a/Documentation/driver-api/index.rst > +++ b/Documentation/driver-api/index.rst > @@ -103,6 +103,7 @@ available subsections can be seen below. > switchtec > sync_file > tty/index > + vdpa > vfio-mediated-device > vfio > vfio-pci-device-specific-driver-acceptance > diff --git a/Documentation/driver-api/vdpa.rst b/Documentation/driver-api/vdpa.rst > new file mode 100644 > index 000000000000..75c666548e1d > --- /dev/null > +++ b/Documentation/driver-api/vdpa.rst > @@ -0,0 +1,40 @@ > +===================================> +vDPA - VIRTIO Data Path Acceleration > +===================================> + > +The vDPA driver framework can be used to implement VIRTIO devices that are > +backed by physical hardware or by software. While the device's data path > +complies with the VIRTIO specification, the control path is driver-specific and > +a netlink interface exists for instantiating devices. > + > +vDPA devices can be attached to the kernel's VIRTIO device drivers or exposed > +to userspace emulators/virtualizers such as QEMU through vhost. > + > +The driver API is not documented beyond the doc comments in <linux/vdpa.h>. The > +netlink API is not documented beyond the doc comments in <linux/uapi/vdpa.h>. > +The existing vDPA drivers serve as reference code for those wishing to develop > +their own drivers. > + > +See https://vdpa-dev.gitlab.io/ for more information about vDPA. > + > +Questions can be sent to the virtualization at lists.linux-foundation.org mailing > +list. > + > +Device simulators > +----------------- > + > +There are software vDPA device simulators for testing, prototyping, and > +development purposes. The simulators do not require physical hardware. > + > +Available simulators include: > + > +- `vdpa_sim_net` implements a virtio-net loopback device. > +- `vdpa_sim_blk` implements a memory-backed virtio-blk device. > + > +To use `vdpa_sim_blk` through vhost:: > + > + # modprobe vhost_vdpa > + # modprobe vdpa_sim_blk > + # vdpa dev add name vdpa-blk1 mgmtdev vdpasim_blk > + ...use /dev/vhost-dev-0... > + # vdpa dev del vdpa-blk1 > -- > 2.37.2 > > _______________________________________________ > Virtualization mailing list > Virtualization at lists.linux-foundation.org > https://lists.linuxfoundation.org/mailman/listinfo/virtualization