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

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

 



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

-- 
2.29.2




[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