[ovs-dev] [PATCH monitor_cond 09/12] ovsdb: look for monitor id on all jsonrpc monitor sessions
Liran Schour
lirans at il.ibm.com
Tue Jan 5 13:14:02 UTC 2016
That will be used later to issue "monitor_cond_change" command.
Signed-off-by: Liran Schour <lirans at il.ibm.com>
---
ovsdb/jsonrpc-server.c | 17 +++++++++++++----
1 file changed, 13 insertions(+), 4 deletions(-)
diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c
index ecaf379..2b7b4d1 100644
--- a/ovsdb/jsonrpc-server.c
+++ b/ovsdb/jsonrpc-server.c
@@ -1071,12 +1071,21 @@ static struct ovsdb_jsonrpc_monitor *
ovsdb_jsonrpc_monitor_find(struct ovsdb_jsonrpc_session *s,
const struct json *monitor_id)
{
+ struct ovsdb_jsonrpc_server *svr = s->remote->server;
struct ovsdb_jsonrpc_monitor *m;
+ struct shash_node *node;
- HMAP_FOR_EACH_WITH_HASH (m, node, json_hash(monitor_id, 0), &s->monitors) {
- if (json_equal(m->monitor_id, monitor_id)) {
- return m;
- }
+ SHASH_FOR_EACH (node, &svr->remotes) {
+ struct ovsdb_jsonrpc_remote *remote = node->data;
+
+ LIST_FOR_EACH (s, node, &remote->sessions) {
+ HMAP_FOR_EACH_WITH_HASH (m, node,
+ json_hash(monitor_id, 0), &s->monitors) {
+ if (json_equal(m->monitor_id, monitor_id)) {
+ return m;
+ }
+ }
+ }
}
return NULL;
--
2.1.4
More information about the dev
mailing list