This patch series seeks to refactor how northbound datapath types are synced with southbound Datapath_Bindings.
In current OVN, the en-northd node is responsible for creating, updating and deleting all southbound Datapath_Bindings. This means that if you have a new type of Datapath_Binding that you want to add to OVN, it needs to be added to the en-northd node. An upcoming feature (composable services) will be adding new types of southbound Datapath_Bindings. However, it does not fit well into the current en_northd environment and would do better separated into its own set of engine nodes. In order to allow this, the Datapath_Binding syncing code needs to be extracted to separate nodes. This series does just that. The en_northd node is stripped of its previous functionality of creating, updating, and deleting southbound Datapath_Bindings. These are now accomplished in dedicated incremental engine nodes that are inputs to the en_northd engine node. This is the 11th version of this series. It has gone through many scope changes. But in this current version, this only deals with datapath bindings, not port bindings. It also adds incremental processing to the new datapath binding-related engine nodes, and it updates existing engine nodes to use the data types created by the new engine nodes instead of using direct access of the database IDL. Lorenzo Bianconi (3): northd: Add IP for new logical switches in en-datapath-logical-switch node. northd: datapath-sync: Move dp_tnlids map in ovn_synced_datapaths. northd: datapath-sync: Add IP for LS and LR inputs. Mark Michelson (5): Datapath_Binding: Separate type and UUID external-ids. northd: Refactor datapath syncing. en-datapath-logical-router: Incrementally process unsynced routers. datapaths: Add incremental processing for synced datapaths. northd: Use synced datapaths everywhere. TODO.rst | 12 + controller/local_data.c | 2 +- ic/ovn-ic.c | 5 +- lib/ovn-util.c | 45 ++ lib/ovn-util.h | 8 + northd/automake.mk | 8 + northd/datapath-sync.c | 143 +++++++ northd/datapath-sync.h | 141 +++++++ northd/en-datapath-logical-router.c | 415 +++++++++++++++++++ northd/en-datapath-logical-router.h | 67 +++ northd/en-datapath-logical-switch.c | 379 +++++++++++++++++ northd/en-datapath-logical-switch.h | 64 +++ northd/en-datapath-sync.c | 614 ++++++++++++++++++++++++++++ northd/en-datapath-sync.h | 34 ++ northd/en-global-config.c | 11 + northd/en-lb-data.c | 265 +++++++----- northd/en-lb-data.h | 4 +- northd/en-northd.c | 12 +- northd/inc-proc-northd.c | 51 ++- northd/northd.c | 406 +++--------------- northd/northd.h | 19 +- ovn-sb.ovsschema | 11 +- ovn-sb.xml | 21 +- tests/ovn-controller.at | 4 + tests/ovn-northd.at | 178 +++++++- tests/ovn.at | 6 +- utilities/ovn-sbctl.c | 4 +- utilities/ovn-trace.c | 3 +- 28 files changed, 2424 insertions(+), 508 deletions(-) create mode 100644 northd/datapath-sync.c create mode 100644 northd/datapath-sync.h create mode 100644 northd/en-datapath-logical-router.c create mode 100644 northd/en-datapath-logical-router.h create mode 100644 northd/en-datapath-logical-switch.c create mode 100644 northd/en-datapath-logical-switch.h create mode 100644 northd/en-datapath-sync.c create mode 100644 northd/en-datapath-sync.h -- 2.49.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev