* Vladislav Yasevich (vyase...@redhat.com) wrote: > This work a consolidation of the work by David Gilbert, Germano > Veit Michel and myself. > > It started out with David wanting to parametirize self-announcments > so that the user may control how often annoucment packets (RARPs) > were generated by Qemu. > > At about the same time, Germano wanted to expose qemu_announce_self() > through a QMP command, to solve the issues of running qemu with a > bond device as an uplink in the bridge. In this case, when there was > failover event in the bond, we want a way to trigger qemu to announce > itslef to make traffic flow to a different port in the bond. > As an extension of this work, I propsed a expose annoucement capabilities > in devices (like virtio-net) and consolidate the announcemnts. > > This series is all of the above wraped together with a bunch of > modifications. > > To begin with, I've separated the annocement parameters from migration > as they are now not migration specific. I am also providing a way > to set and retrieve current annoucemet values (like initial and max > timeouts, number of annoucments, etc..) > > The series converts migration annoucement (including virito-net) to > use the new parameters, but allows virtio-net to manage its own timer > mainly due to the fact that it's running on a different clock and > finding a new place to call qemu_announce_self() didn't yeild good > results. > > We expose qemu-announce-self() through QMP and HMP and add unit tests > for all new commands. > > And finally, this series limites the number of timers that can be > created through the new commands, and have the ability to reset > currently runing timers.
Thanks, I think this is a pretty nice collection; I've commented on most of the patches individually - nothing too major. Dave > Thanks > > Vladislav Yasevich (12): > migration: Introduce announce parameters > migration: Introduce announcement timer > migration: Switch to using announcement timer > net: Add a network device specific self-announcement ability > virtio-net: Allow qemu_announce_self to trigger virtio announcements > qmp: Expose qemu_announce_self as a qmp command > migration: Allow for a limited number of announce timers > announce_timer: Add ability to reset an existing timer > hmp: add announce paraters info/set > hmp: Add hmp_announce_self > tests/test-hmp: Add announce parameter tests > tests: Add a test for qemu self announcments > > hmp-commands-info.hx | 13 +++ > hmp-commands.hx | 28 ++++++ > hmp.c | 91 +++++++++++++++++++ > hmp.h | 5 + > hw/net/virtio-net.c | 58 +++++++++--- > include/hw/virtio/virtio-net.h | 3 +- > include/migration/vmstate.h | 32 +++++-- > include/net/net.h | 2 + > include/sysemu/sysemu.h | 16 +++- > migration/migration.c | 2 +- > migration/savevm.c | 201 > ++++++++++++++++++++++++++++++++++++++--- > monitor.c | 18 ++++ > qapi-schema.json | 103 +++++++++++++++++++++ > tests/Makefile.include | 2 + > tests/test-announce-self.c | 78 ++++++++++++++++ > tests/test-hmp.c | 2 + > 16 files changed, 617 insertions(+), 37 deletions(-) > create mode 100644 tests/test-announce-self.c > > -- > 2.7.4 > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK