On Tue, May 12, 2026 at 07:08:19PM +0200, Roman Bogorodskiy wrote:
Daniel P. Berrangé wrote:
On Mon, May 11, 2026 at 07:22:15PM +0200, Roman Bogorodskiy wrote:
Implement QEMU Guest Agent support for bhyve. In bhyve it can configured using the virtio-console device.
This change covers only two APIs using the agent:
- DomainQemuAgentCommand -- the most generic one. - DomainGetHostname -- extended to support not only DHCP lease source, but an agent as well.
There are two things that I'm not sure about this patch.
- The protocol files were updated to make DomainQemuAgentCommand generic instead of Qemu specific. QEMU_PROC_DOMAIN_AGENT_COMMAND was removed in favor of REMOTE_PROC_DOMAIN_QEMU_AGENT_COMMAND.
Even though the protocol is documented as private, I'm not sure how desired this change is.
While we declare the extra protocols "Subject to change", we really shouldn't change them without compelling reason, and I don't think we have one. Either just add the new API in parallel with the old one, or we could declare that the bhyve driver uses the libvirt-qemu.so library for QEMU guest agent interaction and not change the protocol at all ? Despite the name libvirt-qemu.so doesn't have a tight coupling with thue QEMU driver.
It looks libvirt-qemu does not solve the issue. The main trigger for extending the protocol was the lack of ACL check in my bhyveDomainQemuAgentCommand() implementation. And as virDomainQemuAgentCommandEnsureACL() is available only in the generated access/viraccessapicheckqemu.h file, it does not seem there is a way I can use it.
Can you not #include "viraccessapicheckqemu.h" it ? AFAIR it is tied to the QEMU driver in name only, no functional dep. With regards, Daniel -- |: https://berrange.com ~~ https://hachyderm.io/@berrange :| |: https://libvirt.org ~~ https://entangle-photo.org :| |: https://pixelfed.art/berrange ~~ https://fstop138.berrange.com :|