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

Reply via email to