[ovs-git] [openvswitch/ovs] 6cef8e: ovsdb: refactor, add ovsdb_monitor_max_columns()

GitHub noreply at github.com
Fri Dec 11 22:22:11 UTC 2015


  Branch: refs/heads/master
  Home:   https://github.com/openvswitch/ovs
  Commit: 6cef8e87b3237d3233a6696844e41f5c614aae17
      https://github.com/openvswitch/ovs/commit/6cef8e87b3237d3233a6696844e41f5c614aae17
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M ovsdb/monitor.c

  Log Message:
  -----------
  ovsdb: refactor, add ovsdb_monitor_max_columns()

This function will have multiple callers in later patches.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: aefd97b779035f83369723b129f14c80364e5f1e
      https://github.com/openvswitch/ovs/commit/aefd97b779035f83369723b129f14c80364e5f1e
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M lib/ovsdb-data.c
    M lib/ovsdb-data.h

  Log Message:
  -----------
  lib: avoid set size check when generating  diff datum from json

Added ovsdb_transient_datum_from_json() to avoid size check for
the diff datum that is transient in nature.
Suppose a datum contains set, and the max number of elements is 2.
If we are changing from set that contains [A, B], to a set contains
[C, D], the diff datum will contains 4 elements [A, B, C, D].

Thus diff datum should not be constrained by the size limit. However
the datum after diff is applied should not violate the size limit.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: a711c31730bd186e77715e8ba4057f0d32251eb4
      https://github.com/openvswitch/ovs/commit/a711c31730bd186e77715e8ba4057f0d32251eb4
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M tests/ovsdb-data.at

  Log Message:
  -----------
  ovsdb-date.at: convert tabs into spaces

No content change.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: 1a6f1cefc0ecfc60f13b815d53666421e6e0b1a0
      https://github.com/openvswitch/ovs/commit/1a6f1cefc0ecfc60f13b815d53666421e6e0b1a0
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M lib/ovsdb-data.c
    M lib/ovsdb-data.h
    M tests/ovsdb-data.at
    M tests/test-ovsdb.c

  Log Message:
  -----------
  lib: add diff and apply diff APIs for ovsdb_datum

When an OVSDB column change its value, it is more efficient to only
send what has changed, rather than sending the entire new copy.
This is analogous to software programmer send patches rather than
the entire source file.

For columns store a single element, the "diff" datum is the same
as the "new" datum.

For columns that store set or map, it is only necessary to send the
information about the elements changed (including addition or removal).
The "diff" for those types are all elements that are changed.

Those APIs are mainly used for implementing a new OVSDB server
"update2" JSON-RPC notification, which encodes modifications
of a column with the contents of those "diff"s. Later patch implements
the "update2" notification.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: 52553aeaa95ab46a1c120a8628621d8ed390a91f
      https://github.com/openvswitch/ovs/commit/52553aeaa95ab46a1c120a8628621d8ed390a91f
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M ovsdb/jsonrpc-server.c
    M ovsdb/monitor.c
    M ovsdb/monitor.h
    M ovsdb/ovsdb-server.1.in

  Log Message:
  -----------
  ovsdb: generate update2 notification for a monitor2 session

Add functions that can generate "update2" notification for a
"monitor2" session. "monitor2" and "update2" are RFC 7047 extensions
described by ovsdb-server(1) manpage. See the manpage changes
for more details.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: 92f8d65b1fa02c8bc0714e57ce6378e1a521a1a6
      https://github.com/openvswitch/ovs/commit/92f8d65b1fa02c8bc0714e57ce6378e1a521a1a6
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M NEWS
    M ovsdb/jsonrpc-server.c

  Log Message:
  -----------
  ovsdb: enable jasonrpc-server to service monitor2 request

ovsdb-server now accepts the new "monitor2" request. The next
patch will switch IDL to use monitor2 by default.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: 85226894ddec78f5aa7b7ab5dd8e8d11cc0fbde0
      https://github.com/openvswitch/ovs/commit/85226894ddec78f5aa7b7ab5dd8e8d11cc0fbde0
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M ovsdb/monitor.h
    M ovsdb/ovsdb-client.1.in
    M ovsdb/ovsdb-client.c

  Log Message:
  -----------
  ovsdb-client: support monitor2

Add monitor2 option to ovsdb-client. See ovsdb-client(1) manpage patch
for details.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: db2b5757328c36ff452c5c6af360cbc7fb05f0c8
      https://github.com/openvswitch/ovs/commit/db2b5757328c36ff452c5c6af360cbc7fb05f0c8
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M lib/ovsdb-idl.c
    M tests/ovsdb-idl.at

  Log Message:
  -----------
  lib: add monitor2 support in ovsdb-idl.

Add support for monitor2. When idl starts to run, monitor2 will be
attempted first. In case the server is an older version that does
not recognize monitor2.  IDL will then fall back to use "monitor"
method.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


  Commit: e47cb14c2a1adfff347a311389767fc5f0529353
      https://github.com/openvswitch/ovs/commit/e47cb14c2a1adfff347a311389767fc5f0529353
  Author: Andy Zhou <azhou at nicira.com>
  Date:   2015-12-11 (Fri, 11 Dec 2015)

  Changed paths:
    M ovsdb/jsonrpc-server.c
    M ovsdb/jsonrpc-server.h
    M ovsdb/ovsdb-server.c
    M tests/ovs-vswitchd.at

  Log Message:
  -----------
  ovsdb: test ovs-vswitchd for backward compatibility

Add test to make sure ovs-vswitchd fall back to use the
"monitor" method when connecting to an older ovsdb-server that
does not support "monitor2".

For testing backward compatibility, add an ovs-appctl command:
"ovsdb-server/disable-monitor2". This command will restart
all currently open jsonrpc connections, but without support for
'monitor2' JSON-RPC method for the new connections.

There is no corresponding enable command, since this feature is only
useful for testing.  'monitor2' will be available when ovsdb-server
restarts.

Signed-off-by: Andy Zhou <azhou at nicira.com>
Acked-by: Ben Pfaff <blp at ovn.org>


Compare: https://github.com/openvswitch/ovs/compare/7842e2571fcc...e47cb14c2a1a


More information about the git mailing list