From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54832) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wx9cE-0001Vg-4Y for qemu-devel@nongnu.org; Wed, 18 Jun 2014 02:45:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wx9c4-00037k-OL for qemu-devel@nongnu.org; Wed, 18 Jun 2014 02:45:01 -0400 Received: from mail-we0-x22f.google.com ([2a00:1450:400c:c03::22f]:57838) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wx9c4-00037Z-HM for qemu-devel@nongnu.org; Wed, 18 Jun 2014 02:44:52 -0400 Received: by mail-we0-f175.google.com with SMTP id k48so331580wev.20 for ; Tue, 17 Jun 2014 23:44:51 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Wed, 18 Jun 2014 08:43:48 +0200 Message-Id: <1403073840-32603-25-git-send-email-pbonzini@redhat.com> In-Reply-To: <1403073840-32603-1-git-send-email-pbonzini@redhat.com> References: <1403073840-32603-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PATCH 2.1 24/36] qapi event: convert NIC_RX_FILTER_CHANGED List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: wenchaoqemu@gmail.com, lcapitulino@redhat.com From: Wenchao Xia Param name is declared as optional, since in code it is an optional one. Signed-off-by: Wenchao Xia Signed-off-by: Paolo Bonzini --- docs/qmp/qmp-events.txt | 17 ----------------- hw/net/virtio-net.c | 13 +++---------- qapi-event.json | 15 +++++++++++++++ 3 files changed, 18 insertions(+), 27 deletions(-) diff --git a/docs/qmp/qmp-events.txt b/docs/qmp/qmp-events.txt index c57d5df..101f207 100644 --- a/docs/qmp/qmp-events.txt +++ b/docs/qmp/qmp-events.txt @@ -32,23 +32,6 @@ Example: { "event": "GUEST_PANICKED", "data": { "action": "pause" } } -NIC_RX_FILTER_CHANGED ---------------------- - -The event is emitted once until the query command is executed, -the first event will always be emitted. - -Data: - -- "name": net client name (json-string) -- "path": device path (json-string) - -{ "event": "NIC_RX_FILTER_CHANGED", - "data": { "name": "vnet0", - "path": "/machine/peripheral/vnet0/virtio-backend" }, - "timestamp": { "seconds": 1368697518, "microseconds": 326866 } } -} - QUORUM_FAILURE -------------- diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 940a7cf..a423a7b 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -22,7 +22,7 @@ #include "net/vhost_net.h" #include "hw/virtio/virtio-bus.h" #include "qapi/qmp/qjson.h" -#include "monitor/monitor.h" +#include "qapi-event.h" #define VIRTIO_NET_VM_VERSION 11 @@ -196,19 +196,12 @@ static void virtio_net_set_link_status(NetClientState *nc) static void rxfilter_notify(NetClientState *nc) { - QObject *event_data; VirtIONet *n = qemu_get_nic_opaque(nc); if (nc->rxfilter_notify_enabled) { gchar *path = object_get_canonical_path(OBJECT(n->qdev)); - if (n->netclient_name) { - event_data = qobject_from_jsonf("{ 'name': %s, 'path': %s }", - n->netclient_name, path); - } else { - event_data = qobject_from_jsonf("{ 'path': %s }", path); - } - monitor_protocol_event(QEVENT_NIC_RX_FILTER_CHANGED, event_data); - qobject_decref(event_data); + qapi_event_send_nic_rx_filter_changed(!!n->netclient_name, + n->netclient_name, path, &error_abort); g_free(path); /* disable event notification to avoid events flooding */ diff --git a/qapi-event.json b/qapi-event.json index c880d77..b8dec47 100644 --- a/qapi-event.json +++ b/qapi-event.json @@ -122,3 +122,18 @@ ## { 'event': 'DEVICE_DELETED', 'data': { '*device': 'str', 'path': 'str' } } + +## +# @NIC_RX_FILTER_CHANGED +# +# Emitted once until the 'query-rx-filter' command is executed, the first event +# will always be emitted +# +# @name: #optional, net client name +# +# @path: device path +# +# Since: 1.6 +## +{ 'event': 'NIC_RX_FILTER_CHANGED', + 'data': { '*name': 'str', 'path': 'str' } } -- 1.9.3