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

Reply via email to