[libvirt PATCH v2 0/3] Add support for vDPA network devices

Jonathon Jongsma jjongsma at redhat.com
Wed Sep 2 19:24:59 UTC 2020


vDPA network devices allow high-performance networking in a virtual
machine by providing a wire-speed data path. These devices require a
vendor-specific host driver but the data path follows the virtio
specification.

The support for vDPA devices was recently added to qemu. This allows
libvirt to support these devices. It requires that the device is
configured on the host with the appropriate vendor-specific driver.
This will create a chardev on the host at e.g. /dev/vhost-vdpa-0. That
chardev path can then be used to define a new interface with
type='vdpa'.

Changes in v2:
 - split patches
 - add qemu capability
 - disallow migration for vdpa devices

Jonathon Jongsma (3):
  conf: Add support for vDPA network devices
  qemu: add vhost-vdpa capability
  qemu: add vdpa support

 docs/formatdomain.rst                         | 23 ++++++++++++
 docs/schemas/domaincommon.rng                 | 15 ++++++++
 src/conf/domain_conf.c                        | 32 ++++++++++++++++
 src/conf/domain_conf.h                        |  4 ++
 src/conf/netdev_bandwidth_conf.c              |  1 +
 src/libxl/libxl_conf.c                        |  1 +
 src/libxl/xen_common.c                        |  1 +
 src/lxc/lxc_controller.c                      |  1 +
 src/lxc/lxc_driver.c                          |  3 ++
 src/lxc/lxc_process.c                         |  1 +
 src/qemu/qemu_capabilities.c                  |  4 ++
 src/qemu/qemu_capabilities.h                  |  3 ++
 src/qemu/qemu_command.c                       | 29 ++++++++++++++-
 src/qemu/qemu_command.h                       |  3 +-
 src/qemu/qemu_domain.c                        | 10 ++++-
 src/qemu/qemu_hotplug.c                       | 15 +++++---
 src/qemu/qemu_interface.c                     | 25 +++++++++++++
 src/qemu/qemu_interface.h                     |  2 +
 src/qemu/qemu_migration.c                     | 10 ++++-
 src/qemu/qemu_process.c                       |  1 +
 src/qemu/qemu_validate.c                      |  1 +
 src/vmx/vmx.c                                 |  1 +
 .../caps_5.1.0.x86_64.xml                     |  1 +
 .../net-vdpa.x86_64-latest.args               | 37 +++++++++++++++++++
 tests/qemuxml2argvdata/net-vdpa.xml           | 28 ++++++++++++++
 tests/qemuxml2argvmock.c                      | 11 +++++-
 tests/qemuxml2argvtest.c                      |  1 +
 tests/qemuxml2xmloutdata/net-vdpa.xml         | 33 +++++++++++++++++
 tests/qemuxml2xmltest.c                       |  1 +
 tools/virsh-domain.c                          |  1 +
 30 files changed, 288 insertions(+), 11 deletions(-)
 create mode 100644 tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
 create mode 100644 tests/qemuxml2argvdata/net-vdpa.xml
 create mode 100644 tests/qemuxml2xmloutdata/net-vdpa.xml

-- 
2.26.2





More information about the libvir-list mailing list