- qemu_migration: Refactor qemuMigrationSrcRestoreDomainState (RHEL-79168) - qemu_migration: Do not automatically resume domain after I/O error (RHEL-79168) - qemucapabilitiestest: Add data for the qemu-10.0 dev cycle on x86_64 (RHEL-79095) - qemucapabilitiestest: Update 'caps_10.0.0_x86_64' to 'v9.2.0-1636-gffaf7f0376' (RHEL-79095) - qemu: capabilies: Introduce QEMU_CAPS_BLOCKDEV_SET_ACTIVE (RHEL-79095) - qemu: monitor: Add monitor backend for 'blockdev-set-active' (RHEL-79095) - qemu: migration: Reactivate block nodes after migration if VM is left paused (RHEL-79095) - conf: change virDomainHostdevInsert() to return void (RHEL-69455) - qemu: fix qemu validation to forbid guest-side IP address for type='vdpa' (RHEL-69455) - qemu: validate that model is virtio for vhostuser and vdpa interfaces in the same place (RHEL-69455) - qemu: automatically set model type='virtio' for interface type='vhostuser' (RHEL-69455) - qemu: do all vhostuser attribute validation in qemu driver (RHEL-69455) - conf/qemu: make <source> element *almost* optional for type=vhostuser (RHEL-69455) - qemu: use switch instead of if in qemuProcessPrepareDomainNetwork() (RHEL-69455) - qemu: make qemuPasstCreateSocketPath() public (RHEL-69455) - qemu: complete vhostuser + passt support (RHEL-69455) - qemu: fail validation if a domain def has vhostuser/passt but no shared mem (RHEL-69455) - docs: improve type='user' docs to higlight differences between SLIRP and passt (RHEL-69455) - docs: document using passt backend with <interface type='vhostuser'> (RHEL-69455) - utils: Canonicalize paths before comparing them (RHEL-79166) Resolves: RHEL-69455, RHEL-79095, RHEL-79166, RHEL-79168
76 lines
3.0 KiB
Diff
76 lines
3.0 KiB
Diff
From a12b87879f0a1dca59c5953ac3a91a36685d17ce Mon Sep 17 00:00:00 2001
|
|
Message-ID: <a12b87879f0a1dca59c5953ac3a91a36685d17ce.1739824249.git.jdenemar@redhat.com>
|
|
From: Laine Stump <laine@redhat.com>
|
|
Date: Sun, 9 Feb 2025 19:01:32 -0500
|
|
Subject: [PATCH] qemu: do all vhostuser attribute validation in qemu driver
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Since vhostuser is only used/supported by the QEMU driver, and all the
|
|
rest of the vhostuser-specific validation is done in QEMU's
|
|
validation, lets move the final check (to see if they've tried to
|
|
enable auto-reconnect when this interface is on the server side of the
|
|
vhostuser socket) to the QEMU validate.
|
|
|
|
Signed-off-by: Laine Stump <laine@redhat.com>
|
|
Reviewed-by: Ján Tomko <jtomko@redhat.com>
|
|
(cherry picked from commit 56f4cc167a6c93ec420c82f15a265ec08469279d)
|
|
|
|
https://issues.redhat.com/browse/RHEL-69455
|
|
Signed-off-by: Laine Stump <laine@redhat.com>
|
|
---
|
|
src/conf/domain_validate.c | 10 +---------
|
|
src/qemu/qemu_validate.c | 8 ++++++++
|
|
2 files changed, 9 insertions(+), 9 deletions(-)
|
|
|
|
diff --git a/src/conf/domain_validate.c b/src/conf/domain_validate.c
|
|
index f56ff5b7bb..dacde1f780 100644
|
|
--- a/src/conf/domain_validate.c
|
|
+++ b/src/conf/domain_validate.c
|
|
@@ -2179,15 +2179,6 @@ virDomainNetDefValidate(const virDomainNetDef *net)
|
|
}
|
|
|
|
switch (net->type) {
|
|
- case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
|
|
- if (net->data.vhostuser->data.nix.listen &&
|
|
- net->data.vhostuser->data.nix.reconnect.enabled == VIR_TRISTATE_BOOL_YES) {
|
|
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
|
- _("'reconnect' attribute unsupported 'server' mode for <interface type='vhostuser'>"));
|
|
- return -1;
|
|
- }
|
|
- break;
|
|
-
|
|
case VIR_DOMAIN_NET_TYPE_USER:
|
|
if (net->backend.type == VIR_DOMAIN_NET_BACKEND_PASST) {
|
|
size_t p;
|
|
@@ -2211,6 +2202,7 @@ virDomainNetDefValidate(const virDomainNetDef *net)
|
|
}
|
|
break;
|
|
|
|
+ case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
|
|
case VIR_DOMAIN_NET_TYPE_NETWORK:
|
|
case VIR_DOMAIN_NET_TYPE_VDPA:
|
|
case VIR_DOMAIN_NET_TYPE_BRIDGE:
|
|
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
|
|
index 841d320541..b7b2e3d0af 100644
|
|
--- a/src/qemu/qemu_validate.c
|
|
+++ b/src/qemu/qemu_validate.c
|
|
@@ -1810,6 +1810,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
|
|
}
|
|
}
|
|
|
|
+ if (net->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER &&
|
|
+ net->data.vhostuser->data.nix.listen &&
|
|
+ net->data.vhostuser->data.nix.reconnect.enabled == VIR_TRISTATE_BOOL_YES) {
|
|
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
|
|
+ _("'reconnect' attribute is not supported when source mode='server' for <interface type='vhostuser'>"));
|
|
+ return -1;
|
|
+ }
|
|
+
|
|
if (!virDomainNetIsVirtioModel(net)) {
|
|
if (net->type == VIR_DOMAIN_NET_TYPE_VDPA ||
|
|
net->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
|
|
--
|
|
2.48.1
|