From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([209.51.188.92]:40722) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gubGa-0007UB-P5 for qemu-devel@nongnu.org; Fri, 15 Feb 2019 06:02:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gub2I-0007qA-9s for qemu-devel@nongnu.org; Fri, 15 Feb 2019 05:48:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55600) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gub2G-0007RS-8t for qemu-devel@nongnu.org; Fri, 15 Feb 2019 05:48: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 C9C641314F0 for ; Fri, 15 Feb 2019 10:47:55 +0000 (UTC) From: "Dr. David Alan Gilbert (git)" Date: Fri, 15 Feb 2019 10:47:38 +0000 Message-Id: <20190215104747.16770-1-dgilbert@redhat.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v4 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 Cc: mst@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 v4 Two minor fixes: a) Don't typedef AnnounceParameters; qapi was also doing this for us and causing a failure on clang b) Only run the test on x86 and Power; we can make it more selective in the future, but this stops it being run on things with no appropriate NIC. 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 | 1 + 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 | 3 + 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