This patch series implements conditional monitoring by introducing an OVSDB RFC extension with 2 new JSON-RPC methods: "monitor_cond" and "monitor_cond_update". Specification of this extension is defined in the ovsdb-server (1) man page. Monitor2 is now merged into monitor_cond. A monitor_cond session with an empty condition, will behave exactly like monitor2 and will get update2 notifications.
Note: With this patch the json cache will be used only for monitor sessions with an empty condition. V1 --> V2: * Change monitor_cond_change to monitor_cond_update * monitor_cond_update spec allows now to change monitored columns (unsupported) * Use new <json-value> as a session ID as a result of monitor_cond_update command. * Clarifications in ovsdb-server(1) man page. * Bug fix in ovsdb_monitor_get_all_rows() * Fix style issues Liran Schour (12): ovsdb: create column index mapping between ovsdb row to monitor row ovsdb: add conditions utilities to support monitor_cond ovsdb: generate update notifications for monitor_cond session ovsdb-client: support monitor-cond lib: replace monitor2 with monitor_cond ovsdb: add API for changing monitor session's conditions ovsdb: enable jsonrpc-server to service "monitor_cond_update" request lib: add to ovsdb-idl monitor_id ovsdb: look for monitor id on all jsonrpc monitor sessions lib: add monitor_cond_update to idl session python: move Python idl to work with monitor_cond tests: add testing for idl conditional monitoring NEWS | 3 +- lib/ovsdb-idl-provider.h | 33 +++ lib/ovsdb-idl.c | 446 ++++++++++++++++++++++++++++++++++++++-- lib/ovsdb-idl.h | 14 ++ ovsdb/condition.c | 270 +++++++++++++++++++++++- ovsdb/condition.h | 28 ++- ovsdb/jsonrpc-server.c | 224 ++++++++++++++++++-- ovsdb/jsonrpc-server.h | 2 +- ovsdb/monitor.c | 525 +++++++++++++++++++++++++++++++++++++++++++---- ovsdb/monitor.h | 43 ++++ ovsdb/ovsdb-client.1.in | 37 ++-- ovsdb/ovsdb-client.c | 63 ++++-- ovsdb/ovsdb-server.1.in | 233 +++++++++++++++++++-- ovsdb/ovsdb-server.c | 20 +- ovsdb/query.c | 4 +- python/ovs/db/data.py | 12 ++ python/ovs/db/idl.py | 167 ++++++++++++++- tests/ovs-vswitchd.at | 8 +- tests/ovsdb-condition.at | 35 +++- tests/ovsdb-idl.at | 181 +++++++++++++++- tests/ovsdb-monitor.at | 178 ++++++++++++++++ tests/test-ovsdb.c | 81 +++++++- tests/test-ovsdb.py | 24 +++ 23 files changed, 2439 insertions(+), 192 deletions(-) -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev