diff options
author | Wei Wang <weiwan@google.com> | 2017-10-06 22:06:01 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-10-07 23:22:57 +0300 |
commit | c757faa8bfa26a0dd24b41ff783e0da042156887 (patch) | |
tree | 914222d2d46f636145b7055b8c70a871b275071e /include/net/ip6_route.h | |
parent | b16cb459d77800dcb886b5e73e1beafd3d596897 (diff) | |
download | linux-c757faa8bfa26a0dd24b41ff783e0da042156887.tar.xz |
ipv6: prepare fib6_age() for exception table
If all dst cache entries are stored in the exception table under the
main route, we have to go through them during fib6_age() when doing
garbage collecting.
Introduce a new function rt6_age_exception() which goes through all dst
entries in the exception table and remove those entries that are expired.
This function is called in fib6_age() so that all dst caches are also
garbage collected.
Signed-off-by: Wei Wang <weiwan@google.com>
Signed-off-by: Martin KaFai Lau <kafai@fb.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_route.h')
-rw-r--r-- | include/net/ip6_route.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/net/ip6_route.h b/include/net/ip6_route.h index 3315605f34c9..a0087fb9864b 100644 --- a/include/net/ip6_route.h +++ b/include/net/ip6_route.h @@ -97,6 +97,8 @@ int ip6_del_rt(struct rt6_info *); void rt6_flush_exceptions(struct rt6_info *rt); int rt6_remove_exception_rt(struct rt6_info *rt); +void rt6_age_exceptions(struct rt6_info *rt, struct fib6_gc_args *gc_args, + unsigned long now); static inline int ip6_route_get_saddr(struct net *net, struct rt6_info *rt, const struct in6_addr *daddr, |