From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:50274) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1grL2j-0003Q3-Pr for qemu-devel@nongnu.org; Wed, 06 Feb 2019 06:07:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1grL2i-0006gw-L3 for qemu-devel@nongnu.org; Wed, 06 Feb 2019 06:07:01 -0500 Received: from mx1.redhat.com ([209.132.183.28]:47190) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1grL2i-0006fd-E8 for qemu-devel@nongnu.org; Wed, 06 Feb 2019 06:07:00 -0500 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id CF4B336883 for ; Wed, 6 Feb 2019 11:00:49 +0000 (UTC) From: "Dr. David Alan Gilbert (git)" Date: Wed, 6 Feb 2019 11:00:35 +0000 Message-Id: <20190206110044.21662-1-dgilbert@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v3 0/9] Network announce changes List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org, jasowang@redhat.com, quintela@redhat.com, armbru@redhat.com, eblake@redhat.com, mst@redhat.com Cc: germano@redhat.com From: "Dr. David Alan Gilbert" Hi, This is a reworking of a few sets of patches from 2017 that were put together by myself, Germano and Vlad that make the network announce system more flexible. Firstly, it's parameterised, so that you can change the number of packets and the gap between them; the number can be set to 0 to disable announce completely. Secondly, you can force an announce by a qmp or hmp command at any time. This is useful if you need the guest to do an announce for a different reason; for example if the management layer has just juggled some bonding configuration around. The packet creation and timing also moves to net/ from migration/ The previous set was: https://lists.gnu.org/archive/html/qemu-devel/2017-05/msg05594.html Dave v3 Fixes from Markus's review: blank lines, and json tweaks v2 Fix the qmp example Typo fixes Dr. David Alan Gilbert (9): net: Introduce announce timer migration: Add announce parameters virtio-net: Switch to using announce timer migration: Switch to using announce timer net: Add a network device specific self-announcement ability virtio-net: Allow qemu_announce_self to trigger virtio announcements qmp: Add announce-self command hmp: Add hmp_announce_self tests: Add a test for qemu self announcements hmp-commands.hx | 14 ++++ hmp.c | 33 ++++++++ hmp.h | 1 + hw/net/trace-events | 6 ++ hw/net/virtio-net.c | 69 ++++++++++++---- include/hw/virtio/virtio-net.h | 4 +- include/migration/misc.h | 12 +-- include/net/announce.h | 41 ++++++++++ include/net/net.h | 2 + include/qemu/typedefs.h | 2 + include/sysemu/sysemu.h | 2 - migration/migration.c | 103 +++++++++++++++++++++++- migration/migration.h | 4 + migration/savevm.c | 72 +---------------- migration/trace-events | 1 - net/Makefile.objs | 1 + net/announce.c | 140 +++++++++++++++++++++++++++++++++ net/trace-events | 3 + qapi/migration.json | 53 ++++++++++++- qapi/net.json | 43 ++++++++++ tests/Makefile.include | 2 + tests/test-announce-self.c | 83 +++++++++++++++++++ tests/test-hmp.c | 1 + 23 files changed, 589 insertions(+), 103 deletions(-) create mode 100644 include/net/announce.h create mode 100644 net/announce.c create mode 100644 tests/test-announce-self.c --=20 2.20.1