Page MenuHomeFreeBSD

14.5/errata.adoc: routing table memory leak issue
AcceptedPublic

Authored by vladlen on Sat, Sep 5, 1:37 PM.
Tags
Referenced Files
F170911665: D59443.id185954.diff
Mon, Sep 7, 12:53 PM
F170838820: D59443.id185917.diff
Sun, Sep 6, 11:14 PM
F170838808: D59443.id185954.diff
Sun, Sep 6, 11:14 PM
Unknown Object (File)
Sun, Sep 6, 7:44 PM
Unknown Object (File)
Sun, Sep 6, 12:26 PM
Unknown Object (File)
Sun, Sep 6, 2:19 AM
Unknown Object (File)
Sun, Sep 6, 2:14 AM
Unknown Object (File)
Sun, Sep 6, 1:49 AM
Subscribers
None

Details

Reviewers
pouria
ziaee
cperciva
Group Reviewers
releng
Test Plan

Description:
This change adds an Open Issues entry to errata.adoc for FreeBSD 14.5-RELEASE regarding a memory leak in the radix4_lockless and radix6_lockless routing algorithms.

The leak occurred during routing table changes (e.g., route additions/deletions), causing kernel memory usage to grow over time. This could affect systems with dynamic routing, such as BGP routers.

Impact:
Systems using the lockless routing algorithms with frequently changing routing tables may experience kernel memory exhaustion over time.

Workaround:
Switch to the non-lockless algorithm: sysctl net.route.algo.inet4.algo=radix4 or sysctl net.route.algo.inet6.algo=radix6.

Status:
Fixed in main and stable/15, and also MFC'd to stable/14 on 3 September 2026. However, the fix did not make it into the releng/14.5 branch, so it is not included in the 14.5-RELEASE image. It will be available in a future patch-level update.

Please review and confirm the wording is appropriate for the errata.adoc.

Diff Detail

Repository
R9 FreeBSD doc repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

vladlen created this revision.
ziaee requested changes to this revision.Sat, Sep 5, 1:43 PM
ziaee added inline comments.
website/content/en/releases/14.5R/errata.adoc
66–69

Simplify, show what the user might experience, not stuff under the hood they wont understand. Especially don't lead with that, because their eyes might gloss over.

This revision now requires changes to proceed.Sat, Sep 5, 1:43 PM
website/content/en/releases/14.5R/errata.adoc
66–69

It only happens under radix[4|6]_lockless algorithm, it might make sense to let the user know where it happens. But you know better. Just saying.

website/content/en/releases/14.5R/errata.adoc
66–68

@pouria what about this?

I absolutely do not know better, I only know accessibility and target audience. If we get accessibility right it should be obvious to all of us.

website/content/en/releases/14.5R/errata.adoc
66–68

@pouria what about this?

routing algorithms will not frequently change, but systems whose routing tables change frequently (by default) will dynamically switch to radix_lockless algorithms and these algorithms have this problem.
Despite having multiple BGP routers, I don't have this issue because I use other algorithms that are not loaded by default.

So, I want to make it clear to those who need to hear this announcement that this issue will not affect them if they explicitly defined or changed their routing algo.
what about:

Systems with frequently changing routing tables that use the default radix4_lockless or radix6_lockless algorithms, such as BGP routers, may experience system instability due to a memory leak. This does not affect systems where alternative routing algorithms (e.g. dpdk_lpm, dxr) have been explicitly configured.
website/content/en/releases/14.5R/errata.adoc
66–68

Thanks for the additional info? Maybe it's enough to just call them the default? Move the type of systems that this is affected up?

Systems with frequently changing routing tables, such as BGP routers, that use the default algorithms may experience system instability due to a memory leak. This does not affect systems where alternative routing algorithms have been explicitly configured.
website/content/en/releases/14.5R/errata.adoc
66–68

LGTM. Thanks!

@ziaee @pouria The text has been updated according to the discussion.

This revision is now accepted and ready to land.Sat, Sep 5, 8:35 PM