[libvirt PATCH v4 0/6] Add support for vDPA network devices

Jonathon Jongsma posted 6 patches 3 years, 7 months ago
Test syntax-check failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/20200924214516.2348879-1-jjongsma@redhat.com
There is a newer version of this series
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
[libvirt PATCH v4 0/6] Add support for vDPA network devices
Posted by Jonathon Jongsma 3 years, 7 months ago
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. This patchset 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=3D'vdpa'.

Changes in v4:
 - rebased to latest master
 - added hotplug support
 - report vdpa devices in node device list

Jonathon Jongsma (6):
  conf: Add support for vDPA network devices
  qemu: add vhost-vdpa capability
  qemu: add vdpa support
  qemu: add monitor functions for handling file descriptors
  qemu: support hotplug of vdpa devices
  Include vdpa devices in node device list

 docs/formatdomain.rst                         |  24 +++
 docs/schemas/domaincommon.rng                 |  15 ++
 include/libvirt/libvirt-nodedev.h             |   1 +
 src/conf/domain_conf.c                        |  31 ++++
 src/conf/domain_conf.h                        |   4 +
 src/conf/netdev_bandwidth_conf.c              |   1 +
 src/conf/node_device_conf.c                   |   5 +
 src/conf/node_device_conf.h                   |   4 +-
 src/conf/virnodedeviceobj.c                   |   4 +-
 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/node_device/node_device_udev.c            |  16 ++
 src/qemu/qemu_capabilities.c                  |   4 +
 src/qemu/qemu_capabilities.h                  |   3 +
 src/qemu/qemu_command.c                       |  36 +++-
 src/qemu/qemu_command.h                       |   3 +-
 src/qemu/qemu_domain.c                        |   6 +-
 src/qemu/qemu_hotplug.c                       |  73 +++++++-
 src/qemu/qemu_interface.c                     |  25 +++
 src/qemu/qemu_interface.h                     |   2 +
 src/qemu/qemu_migration.c                     |  10 +-
 src/qemu/qemu_monitor.c                       |  93 ++++++++++
 src/qemu/qemu_monitor.h                       |  41 +++++
 src/qemu/qemu_monitor_json.c                  | 173 ++++++++++++++++++
 src/qemu/qemu_monitor_json.h                  |  12 ++
 src/qemu/qemu_process.c                       |   2 +
 src/qemu/qemu_validate.c                      |  15 ++
 src/vmx/vmx.c                                 |   1 +
 .../caps_5.1.0.x86_64.xml                     |   1 +
 .../caps_5.2.0.x86_64.xml                     |   1 +
 tests/qemuhotplugmock.c                       |   9 +
 tests/qemuhotplugtest.c                       |  16 ++
 .../qemuhotplug-interface-vdpa.xml            |   4 +
 .../qemuhotplug-base-live+interface-vdpa.xml  |  57 ++++++
 .../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         |  34 ++++
 tests/qemuxml2xmltest.c                       |   1 +
 tools/virsh-domain.c                          |   1 +
 tools/virsh-nodedev.c                         |   3 +
 45 files changed, 799 insertions(+), 16 deletions(-)
 create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-interface-vdpa.x=
ml
 create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+interf=
ace-vdpa.xml
 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

--=20
2.26.2


Re: [libvirt PATCH v4 0/6] Add support for vDPA network devices
Posted by Laine Stump 3 years, 6 months ago
On 9/24/20 5:45 PM, Jonathon Jongsma wrote:
> 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. This patchset 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=3D'vdpa'.
> 
> Changes in v4:
>   - rebased to latest master
>   - added hotplug support
>   - report vdpa devices in node device list
> 
> Jonathon Jongsma (6):
>    conf: Add support for vDPA network devices
>    qemu: add vhost-vdpa capability
>    qemu: add vdpa support
>    qemu: add monitor functions for handling file descriptors
>    qemu: support hotplug of vdpa devices
>    Include vdpa devices in node device list

You can re-use my ACKs for the previously posted patches (assuming an 
ability to test IRL).