On 1/9/26 6:54 PM, Mark Michelson via dev 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
> 

Hi, Mark, Ales.  This code is touching a lot of performance-critical parts
in northd.  Do we have some performance numbers for it?  ovn-heater is
currently broken, unfortunately, but at least some manual test results with
a large database to see recompute times would be good to have.

Best regards, Ilya Maximets.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to