This series focuses on improving incremental processing when dealing
with logical router policies. In particular, this series does the
following:

* en-northd no longer has to recompute when logical router policies are
  added, updated, or removed. This means en-northd's dependent nodes
  also do not need to recompute in this scenario.
* en-route-policies has added incremental handlers so that in-memory
  route policies can be rebuilt incrementally based on logical router,
  logical router policy, or BFD changes.
* en-lflow has an incremental handler added to it for logical router
  policy changes. Logical flows can be rebuilt incrementally when
  router policies change.

To facilitate, this, many tangential commits were also made that
improve functionality of logical router policies, and in some case other
areas of the code as well.

Mark Michelson (17):
  tests: Change static route on test.
  northd: Search for ports within logical router.
  northd: Move policy recompute logic to en-route-policies.
  northd: Move route policy incremental node to its own file.
  route_policies: scope chain_ids to each logical router.
  northd: Determine route policy ECMP-ness using valid nexthops.
  en-route-policies: Only warn of "nexthop" use on reroute policies.
  en-route-policies: Check address families of nexthops earlier.
  en-route-policies: Simplify route policy lookup.
  vec: Add a vector_steal() function.
  en-route-policies: Cache output port name and source address.
  en-route-policies: Calculate ECMP group IDs when building policies.
  BFD: Remove the en_bfd incremental engine node.
  lflow: Use separate lflow_ref for routing policies.
  en-route-policies: Incrementally handle router changes.
  lflow: Incrementally handle router policy changes.
  en-route-policies: Get rid of en-northd change handler.

 TODO.rst                         |   1 +
 lib/vec.c                        |  18 +
 lib/vec.h                        |   1 +
 northd/automake.mk               |   2 +
 northd/en-learned-route-sync.c   |   9 +-
 northd/en-lflow.c                |  36 +-
 northd/en-lflow.h                |   2 +
 northd/en-northd.c               | 167 ++-----
 northd/en-northd.h               |  12 -
 northd/en-route-policies.c       | 774 +++++++++++++++++++++++++++++
 northd/en-route-policies.h       | 111 +++++
 northd/inc-proc-northd.c         |  23 +-
 northd/northd.c                  | 802 +++++++++----------------------
 northd/northd.h                  |  77 ++-
 tests/ovn-inc-proc-graph-dump.at |  12 +-
 tests/ovn-northd.at              | 421 ++++++++++++++--
 tests/ovn.at                     |   4 +-
 tests/system-ovn.at              |   5 +-
 tests/test-vector.c              |  34 ++
 19 files changed, 1702 insertions(+), 809 deletions(-)
 create mode 100644 northd/en-route-policies.c
 create mode 100644 northd/en-route-policies.h

-- 
2.55.0

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to