qemu_capabilities: Introduce QEMU_CAPS_NETDEV_USER

Since -netdev user can be disabled during QEMU compilation, we
can't blindly expect it to just be there. We need a capability
that tracks its presence.

For qemu-4.2.0 we are not able to detect the capability so do the
next best thing - assume the capability is there. This is
consistent with our current behaviour where we blindly assume the
capability, anyway.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Michal Privoznik 2024-06-27 10:45:31 +02:00
parent e42f9e40b9
commit e28bc15f09
44 changed files with 50 additions and 0 deletions

View File

@ -711,6 +711,7 @@ VIR_ENUM_IMPL(virQEMUCaps,
/* 460 */
"sev-snp-guest", /* QEMU_CAPS_SEV_SNP_GUEST */
"netdev.user", /* QEMU_CAPS_NETDEV_USER */
);
@ -1575,6 +1576,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSchemaQueries[] = {
{ "object-add/arg-type/+iothread/thread-pool-max", QEMU_CAPS_IOTHREAD_THREAD_POOL_MAX },
{ "query-migrate/ret-type/blocked-reasons", QEMU_CAPS_MIGRATION_BLOCKED_REASONS },
{ "screendump/arg-type/format/^png", QEMU_CAPS_SCREENSHOT_FORMAT_PNG },
{ "netdev_add/arg-type/+user", QEMU_CAPS_NETDEV_USER },
};
typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps;
@ -5404,6 +5406,11 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps)
*/
if (qemuCaps->version < 5002000)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_FIPS);
/* We are not able to detect this for old QEMU. Assume the capability is
* there. */
if (qemuCaps->version < 5000000)
virQEMUCapsSet(qemuCaps, QEMU_CAPS_NETDEV_USER);
}

View File

@ -690,6 +690,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for syntax-check */
/* 460 */
QEMU_CAPS_SEV_SNP_GUEST, /* -object sev-snp-guest */
QEMU_CAPS_NETDEV_USER, /* -netdev user */
QEMU_CAPS_LAST /* this must always be the last item */
} virQEMUCapsFlags;

View File

@ -106,6 +106,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>4002000</version>
<microcodeVersion>61700242</microcodeVersion>
<package>v4.1.0-2221-g36609b4fa3</package>

View File

@ -106,6 +106,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>4002000</version>
<microcodeVersion>42900242</microcodeVersion>
<package>v4.1.0-2198-g9e583f2</package>

View File

@ -72,6 +72,7 @@
<flag name='virtio-blk.queue-size'/>
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='netdev.user'/>
<version>4002000</version>
<microcodeVersion>39100242</microcodeVersion>
<package>qemu-4.2.0-20200115.0.1e4aa2da.fc31</package>

View File

@ -144,6 +144,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>4002000</version>
<microcodeVersion>43100242</microcodeVersion>
<package>v4.2.0</package>

View File

@ -118,6 +118,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5000000</version>
<microcodeVersion>61700241</microcodeVersion>
<package>v5.0.0</package>

View File

@ -121,6 +121,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5000000</version>
<microcodeVersion>42900241</microcodeVersion>
<package>v5.0.0</package>

View File

@ -113,6 +113,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5000000</version>
<microcodeVersion>0</microcodeVersion>
<package>v5.0.0</package>

View File

@ -153,6 +153,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5000000</version>
<microcodeVersion>43100241</microcodeVersion>
<package>v5.0.0</package>

View File

@ -45,6 +45,7 @@
<flag name='rotation-rate'/>
<flag name='input-linux'/>
<flag name='memory-backend-file.prealloc-threads'/>
<flag name='netdev.user'/>
<version>5001000</version>
<microcodeVersion>0</microcodeVersion>
<package>qemu-5.1.0-5.fc33</package>

View File

@ -157,6 +157,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5001000</version>
<microcodeVersion>43100242</microcodeVersion>
<package>v5.1.0</package>

View File

@ -126,6 +126,7 @@
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='netdev.user'/>
<version>5002000</version>
<microcodeVersion>61700243</microcodeVersion>
<package>v5.2.0</package>

View File

@ -126,6 +126,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5002000</version>
<microcodeVersion>42900243</microcodeVersion>
<package>v5.2.0</package>

View File

@ -118,6 +118,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5002000</version>
<microcodeVersion>0</microcodeVersion>
<package>v5.2.0</package>

View File

@ -83,6 +83,7 @@
<flag name='virtio-iommu-pci'/>
<flag name='virtio-net.rss'/>
<flag name='virtio-crypto'/>
<flag name='netdev.user'/>
<version>5002000</version>
<microcodeVersion>39100243</microcodeVersion>
<package>qemu-5.2.0-20201215.0.ba93e22c.fc32</package>

View File

@ -160,6 +160,7 @@
<flag name='usb-host.guest-resets-all'/>
<flag name='virtio-crypto'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>5002000</version>
<microcodeVersion>43100243</microcodeVersion>
<package>v5.2.0</package>

