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 <la...@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; } int diff --git a/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.args b/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.args index 7c030d7067..afbbe188cf 100644 --- a/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.args +++ b/tests/qemuxmlconfdata/net-vhostuser-passt.x86_64-latest.args @@ -28,13 +28,13 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -boot strict=on \ -blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMUGuest1","node-name":"libvirt-1-storage","read-only":false}' \ -device '{"driver":"ide-hd","bus":"ide.0","unit":0,"drive":"libvirt-1-storage","id":"ide0-0-0","bootindex":1}' \ --chardev socket,id=charnet0,path=/var/run/libvirt/qemu/passt/-1-QEMUGuest1-net0.socket \ +-chardev socket,id=charnet0,path=/var/run/libvirt/qemu/passt/-1-QEMUGuest1-net0.socket,reconnect-ms=5000 \ -netdev '{"type":"vhost-user","chardev":"charnet0","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"00:11:22:33:44:55","bus":"pci.0","addr":"0x2"}' \ --chardev socket,id=charnet1,path=/var/run/libvirt/qemu/passt/-1-QEMUGuest1-net1.socket \ +-chardev socket,id=charnet1,path=/var/run/libvirt/qemu/passt/-1-QEMUGuest1-net1.socket,reconnect-ms=5000 \ -netdev '{"type":"vhost-user","chardev":"charnet1","id":"hostnet1"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet1","id":"net1","mac":"00:11:22:33:44:11","bus":"pci.0","addr":"0x3"}' \ --chardev socket,id=charnet2,path=/var/run/libvirt/qemu/passt/-1-QEMUGuest1-net2.socket \ +-chardev socket,id=charnet2,path=/var/run/libvirt/qemu/passt/-1-QEMUGuest1-net2.socket,reconnect-ms=5000 \ -netdev '{"type":"vhost-user","chardev":"charnet2","id":"hostnet2"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet2","id":"net2","mac":"00:11:22:33:44:11","bus":"pci.0","addr":"0x4"}' \ -audiodev '{"id":"audio1","driver":"none"}' \ diff --git a/tests/qemuxmlconfdata/schema-reorder-domain-subelements.x86_64-latest.args b/tests/qemuxmlconfdata/schema-reorder-domain-subelements.x86_64-latest.args index d27dd77d9f..76df9c30b0 100644 --- a/tests/qemuxmlconfdata/schema-reorder-domain-subelements.x86_64-latest.args +++ b/tests/qemuxmlconfdata/schema-reorder-domain-subelements.x86_64-latest.args @@ -29,7 +29,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-passtvhostuu/.config \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \ -blockdev '{"driver":"file","filename":"/home/laine/libvirt/images/fedora-34.img","node-name":"libvirt-1-storage","read-only":false}' \ -device '{"driver":"virtio-blk-pci","bus":"pci.0","multifunction":true,"addr":"0x3","drive":"libvirt-1-storage","id":"virtio-disk0","bootindex":1}' \ --chardev socket,id=charnet0,path=/var/run/libvirt/qemu/passt/-1-passtvhostuu-net0.socket \ +-chardev socket,id=charnet0,path=/var/run/libvirt/qemu/passt/-1-passtvhostuu-net0.socket,reconnect-ms=5000 \ -netdev '{"type":"vhost-user","chardev":"charnet0","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":"52:54:00:21:de:6c","bus":"pci.0","addr":"0x2"}' \ -chardev pty,id=charserial0 \ -- 2.49.0