On Thu, Sep 17, 2026 at 4:12 AM Dumitru Ceara <[email protected]> wrote: > > Hi Han, Ales, > > On 9/17/26 9:27 AM, Han Zhou wrote: > > On Wed, Sep 16, 2026 at 5:31 AM Ales Musil <[email protected]> wrote: > >> > >> > >> > >> On Thu, Sep 10, 2026 at 9:52 AM Han Zhou <[email protected]> wrote: > >>> > >>> Every notification about a change to a kernel routing table made > >>> route_exchange recompute, which reads all watched tables, for both > > address > >>> families, and rebuilds the Learned_Route rows of every datapath that uses > >>> them. A routing daemon that reconverges sends a burst of such > >>> notifications, and none of them says anything about the tables OVN is not > >>> interested in. > >>> > >>> Keep the routes read from a table and let the notifications maintain > > them. > >>> A route change is applied to the routes of its table, and only the > >>> Learned_Route rows of that table are written again. A change to a route > > OVN > >>> does not learn from, e.g. one a user configured in the VRF, ends there. > >>> > >>> Reading the tables again is left to the cases that need it: the routes > > OVN > >>> advertises or the datapaths that distribute them changed, notifications > > were > >>> missed, or the southbound database cannot be written to right now. > >>> > >>> With 10000 routes learned from a single table, handling one route > >>> notification takes around 40ms, where reading that table again takes > > 94ms. > >>> What is saved is the netlink dump of both address families. Resolving > > the > >>> routes of the table and reconciling the Learned_Route rows of its > > datapaths > >>> remain, and both still scale with the size of the table rather than with > > the > >>> size of the change. > >>> > >>> Assisted-by: Claude Opus 5, Cursor > >>> Signed-off-by: Han Zhou <[email protected]> > >>> --- > >> > >> > >> Hi Han, > >> > >> thank you for the patch. I have two small comments down below. > >> > >>> > >>> .../topics/dynamic-routing/architecture.rst | 7 +- > >>> controller/ovn-controller.c | 112 ++++++--- > >>> controller/route-exchange.c | 219 ++++++++++++++++-- > >>> controller/route-exchange.h | 28 ++- > >>> tests/ovn-inc-proc-graph-dump.at | 2 +- > >>> tests/system-ovn-netlink.at | 74 ++++++ > >>> tests/system-ovn.at | 39 ++++ > >>> tests/test-ovn-netlink.c | 76 ++++++ > >>> 8 files changed, 508 insertions(+), 49 deletions(-) > >>> > > ... > > >> > >> Other than that it looks good. > >> Acked-by: Ales Musil <[email protected]> > > > > Thanks Ales for the review. > > I addressed all your comments and pushed to main. > > I will figure out backporting to release branches tomorrow. > > > > > I was applying some other patches and backporting them so I also picked > up your first two patches and applied them to 26.09. Going further back > we'll need to address more conflicts. >
Thanks Dumitru. I just backported it to 26.03 and 25.09, revising accordingly. Best, Han > Regards, > Dumitru > > > Best, > > Han > > > >> > >> Regards, > >> Ales > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
