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