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. 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/aging.c | 8 +- northd/automake.mk | 8 + northd/datapath-sync.c | 143 +++++++ northd/datapath-sync.h | 124 ++++++ northd/en-advertised-route-sync.c | 12 +- northd/en-datapath-logical-router.c | 383 ++++++++++++++++++ northd/en-datapath-logical-router.h | 67 ++++ northd/en-datapath-logical-switch.c | 382 ++++++++++++++++++ northd/en-datapath-logical-switch.h | 64 +++ northd/en-datapath-sync.c | 597 ++++++++++++++++++++++++++++ northd/en-datapath-sync.h | 36 ++ northd/en-global-config.c | 11 + northd/en-lb-data.c | 267 ++++++++----- northd/en-lb-data.h | 4 +- northd/en-multicast.c | 4 +- northd/en-northd.c | 12 +- northd/en-port-group.c | 3 +- northd/inc-proc-northd.c | 52 ++- northd/lflow-mgr.c | 4 +- northd/northd.c | 456 ++++----------------- northd/northd.h | 21 +- ovn-sb.ovsschema | 11 +- ovn-sb.xml | 21 +- tests/ovn-controller.at | 4 + tests/ovn-northd.at | 190 ++++++++- tests/ovn.at | 6 +- utilities/ovn-sbctl.c | 4 +- utilities/ovn-trace.c | 3 +- 33 files changed, 2422 insertions(+), 547 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