]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commit
ipv6: Don't remove permanent routes with exceptions from tb6_gc_hlist.
authorKuniyuki Iwashima <kuniyu@google.com>
Fri, 20 Mar 2026 07:23:00 +0000 (07:23 +0000)
committerJakub Kicinski <kuba@kernel.org>
Mon, 23 Mar 2026 23:59:31 +0000 (16:59 -0700)
commit4be7b99c253f0c85a255cc1db7127ba3232dfa30
treeff1fb38499a563b140b0b24b74f849360d793732
parent6af51e9f31336632263c4680b2a3712295103e1f
ipv6: Don't remove permanent routes with exceptions from tb6_gc_hlist.

The cited commit mechanically put fib6_remove_gc_list()
just after every fib6_clean_expires() call.

When a temporary route is promoted to a permanent route,
there may already be exception routes tied to it.

If fib6_remove_gc_list() removes the route from tb6_gc_hlist,
such exception routes will no longer be aged.

Let's replace fib6_remove_gc_list() with a new helper
fib6_may_remove_gc_list() and use fib6_age_exceptions() there.

Note that net->ipv6 is only compiled when CONFIG_IPV6 is
enabled, so fib6_{add,remove,may_remove}_gc_list() are guarded.

Fixes: 5eb902b8e719 ("net/ipv6: Remove expired routes with a separated list of routes.")
Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://patch.msgid.link/20260320072317.2561779-3-kuniyu@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/ip6_fib.h
net/ipv6/addrconf.c
net/ipv6/ip6_fib.c
net/ipv6/route.c