This patch series seeks to refactor how northbound datapath and port types are synced with southbound Datapath_Bindings and Port_Bindings.
In current OVN, the en-northd node is responsible for creating, updating and deleting all southbound Datapath_Bindings and Port_Bindings. This means that if you have a new type of Datapath_Binding or Port_Bidning 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 and Port_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 and Port_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 and Port_Bindings. These are now accomplished in dedicated incremental engine nodes that are inputs to the en_northd engine node. Note that the first two versions of this series only had the datapath refactor present. It did not have the final two patches for port binding refactoring. Version 6 removes two patches that have been merged into main and adds a new patch that changes the external-ids in the southbound Datapath_Binding. Version 7 removes an additional patch that has been merged to main, bringing the total in the series down to 3. Version 8 Adds a new patch to the beginning that updates the OVS submodulce commit. This allows for patch 2 to operate properly without triggering an assertion in OVS. Mark Michelson (4): ovs: Update ovs submodule commit. Datapath_Binding: Separate type and UUID external-ids. northd: Refactor datapath syncing. northd: Refactor port binding pairing. TODO.rst | 24 + controller/local_data.c | 2 +- ic/ovn-ic.c | 9 +- northd/automake.mk | 22 +- northd/datapath-sync.c | 86 ++ northd/datapath-sync.h | 87 ++ northd/en-datapath-logical-router.c | 174 +++ northd/en-datapath-logical-router.h | 49 + northd/en-datapath-logical-switch.c | 172 +++ northd/en-datapath-logical-switch.h | 48 + northd/en-datapath-sync.c | 313 +++++ northd/en-datapath-sync.h | 27 + northd/en-global-config.c | 14 + northd/en-global-config.h | 1 + northd/en-northd.c | 55 +- northd/en-port-binding-chassisredirect.c | 329 +++++ northd/en-port-binding-chassisredirect.h | 50 + northd/en-port-binding-logical-router-port.c | 176 +++ northd/en-port-binding-logical-router-port.h | 47 + northd/en-port-binding-logical-switch-port.c | 229 ++++ northd/en-port-binding-logical-switch-port.h | 48 + northd/en-port-binding-mirror.c | 191 +++ northd/en-port-binding-mirror.h | 48 + northd/en-port-binding-pair.c | 473 ++++++++ northd/en-port-binding-pair.h | 34 + northd/inc-proc-northd.c | 94 +- northd/northd.c | 1124 ++++-------------- northd/northd.h | 33 +- northd/port-binding-pair.c | 77 ++ northd/port-binding-pair.h | 108 ++ ovn-sb.ovsschema | 11 +- ovn-sb.xml | 21 +- ovs | 2 +- tests/ovn-controller.at | 4 + tests/ovn-northd.at | 6 +- tests/ovn.at | 6 +- utilities/ovn-sbctl.c | 4 +- utilities/ovn-trace.c | 5 +- 38 files changed, 3249 insertions(+), 954 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 create mode 100644 northd/en-port-binding-chassisredirect.c create mode 100644 northd/en-port-binding-chassisredirect.h create mode 100644 northd/en-port-binding-logical-router-port.c create mode 100644 northd/en-port-binding-logical-router-port.h create mode 100644 northd/en-port-binding-logical-switch-port.c create mode 100644 northd/en-port-binding-logical-switch-port.h create mode 100644 northd/en-port-binding-mirror.c create mode 100644 northd/en-port-binding-mirror.h create mode 100644 northd/en-port-binding-pair.c create mode 100644 northd/en-port-binding-pair.h create mode 100644 northd/port-binding-pair.c create mode 100644 northd/port-binding-pair.h -- 2.49.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev