提交 06150279 编写于 作者: W Wenchao Xia 提交者: Luiz Capitulino

qapi event: convert NIC_RX_FILTER_CHANGED

Param name is declared as optional, since in code it is an optional
one.
Signed-off-by: NWenchao Xia <wenchaoqemu@gmail.com>
Signed-off-by: NPaolo Bonzini <pbonzini@redhat.com>
Reviewed-by: NEric Blake <eblake@redhat.com>
Signed-off-by: NLuiz Capitulino <lcapitulino@redhat.com>
上级 bcada37b
...@@ -42,23 +42,6 @@ Example: ...@@ -42,23 +42,6 @@ Example:
{ "event": "GUEST_PANICKED", { "event": "GUEST_PANICKED",
"data": { "action": "pause" } } "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 QUORUM_FAILURE
-------------- --------------
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
#include "net/vhost_net.h" #include "net/vhost_net.h"
#include "hw/virtio/virtio-bus.h" #include "hw/virtio/virtio-bus.h"
#include "qapi/qmp/qjson.h" #include "qapi/qmp/qjson.h"
#include "monitor/monitor.h" #include "qapi-event.h"
#define VIRTIO_NET_VM_VERSION 11 #define VIRTIO_NET_VM_VERSION 11
...@@ -199,19 +199,12 @@ static void virtio_net_set_link_status(NetClientState *nc) ...@@ -199,19 +199,12 @@ static void virtio_net_set_link_status(NetClientState *nc)
static void rxfilter_notify(NetClientState *nc) static void rxfilter_notify(NetClientState *nc)
{ {
QObject *event_data;
VirtIONet *n = qemu_get_nic_opaque(nc); VirtIONet *n = qemu_get_nic_opaque(nc);
if (nc->rxfilter_notify_enabled) { if (nc->rxfilter_notify_enabled) {
gchar *path = object_get_canonical_path(OBJECT(n->qdev)); gchar *path = object_get_canonical_path(OBJECT(n->qdev));
if (n->netclient_name) { qapi_event_send_nic_rx_filter_changed(!!n->netclient_name,
event_data = qobject_from_jsonf("{ 'name': %s, 'path': %s }", n->netclient_name, path, &error_abort);
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);
g_free(path); g_free(path);
/* disable event notification to avoid events flooding */ /* disable event notification to avoid events flooding */
......
...@@ -122,3 +122,18 @@ ...@@ -122,3 +122,18 @@
## ##
{ 'event': 'DEVICE_DELETED', { 'event': 'DEVICE_DELETED',
'data': { '*device': 'str', 'path': 'str' } } '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' } }
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册