[ovs-dev] [PATCH monitor_cond V3 00/10] Implement conditional monitoring

Liran Schour lirans at il.ibm.com
Mon Feb 1 07:03:27 UTC 2016


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 on
all rows.

Note: With this patch the json cache will be used only for monitor sessions 
with an empty condition.

v2-v3:
* monitor_cond_update method receives a single json condition 
* Support non-monitored columns in condition
* Simplify IDL API for iteratively build condition by client
* Bug fixes
* Style issues

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 (10):
  ovsdb: create column index mapping between ovsdb row to monitor row
  ovsdb: add conditions utilities to support monitor_cond
  ovsdb: allow non-monitored columns for condition evaluation
  ovsdb: generate update notifications for monitor_cond session
  ovsdb-client: support monitor-cond
  ovsdb: enable jsonrpc-server to service "monitor_cond_update" request
  lib: add to ovsdb-idl monitor_id
  lib: add monitor_cond_update API to C IDL lib
  python: move Python idl to work with monitor_cond
  tests: add testing for idl conditional monitoring

 NEWS                     |   3 +-
 lib/ovsdb-idl-provider.h |  13 ++
 lib/ovsdb-idl.c          | 219 ++++++++++++++++--
 lib/ovsdb-idl.h          |  35 +++
 ovsdb/condition.c        | 191 +++++++++++++--
 ovsdb/condition.h        |  19 +-
 ovsdb/jsonrpc-server.c   | 222 +++++++++++++++---
 ovsdb/jsonrpc-server.h   |   2 +-
 ovsdb/monitor.c          | 587 ++++++++++++++++++++++++++++++++++++++++++-----
 ovsdb/monitor.h          |  48 +++-
 ovsdb/ovsdb-client.1.in  |  37 ++-
 ovsdb/ovsdb-client.c     |  70 ++++--
 ovsdb/ovsdb-idlc.in      | 168 ++++++++++++++
 ovsdb/ovsdb-server.1.in  | 230 +++++++++++++++++--
 ovsdb/ovsdb-server.c     |  20 +-
 ovsdb/query.c            |   4 +-
 python/ovs/db/data.py    |  18 +-
 python/ovs/db/idl.py     | 181 +++++++++++++--
 tests/ovs-vswitchd.at    |   8 +-
 tests/ovsdb-condition.at |  30 +++
 tests/ovsdb-idl.at       | 204 +++++++++++++++-
 tests/ovsdb-monitor.at   | 207 +++++++++++++++++
 tests/test-ovsdb.c       | 141 +++++++++++-
 tests/test-ovsdb.py      |  24 ++
 24 files changed, 2458 insertions(+), 223 deletions(-)

-- 
2.1.4





More information about the dev mailing list