qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 00/12] self-announce updates


From: Vladislav Yasevich
Subject: [Qemu-devel] [PATCH 00/12] self-announce updates
Date: Wed, 24 May 2017 14:05:16 -0400

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

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]