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. Mark Michelson (5): en-global-config: Cache vxlan mode and max tunnel key. northd: Remove lr_list from en_northd data. northd: Refactor datapath syncing. ovn.at: Change MAC Bindings used by check packet length test. northd: Refactor port binding pairing. TODO.rst | 24 + northd/automake.mk | 22 +- northd/datapath_sync.c | 57 + northd/datapath_sync.h | 77 ++ northd/en-datapath-logical-router.c | 175 +++ northd/en-datapath-logical-router.h | 48 + northd/en-datapath-logical-switch.c | 176 +++ northd/en-datapath-logical-switch.h | 47 + northd/en-datapath-sync.c | 319 +++++ northd/en-datapath-sync.h | 27 + northd/en-global-config.c | 64 +- northd/en-global-config.h | 4 + northd/en-northd.c | 56 +- northd/en-northd.h | 1 - northd/en-port-binding-chassisredirect.c | 318 +++++ northd/en-port-binding-chassisredirect.h | 53 + 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 | 230 ++++ northd/en-port-binding-logical-switch-port.h | 48 + northd/en-port-binding-mirror.c | 188 +++ northd/en-port-binding-mirror.h | 48 + northd/en-port-binding-pair.c | 467 +++++++ northd/en-port-binding-pair.h | 32 + northd/inc-proc-northd.c | 104 +- northd/northd.c | 1148 ++++-------------- northd/northd.h | 30 +- northd/port_binding_pair.c | 81 ++ northd/port_binding_pair.h | 117 ++ tests/ovn.at | 4 +- 30 files changed, 3220 insertions(+), 968 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.47.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev