vhost-user with a passt backend doesn't support using multiple queues.
The path of the socket is auto-generated by libvirt for
vhost-user/passt; it can't be set by the user
The passt end of a vhost-user socket is always the server, and the
qemu end is always a client.
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
Change since V1 - use single quotes instead of escaped double quotes
src/qemu/qemu_validate.c | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 2479596628..9a91f92410 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1823,6 +1823,24 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNetDef *net,
if (net->type == VIR_DOMAIN_NET_TYPE_VHOSTUSER) {
if (qemuValidateDomainDefVhostUserRequireSharedMemory(def, "vhostuser")
< 0)
return -1;
+
+ if (net->backend.type == VIR_DOMAIN_NET_BACKEND_PASST) {
+ if (net->driver.virtio.queues > 0) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("interface type='vhostuser' backend
type='passt' does not support multiple queues"));
+ return -1;
+ }
+ if (net->data.vhostuser->data.nix.path) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("'path' attribute cannot be set for
interface type='vhostuser' backend type='passt'"));
+ return -1;
+ }
+ if (net->data.vhostuser->data.nix.listen) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+ _("mode='server' is not supported for
interface type='vhostuser' backend type='passt'"));
+ return -1;
+ }
+ }
}
if (net->type == VIR_DOMAIN_NET_TYPE_VDPA) {
--
2.48.1