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
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev