There are some distributions that consider switching from SLIRP to just
passt. While libvirt wires no defaults and leaves this kind of
decisions onto upper layers, it can help mgmt apps do the decision by
reporting passt support in domain capabilities.
Michal Prívozník (8):
libvirt_private.syms: Export virDomainNetBackendType enum handlers
qemu_capabilities: Introduce QEMU_CAPS_NETDEV_USER
qemu_validate: Validate net backends against QEMU caps
domain_capabilities: Introduce netdev capabilities
qemu_capabilities: Fill supported net backend types
conf: Accept 'default' backend type for <interface type='user'/>
qemu_validate: Use domaincaps to validate supported net backend type
qemu_domain: Set 'passt' net backend if 'default' is unsupported
docs/formatdomaincaps.rst | 25 +++++++++++++++++++
src/conf/domain_capabilities.c | 13 ++++++++++
src/conf/domain_capabilities.h | 8 ++++++
src/conf/domain_conf.c | 5 +++-
src/conf/schemas/domaincaps.rng | 10 ++++++++
src/conf/schemas/domaincommon.rng | 1 +
src/libvirt_private.syms | 2 ++
src/qemu/qemu_capabilities.c | 23 +++++++++++++++++
src/qemu/qemu_capabilities.h | 4 +++
src/qemu/qemu_domain.c | 19 +++++++++++---
src/qemu/qemu_validate.c | 14 ++++++++---
.../domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 5 ++++
.../qemu_4.2.0-virt.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 5 ++++
tests/domaincapsdata/qemu_4.2.0.s390x.xml | 5 ++++
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 5 ++++
.../qemu_5.0.0-tcg-virt.riscv64.xml | 5 ++++
.../domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 5 ++++
.../qemu_5.0.0-virt.aarch64.xml | 5 ++++
.../qemu_5.0.0-virt.riscv64.xml | 5 ++++
tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 5 ++++
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 5 ++++
tests/domaincapsdata/qemu_5.1.0.sparc.xml | 5 ++++
tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 5 ++++
.../qemu_5.2.0-tcg-virt.riscv64.xml | 5 ++++
.../domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 5 ++++
.../qemu_5.2.0-virt.aarch64.xml | 5 ++++
.../qemu_5.2.0-virt.riscv64.xml | 5 ++++
tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 5 ++++
tests/domaincapsdata/qemu_5.2.0.s390x.xml | 5 ++++
tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 5 ++++
.../qemu_6.0.0-virt.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_6.0.0.s390x.xml | 5 ++++
tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 5 ++++
tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 5 ++++
.../qemu_6.2.0-virt.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 5 ++++
tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 5 ++++
.../qemu_7.0.0-hvf.aarch64+hvf.xml | 5 ++++
.../domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 5 ++++
.../qemu_7.0.0-virt.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 5 ++++
tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 5 ++++
tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 5 ++++
.../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 5 ++++
tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 5 ++++
tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 5 ++++
.../qemu_7.2.0-hvf.x86_64+hvf.xml | 6 +++++
.../domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 6 +++++
.../qemu_7.2.0-tcg.x86_64+hvf.xml | 6 +++++
.../domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 6 +++++
tests/domaincapsdata/qemu_7.2.0.ppc.xml | 6 +++++
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 6 +++++
.../qemu_8.0.0-tcg-virt.riscv64.xml | 6 +++++
.../domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 6 +++++
.../qemu_8.0.0-virt.riscv64.xml | 6 +++++
tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 6 +++++
tests/domaincapsdata/qemu_8.1.0.s390x.xml | 6 +++++
tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 6 +++++
.../qemu_8.2.0-tcg-virt.loongarch64.xml | 6 +++++
.../domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 6 +++++
.../qemu_8.2.0-virt.aarch64.xml | 6 +++++
.../qemu_8.2.0-virt.loongarch64.xml | 6 +++++
tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 6 +++++
tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 6 +++++
tests/domaincapsdata/qemu_8.2.0.s390x.xml | 6 +++++
tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 6 +++++
tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 6 +++++
.../domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 6 +++++
tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 6 +++++
.../caps_4.2.0_aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 1 +
.../qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 +
.../caps_4.2.0_x86_64.xml | 1 +
.../caps_5.0.0_aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 1 +
.../caps_5.0.0_riscv64.xml | 1 +
.../caps_5.0.0_x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 +
.../caps_5.1.0_x86_64.xml | 1 +
.../caps_5.2.0_aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1 +
.../caps_5.2.0_riscv64.xml | 1 +
.../qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 +
.../caps_5.2.0_x86_64.xml | 1 +
.../caps_6.0.0_aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 +
.../caps_6.0.0_x86_64.xml | 1 +
.../caps_6.1.0_x86_64.xml | 1 +
.../caps_6.2.0_aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 1 +
.../caps_6.2.0_x86_64.xml | 1 +
.../caps_7.0.0_aarch64+hvf.xml | 1 +
.../caps_7.0.0_aarch64.xml | 1 +
.../qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 +
.../caps_7.0.0_x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 +
.../caps_7.1.0_x86_64.xml | 1 +
tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 +
.../caps_7.2.0_x86_64+hvf.xml | 1 +
.../caps_7.2.0_x86_64.xml | 1 +
.../caps_8.0.0_riscv64.xml | 1 +
.../caps_8.0.0_x86_64.xml | 1 +
.../qemucapabilitiesdata/caps_8.1.0_s390x.xml | 1 +
.../caps_8.1.0_x86_64.xml | 1 +
.../caps_8.2.0_aarch64.xml | 1 +
.../caps_8.2.0_armv7l.xml | 1 +
.../caps_8.2.0_loongarch64.xml | 1 +
.../qemucapabilitiesdata/caps_8.2.0_s390x.xml | 1 +
.../caps_8.2.0_x86_64.xml | 1 +
.../caps_9.0.0_x86_64.xml | 1 +
.../caps_9.1.0_x86_64.xml | 1 +
137 files changed, 608 insertions(+), 8 deletions(-)
--
2.44.2