ACK: [SRU][N:linux-bluefield][PATCH v1 0/3] UBUNTU: SAUCE: ipv4: Provide a FIB flushing signal from nexthop removal functions

Edoardo Canepa edoardo.canepa at canonical.com
Thu May 7 15:36:18 UTC 2026


Acked-by: Edoardo Canepa <edoardo.canepa at canonical.com>

On 5/7/26 13:20, Stav Aviram wrote:
> BugLink: https://bugs.launchpad.net/bugs/2151772
>
> SRU Justification:
>
> [IMPACT]
> Fix a performance issue in the IPv4 routing table causing severe RTNL lock
> contention which in some complicated deployments (multiple VXLAN interfaces,
> 128K+ routes, 128K+ nexthops) causes systemd-networkd to fail to renew DHCP
> addresses in time, which then makes those interfaces become unmanaged.
>
> [FIX]
> The fixes optimize nexthop removal when an interface goes down by batching
> FIB table flushing. Previously, for each nexthop being removed, the FIB table
> was flushed to remove all routing table entries pointing to the nexthop being
> removed. This flushing is a sequential walk of the entire FIB trie, and for N
> nexthops being removed and R routes installed results in O(N x R) performance.
> The fix postpones flushing until all nexthops are marked dead and then does a
> single FIB flush to remove all affected routing entries. This improves the
> performance to O(N + R).
> Upstream patches being submitted here: https://lore.kernel.org/netdev/20260507075606.322405-1-cratiu@nvidia.com/T/#t
> Those patches don't apply cleanly on 6.8 due to other missing functionality, dedicated 6.8. patches will be provided in this ticket.
>
> [TEST CASE]
> Successfully built the adjusted upstream patches on linux-bluefield-6.8
> master-next branch.
>
> [Regression Potential]
> Low risk. The latest upstream patches don't apply cleanly on 6.8 due to
> missing functionality, but the modifications to make the patches apply are
> trivial and don't impact the logical flow of batching the cleanup.
>
> Cosmin Ratiu (3):
>    UBUNTU: SAUCE: ipv4: Provide a FIB flushing signal from nexthop
>      removal functions
>    UBUNTU: SAUCE: ipv4: Flush the FIB once on multiple nexthop removal
>    UBUNTU: SAUCE: ipv4: Add __must_check to nexthop removal functions
>
>   net/ipv4/nexthop.c | 93 +++++++++++++++++++++++++++++-----------------
>   1 file changed, 58 insertions(+), 35 deletions(-)
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x20F88172E14F6784.asc
Type: application/pgp-keys
Size: 3167 bytes
Desc: OpenPGP public key
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260507/16da48de/attachment.key>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature.asc
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20260507/16da48de/attachment.sig>


More information about the kernel-team mailing list