View File

@ -137,6 +137,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='netdev.user'/>
<version>6000000</version>
<microcodeVersion>61700242</microcodeVersion>
<package>v6.0.0</package>

View File

@ -93,6 +93,7 @@
<flag name='migration.blocked-reasons'/>
<flag name='virtio-crypto'/>
<flag name='display-reload'/>
<flag name='netdev.user'/>
<version>6000000</version>
<microcodeVersion>39100242</microcodeVersion>
<package>qemu-6.0.0-20210517.1.4ff77070.fc33</package>

View File

@ -172,6 +172,7 @@
<flag name='pvpanic-pci'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>6000000</version>
<microcodeVersion>43100242</microcodeVersion>
<package>v6.0.0</package>

View File

@ -178,6 +178,7 @@
<flag name='virtio-gpu.blob'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>6001000</version>
<microcodeVersion>43100243</microcodeVersion>
<package>v6.1.0</package>

View File

@ -150,6 +150,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='netdev.user'/>
<version>6001050</version>
<microcodeVersion>61700244</microcodeVersion>
<package></package>

View File

@ -138,6 +138,7 @@
<flag name='virtio-gpu.blob'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>6002000</version>
<microcodeVersion>42900244</microcodeVersion>
<package>v6.2.0</package>

View File

@ -180,6 +180,7 @@
<flag name='virtio-gpu.blob'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>6002000</version>
<microcodeVersion>43100244</microcodeVersion>
<package>v6.2.0</package>

View File

@ -158,6 +158,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='netdev.user'/>
<version>6002092</version>
<microcodeVersion>61700243</microcodeVersion>
<package>v7.0.0-rc2</package>

View File

@ -158,6 +158,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='netdev.user'/>
<version>6002092</version>
<microcodeVersion>61700243</microcodeVersion>
<package>v7.0.0-rc2</package>

View File

@ -156,6 +156,7 @@
<flag name='virtio-gpu.blob'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7000000</version>
<microcodeVersion>42900243</microcodeVersion>
<package>v7.0.0</package>

View File

@ -186,6 +186,7 @@
<flag name='virtio-gpu.blob'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7000000</version>
<microcodeVersion>43100243</microcodeVersion>
<package>v7.0.0</package>

View File

@ -157,6 +157,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7001000</version>
<microcodeVersion>42900244</microcodeVersion>
<package>v7.1.0</package>

View File

@ -190,6 +190,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7001000</version>
<microcodeVersion>43100244</microcodeVersion>
<package>v7.1.0</package>

View File

@ -152,6 +152,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7002000</version>
<microcodeVersion>0</microcodeVersion>
<package>qemu-7.2.0-6.fc37</package>

View File

@ -194,6 +194,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7002000</version>
<microcodeVersion>43100245</microcodeVersion>
<package>v7.2.0</package>

View File

@ -194,6 +194,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7002000</version>
<microcodeVersion>43100245</microcodeVersion>
<package>v7.2.0</package>

View File

@ -140,6 +140,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>7002050</version>
<microcodeVersion>0</microcodeVersion>
<package>v7.2.0-333-g222059a0fc</package>

View File

@ -198,6 +198,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>8000000</version>
<microcodeVersion>43100244</microcodeVersion>
<package>v8.0.0</package>

View File

@ -121,6 +121,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>8001000</version>
<microcodeVersion>39100245</microcodeVersion>
<package>v8.1.0</package>

View File

@ -200,6 +200,7 @@
<flag name='smp-clusters'/>
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='netdev.user'/>
<version>8001000</version>
<microcodeVersion>43100245</microcodeVersion>
<package>v8.1.0</package>

View File

@ -167,6 +167,7 @@
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>8002000</version>
<microcodeVersion>61700246</microcodeVersion>
<package>v8.2.0</package>

View File

@ -174,6 +174,7 @@
<flag name='usb-mtp'/>
<flag name='machine.virt.ras'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>8002000</version>
<microcodeVersion>0</microcodeVersion>
<package>qemu-8.2.0-7.fc39</package>

View File

@ -157,6 +157,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>8002000</version>
<microcodeVersion>106300246</microcodeVersion>
<package>v8.2.0</package>

View File

@ -122,6 +122,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>8002000</version>
<microcodeVersion>39100246</microcodeVersion>
<package>v8.2.0</package>

View File

@ -203,6 +203,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>8002000</version>
<microcodeVersion>43100246</microcodeVersion>
<package>v8.2.0</package>

View File

@ -205,6 +205,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>9000000</version>
<microcodeVersion>43100245</microcodeVersion>
<package>v9.0.0</package>

View File

@ -203,6 +203,7 @@
<flag name='display-reload'/>
<flag name='usb-mtp'/>
<flag name='virtio-sound'/>
<flag name='netdev.user'/>
<version>9000050</version>
<microcodeVersion>43100246</microcodeVersion>
<package>v9.0.0-1388-g80e8f06021-dirty</package>