Hi Felix, Frode, Martin,
On 2/6/25 3:18 PM, Felix Huettner via dev wrote:
> Hi everyone,
>
> this patchset is the combination of the northd and the ovn-controller part of
> the OVN Fabric integration series
> https://mail.openvswitch.org/pipermail/ovs-dev/2024-November/418554.html.
>
> This version contains the addressed reviews of the northd patchset
> https://patchwork.ozlabs.org/project/ovn/list/?series=441243&state=* and
> the ovn-controller patchset
> https://patchwork.ozlabs.org/project/ovn/list/?series=442173&state=* .
>
> By the end of the series northd and ovn-controller in combination can announce
> routes from the connected and static routes to a linux vrf.
> We can also learn routes from a linux vrf and install them in the LR
> routing table.
>
> In contrast to previous patchesets this series has no prerequisites
> anymore as all where merged in the mean time.
>
I ran a few 500 node ovn-heater tests (cluster-density and
density-heavy) with this patchset applied and the control plane
performance in the default case (dynamic routing disabled) is comparable
to the last runs we did with vanilla code from the main branch - that's
good.
For the feature itself I think it's mostly ready. There are a few small
leftover nits that should be fixed, I tried to list them in replies to
individual patches. I could take care of the small issues myself when
applying the series to the main branch but here are two patches that
need discussion and/or a v8:
- [PATCH ovn v7 02/17] northd: Add filtering which routes to advertise.
- I had a suggestion to avoid some of the boilerplate
- [PATCH ovn v7 13/17] controller: Support learning routes per iface.
- I think we should improve the way we parse the contents of the
new option and we should avoid reparsing it for each and every
datapath
- a few more comments
- so this probably needs a new revision
Regards,
Dumitru
> Since v6 the changes where:
> * dynamic-routing-connected-as-host-routes is now part of
> dynamic-routing-redistribute
> * Support lrp<->lrp peers in connected-as-host routes
> * Rework the interface filter
> * Other review comments
>
> Felix Huettner (14):
> northd: Sync Advertised_Route to sb.
> northd: Add filtering which routes to advertise.
> northd: Handle learned routes.
> northd: Remove learned routes if lrp is removed.
> northd: Allow announcing individual host routes.
> northd: Sync routing data to pb.
> controller: Update OVS submodule.
> controller: Introduce route node.
> controller: Support learning routes.
> controller: Support learning routes per iface.
> controller: Prioritize host routes.
> controller: Watch for route changes.
> controller: Cleanup routes on stop.
> controller: Support user defined vrf names.
>
> Frode Nordahl (3):
> ci: Manage host/system level dependencies.
> controller: Introduce route-exchange-netlink.
> controller: Announce routes via route-exchange.
>
> .github/workflows/test.yml | 6 +
> NEWS | 24 +
> TODO.rst | 17 +
> configure.ac | 2 +
> controller/automake.mk | 18 +-
> controller/local_data.c | 7 +-
> controller/local_data.h | 1 +
> controller/lport.c | 44 +-
> controller/lport.h | 4 +
> controller/ovn-controller.c | 401 ++++++++++++++++-
> controller/route-exchange-netlink.c | 323 ++++++++++++++
> controller/route-exchange-netlink.h | 62 +++
> controller/route-exchange-stub.c | 37 ++
> controller/route-exchange.c | 310 +++++++++++++
> controller/route-exchange.h | 40 ++
> controller/route-table-notify-stub.c | 56 +++
> controller/route-table-notify.c | 226 ++++++++++
> controller/route-table-notify.h | 44 ++
> controller/route.c | 274 ++++++++++++
> controller/route.h | 87 ++++
> ic/ovn-ic.c | 21 -
> lib/ovn-util.c | 32 ++
> lib/ovn-util.h | 3 +
> lib/stopwatch-names.h | 2 +
> m4/ovn.m4 | 25 ++
> northd/automake.mk | 4 +
> northd/en-advertised-route-sync.c | 416 +++++++++++++++++
> northd/en-advertised-route-sync.h | 39 ++
> northd/en-ecmp-nexthop.c | 16 +-
> northd/en-learned-route-sync.c | 213 +++++++++
> northd/en-learned-route-sync.h | 32 ++
> northd/en-lflow.c | 5 +-
> northd/en-northd-output.c | 9 +
> northd/en-northd-output.h | 2 +
> northd/inc-proc-northd.c | 27 +-
> northd/northd.c | 436 +++++++++++-------
> northd/northd.h | 85 +++-
> northd/ovn-northd.c | 6 +
> ovn-nb.xml | 222 ++++++++++
> ovs | 2 +-
> tests/automake.mk | 6 +
> tests/ovn-northd.at | 638 +++++++++++++++++++++++++--
> tests/ovs-macros.at | 10 +
> tests/system-common-macros.at | 27 ++
> tests/system-ovn.at | 622 ++++++++++++++++++++++++++
> utilities/containers/prepare.sh | 2 +-
> 46 files changed, 4660 insertions(+), 225 deletions(-)
> create mode 100644 controller/route-exchange-netlink.c
> create mode 100644 controller/route-exchange-netlink.h
> create mode 100644 controller/route-exchange-stub.c
> create mode 100644 controller/route-exchange.c
> create mode 100644 controller/route-exchange.h
> create mode 100644 controller/route-table-notify-stub.c
> create mode 100644 controller/route-table-notify.c
> create mode 100644 controller/route-table-notify.h
> create mode 100644 controller/route.c
> create mode 100644 controller/route.h
> create mode 100644 northd/en-advertised-route-sync.c
> create mode 100644 northd/en-advertised-route-sync.h
> create mode 100644 northd/en-learned-route-sync.c
> create mode 100644 northd/en-learned-route-sync.h
>
>
> base-commit: a979db00b2bb6a708bce99eb94ce20beb8998a8d
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev