Here are some cleanup, as promised here: https://listman.redhat.com/archives/libvir-list/2023-February/237721.html
Now, there are still some patches missing. Firstly, we still don't really capture error from passt. My suggestion was to wait for socket to show up with errfd open. But active wait is viewed as undesirable [1]. Secondly, Laine reported SELinux issues. Yeah, I don't see us setting SELinux label on nor socket that passt and QEMU talk to each other, nor on the log file. Speaking of which - we usually have per domain (or per helper daemon instance even) log file, while for passt we have a global one (/var/log/passt.log). I don't think that will fly if two or more SELinux enabled domains want to use passt. Thirdly, Stefano suggested a graceful shutdown for passt: have libvirt connect to the socket and close it. Since we pass --one-off, this should singal passt to exit. But I haven't implemented that because it's redundant. We can't rely on passt quitting itself and thus use the big gun (virPidFileForceCleanupPath()) at which point, the socket way is just an optimization. I might look into the first two, at some point. But not today. 1: https://listman.redhat.com/archives/libvir-list/2023-February/237663.html Michal Prívozník (4): Revert "qemu: allow passt to self-daemonize" qemu_extdevice: Make qemuExtDevicesHasDevice() check def->nets qemu_passt: Report error when getting passt PID failed qemu_passt: Don't let passt fork off src/qemu/qemu_extdevice.c | 11 +++++++++++ src/qemu/qemu_passt.c | 15 ++++++++++----- 2 files changed, 21 insertions(+), 5 deletions(-) -- 2.39.1