Re: [PATCH 0/7] support <teaming> (aka "QEMU virtio failover") with plain <hostdev>

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/11/21 8:57 AM, Laine Stump wrote:
This is explained in excruciating detail in Patch 5, but in short,
allowing the <teaming> element to be in a plain <hostdev> will permit
someone who is running libvirt unprivileged, or in a container with no
access to a PF device, to use the <teaming> feature, which
encapsulates a lot of functionality related to assigning an SRIOV
network device to a guest as a part of a failover bond device (the
other device in the pair is an emulated virtio NIC), which in turn
permits the guest to be migrated by transparently unplugging the SRIOV
NIC prior to migration, and plugging a new one in after migration is
completed.

(Previously we required <interface type='hostdev'> for this feature,
but that type of device needs to send netlink messages to the PF of
the SRIOV VF that's being assigned, and that simply isn't possible
sometimes.)

Laine Stump (7):
   conf: make teaming info an official type
   conf: use virDomainNetTeamingInfoPtr instead of
     virDomainNetTeamingInfo
   conf: separate Parse/Format functions for virDomainNetTeamingInfo
   schema: separate teaming element definition from interface element
   conf: parse/format <teaming> element in plain <hostdev>
   qemu: plug <teaming> config from <hostdev> into qemu commandline
   news: document support for <teaming> in <hostdev>

  NEWS.rst                                      |  6 ++
  docs/formatdomain.rst                         | 51 +++++++++++
  docs/schemas/domaincommon.rng                 | 42 +++++----
  src/conf/domain_conf.c                        | 87 +++++++++++++------
  src/conf/domain_conf.h                        | 13 ++-
  src/conf/domain_validate.c                    | 45 +++++++---
  src/conf/virconftypes.h                       |  3 +
  src/libvirt_private.syms                      |  1 +
  src/qemu/qemu_command.c                       | 17 ++--
  src/qemu/qemu_domain.c                        |  2 +-
  src/qemu/qemu_migration.c                     |  4 +-
  src/qemu/qemu_validate.c                      | 42 ++++-----
  .../net-virtio-teaming-hostdev.args           | 40 +++++++++
  .../net-virtio-teaming-hostdev.xml            | 48 ++++++++++
  tests/qemuxml2argvtest.c                      |  3 +
  .../net-virtio-teaming-hostdev.xml            | 64 ++++++++++++++
  tests/qemuxml2xmltest.c                       |  3 +
  17 files changed, 384 insertions(+), 87 deletions(-)
  create mode 100644 tests/qemuxml2argvdata/net-virtio-teaming-hostdev.args
  create mode 100644 tests/qemuxml2argvdata/net-virtio-teaming-hostdev.xml
  create mode 100644 tests/qemuxml2xmloutdata/net-virtio-teaming-hostdev.xml


Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx>

Michal




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux