[PATCH 0/8] Report 'passt' support in domain capabilities

Michal Privoznik posted 8 patches 2 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/libvirt tags/patchew/cover.1719580253.git.mprivozn@redhat.com
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(-)
[PATCH 0/8] Report 'passt' support in domain capabilities
Posted by Michal Privoznik 2 months, 1 week ago
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