On Thu, Apr 10, 2025 at 02:58:30 -0400, Laine Stump wrote:
When "original passt" support was added, we decided that we
always
wanted to reconnect (i.e. restart the passt process) if it was somehow
terminated. Generic vhost-user only turns on reconnect if specified in
the config, but there is no reason to require this if the other end of
the vhost-user socket is a passt process - we know what has happened
and what we want to do; no reason to make the default configuration
"do the *wrong* thing".
Resolves:
https://issues.redhat.com/browse/RHEL-80169
Signed-off-by: Laine Stump <laine(a)redhat.com>
---
src/qemu/qemu_passt.c | 6 ++++++
.../qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.args | 6 +++---
.../schema-reorder-domain-subelements.x86_64-latest.args | 2 +-
3 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/src/qemu/qemu_passt.c b/src/qemu/qemu_passt.c
index bc495eca1e..018630a5de 100644
--- a/src/qemu/qemu_passt.c
+++ b/src/qemu/qemu_passt.c
@@ -182,6 +182,12 @@ qemuPasstPrepareVhostUser(virDomainObj *vm,
*/
g_free(net->data.vhostuser->data.nix.path);
net->data.vhostuser->data.nix.path = qemuPasstCreateSocketPath(vm, net);
+
+ /* reconnect is always enabled, with timeout always at 5 seconds, when
+ * using passt
+ */
+ net->data.vhostuser->data.nix.reconnect.enabled = VIR_TRISTATE_BOOL_YES;
+ net->data.vhostuser->data.nix.reconnect.timeout = 5;
Hmm, shouldn't this be reflected in the XML? That is, I would expect a
post-parse function to set these defaults. And the current code
overrides user specified settings (either disabling or setting a
different timeout), which doesn't is not right. Actually, looking at our
documentation the <reconnect> it seems we don't even support setting
reconnect for vhost-user with passt backend. If that's the case, the
code is fine as is except for the following nit, which I'd like to see
addressed anyway...
And I suggest relacing the 5 seconds timeout with a macro that would
also be used in qemuPasstAddNetProps.
Jirka