On Fri, Jan 9, 2026 at 6:54 PM Mark Michelson via dev < [email protected]> wrote:
> This series refactors the logical flow library with two goals in mind: > > 1) Eliminate the use of any structures that are created by the en-northd > incremental engine node. Composable services will define new datapath > types that will bypass en-northd processing. This allows for them to > add, remove and sync logical flows without the need for structures like > ovn_datapath or ovn_datapaths. > > 2) Eliminate the dichotomy that every logical datapath must either be a > switch or a router. New datapath types may be added, and when they are > added, the lflow library needs to accommodate those new types without > having to be altered. > > Mark Michelson (9): > Add sparse array. > northd: Convert ovn_datapath to use sparse_array. > Use a sparse array for synced datapaths. > northd: Base ovn_datapath index on synced_datapath index. > lflow-mgr: Use a dynamic bitmap when updating SB DP groups. > datapath-sync: Make ovn_synced_datapath_from_sb() public. > lflow-mgr: Use an array for lflow dp groups. > lflow-mgr: Don't use ovn_datapath when adding logical flows. > lflow-mgr: Remove ovn_datapaths from functions. > > lib/automake.mk | 2 + > lib/ovn-util.h | 15 +++ > lib/sparse-array.c | 102 +++++++++++++++ > lib/sparse-array.h | 54 ++++++++ > northd/datapath-sync.c | 27 ++++ > northd/datapath-sync.h | 8 ++ > northd/en-datapath-sync.c | 62 ++++----- > northd/en-lflow.c | 22 ++-- > northd/en-lr-nat.c | 2 +- > northd/en-lr-stateful.c | 2 +- > northd/en-ls-arp.c | 2 +- > northd/en-ls-stateful.c | 2 +- > northd/en-sync-sb.c | 57 ++++---- > northd/inc-proc-northd.c | 7 + > northd/lb.c | 4 +- > northd/lflow-mgr.c | 214 ++++++++++++++----------------- > northd/lflow-mgr.h | 52 ++++---- > northd/northd.c | 115 ++++++----------- > northd/northd.h | 15 +-- > tests/automake.mk | 1 + > tests/ovn-inc-proc-graph-dump.at | 2 + > tests/ovn.at | 5 + > tests/test-sparse-array.c | 206 +++++++++++++++++++++++++++++ > 23 files changed, 662 insertions(+), 316 deletions(-) > create mode 100644 lib/sparse-array.c > create mode 100644 lib/sparse-array.h > create mode 100644 tests/test-sparse-array.c > > -- > 2.51.1 > > _______________________________________________ > dev mailing list > [email protected] > https://mail.openvswitch.org/mailman/listinfo/ovs-dev > > The whole series looks good to me, thanks. Acked-by: Ales Musil <[email protected]> _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
