This series still applies, and needs a final review.
On Fri, Dec 18, 2020 at 06:44:21PM -0800, Ben Pfaff wrote: > This series breaks the IDL into two layers: the IDL proper, whose > interface to its client is unchanged, and a low-level library called > the OVSDB "client synchronization" (CS) library. There are two > reasons for this change. First, the IDL is big and complicated and > I think that this change factors out some of that complication into > a simpler lower layer. Second, the OVN northd implementation based > on DDlog can benefit from the client synchronization library even > though it would actually be made increasingly complicated by the IDL. > > v1->v2: > - Add a few patches with trivial bug fixes and improvements to idl. > - Make ovsdb-cs data structures exactly reproduce the ordering > that the idl previously used, so that the behavior is exactly > the same. This fixes the behavior in the ovn-controller. I am > pretty convinced that there is a bug in the idl regarding change > tracking, but these patches will not make it better or worse. > There are lots of idl patches flying around on the mailing list > currently; maybe one of those fixes the real problem. > > v2->v3: > - Rebase and integrate upstream changes. > - Make change_seqno and conditional monitoring behavior reproduce > the same behavior as the existing idl. This fixes a test failure > I was seeing after (but not before) rebase. > - I don't see any failures in upstream ovn with this applied. > - New patch "test-ovsdb: Log steps in idl test." that I found useful > in debugging. > > v3->v4: > - Apply (and drop) several reviewed patches. > - Log more and fix minor nits in "test-ovsdb: Log steps in idl test.". > - Fix memory leak in ovsdb_cs_db_init() and in ovsdb_cs_send_transaction() > in "ovsdb-idl: Break into two layers." > > Ben Pfaff (3): > test-ovsdb: Log steps in idl test. > ovsdb-cs: New module that factors out code from ovsdb-idl. > ovsdb-idl: Break into two layers. > > lib/automake.mk | 2 + > lib/ovsdb-cs.c | 2281 ++++++++++++++++++++++++++++++++++++ > lib/ovsdb-cs.h | 205 ++++ > lib/ovsdb-idl-provider.h | 8 +- > lib/ovsdb-idl.c | 2365 +++++++------------------------------- > tests/test-ovsdb.c | 266 ++--- > 6 files changed, 3049 insertions(+), 2078 deletions(-) > create mode 100644 lib/ovsdb-cs.c > create mode 100644 lib/ovsdb-cs.h > > -- > 2.28.0 > _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev