On Tue, Jun 02, 2026 at 01:46:44 -0400, Laine Stump via Devel wrote:
From: Laine Stump <laine@redhat.com>
This new function sends the command "self-announce" to QEMU, causing it to inject a series of gratuitous ARP packets (GARP) into the output stream of one or all guest interfaces, which will force any switches the same collision domain to update their forwarding db for that interface.
There are several parameters that control which interfaces the GARP packets are sent on, as well as their number and interval, but all of these parameters have sane defaults (even though QEMU's own self-announce requires they all be specified in the QMP command).
All parameters except the device are just unsigned integers; the QEMU command accepts a list of interface devices, but it seems much more likely that someone will either want to announce a single interface, or all of them, so our function just accepts a single device name that can be present or not, and puts that single name into a list (in the rare case that someone wants to announce multiple interfaces but not all of them, they can call our API multiple times).
Signed-off-by: Laine Stump <laine@redhat.com> --- src/qemu/qemu_monitor.c | 13 +++++++++ src/qemu/qemu_monitor.h | 8 ++++++ src/qemu/qemu_monitor_json.c | 55 ++++++++++++++++++++++++++++++++++++ src/qemu/qemu_monitor_json.h | 8 ++++++ 4 files changed, 84 insertions(+)
Missing addition to qemumonitorjsontest. You can post it separately if you want but I really want that all commands (which don't have a commandline alternative) are tested because qemumonitorjsontest actually validates all arguments against the QMP schema, which allows us to spot if qemu e.g. deprecates them.