qemu_announce_self() is triggered by qemu at the end of migrations to update the network regarding the path to the guest l2addr.
however it is also useful when there is a network change such as an active bond slave swap. Essentially, it's the same as a migration from a network perspective - the guest moves to a different point in the network topology. this exposes the function via qmp. Signed-off-by: Germano Veit Michel <germ...@redhat.com> --- migration/savevm.c | 5 +++++ qapi-schema.json | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/migration/savevm.c b/migration/savevm.c index f9c06e9..7a817dc 100644 --- a/migration/savevm.c +++ b/migration/savevm.c @@ -143,6 +143,11 @@ void qemu_announce_self(void) qemu_announce_self_once(&timer); } +void qmp_announce_self(Error **errp) +{ + qemu_announce_self(); +} + /***********************************************************/ /* savevm/loadvm support */ diff --git a/qapi-schema.json b/qapi-schema.json index ce20f16..6854266 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -4786,3 +4786,21 @@ # Since: 2.7 ## { 'command': 'query-hotpluggable-cpus', 'returns': ['HotpluggableCPU'] } + +## +# @announce-self: +# +# Trigger generation of broadcast RARP frames to update network switches. +# This can be useful when network bonds fail-over the active slave. +# +# Arguments: None. +# +# Example: +# +# -> { "execute": "announce-self" } +# <- { "return": {} } +# +# Since: 2.9 +## +{ 'command': 'announce-self' } + -- 2.9.3