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