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
