[ovs-dev] [PATCH v7 0/7] ovsdb-idl: ovsdb client index support

Lance Richardson lrichard at redhat.com
Fri Jul 14 19:15:42 UTC 2017


This set of patches is based on a series authored by Esteban Rodriguez
Betancourt, Jorge Arturo Sauma Vargas, Javier Albornoz, and Arnoldo Lutz
Guevara that has been inactive for a number of months.

v7:
  - Added patches to make use of client idl indexing in ovn-controller
    (these were previously in a separate RFC series).
  - Incorporated feedback from Ben Pfaff.
  - Rebased.
  - Added a test case for NULL range endpoints.
  - Fixed "git am" whitespace issue.
  - Replaced assert() with ovs_assert() (checkpatch.py)
v6:
  - More coding style fixes, text polishing.
  - Fixed null pointer dereference when initializing cursor with
    non-existent index name.
  - Reworked v5 memory leak fix to avoid having to dynamically allocate
    strings passed to *_index_set_*() functions.
  - Simplified ovsdb_idl_index_init_row() and
    ovsdb_idl_index_destroy_row__() somewhat.
v5:
  - Rebased on ovs master.
  - Implemented changes suggestion in review of v4.
  - Coding style fixes, some text polishing.
  - Testing by using this feature to eliminate a number of ad-hoc
    indexing structures used in ovn-controller.
  - Fixes for memory leaks found in testing.

Lance Richardson (7):
  ovsdb-idl: compound indexes design document
  lib: skiplist implementation
  ovsdb-idl: idl compound indexes implementation
  ovsdb-idl: Autogenerated functions for compound indexes
  ovn-controller: use idl index for multicast group table
  ovn-controller: use idl indexes for logical port table
  ovn-controller: use idl indexes for logical datapath

 Documentation/automake.mk                     |   1 +
 Documentation/topics/idl-compound-indexes.rst | 302 +++++++++++++++++++
 Documentation/topics/index.rst                |   1 +
 lib/automake.mk                               |   2 +
 lib/ovsdb-idl-provider.h                      |  29 ++
 lib/ovsdb-idl.c                               | 401 ++++++++++++++++++++++++++
 lib/ovsdb-idl.h                               |  51 ++++
 lib/skiplist.c                                | 261 +++++++++++++++++
 lib/skiplist.h                                |  49 ++++
 ovn/controller/binding.c                      |  49 ++--
 ovn/controller/binding.h                      |   6 +-
 ovn/controller/lflow.c                        |  43 ++-
 ovn/controller/lflow.h                        |   4 -
 ovn/controller/lport.c                        | 302 ++++++++-----------
 ovn/controller/lport.h                        |  59 +---
 ovn/controller/ovn-controller.c               |  66 +++--
 ovn/controller/physical.c                     |  14 +-
 ovn/controller/physical.h                     |   2 +-
 ovn/controller/pinctrl.c                      |  87 +++---
 ovn/controller/pinctrl.h                      |   2 +-
 ovsdb/ovsdb-idlc.in                           | 258 +++++++++++++++++
 tests/.gitignore                              |   1 +
 tests/automake.mk                             |   2 +
 tests/library.at                              |  11 +
 tests/ovsdb-idl.at                            | 282 ++++++++++++++++++
 tests/test-ovsdb.c                            | 286 +++++++++++++++++-
 tests/test-skiplist.c                         | 211 ++++++++++++++
 27 files changed, 2415 insertions(+), 367 deletions(-)
 create mode 100644 Documentation/topics/idl-compound-indexes.rst
 create mode 100644 lib/skiplist.c
 create mode 100644 lib/skiplist.h
 create mode 100644 tests/test-skiplist.c

-- 
2.13.0



More information about the dev mailing list