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

Reply via email to