This patch series seeks to refactor how northbound datapath types are synced with southbound Datapath_Bindings.
Currently, there are two types of logical datapaths in OVN, Logical_Switch and Logical_Router. The en-northd node is responsible for syncing these logical datapaths with southbound datapath bindings. An upcoming feature (composable services) seeks to add new types of logical datapaths in the northbound database. However, these new logical datapath types have little overlap with existing Logical_Routers or Logical_Switches. Their processing is much more narrow and simple, too. We're faced with two choices: 1) Expand the struct ovn_datapath type in northd to also understand composable service datapath types. Expand build_datapaths() in northd.c to handle these new composable service logical datapaths. Add logical flow processing for composable services to northd.c. 2) Perform datapath syncing prior to en-northd running. Composable services can then create their logical flows in separate incremental nodes outside of en-northd. This series opts for option 2. The goal was to have this series encompass both southbound Datapath_Binding syncing and southbound Port_Binding syncing. However, I have had to start over from scratch too many times on the Port_Binding syncing, and rebasing this branch is a pain. Therefore, the Datapath_Binding syncing change is here on its own. Mark Michelson (3): en-global-config: Cache vxlan mode and max tunnel key. northd: Remove lr_list from en_northd data. northd: Refactor datapath syncing. TODO.rst | 12 + northd/automake.mk | 8 + 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 | 61 +++-- northd/en-global-config.h | 3 + northd/en-northd.c | 7 + northd/inc-proc-northd.c | 42 +++ northd/northd.c | 403 ++++------------------------ northd/northd.h | 13 +- 16 files changed, 1096 insertions(+), 379 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.47.0 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev