diff options
author | David Ahern <dsahern@gmail.com> | 2018-04-17 17:33:25 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-04-17 23:41:17 -0400 |
commit | 93531c6743157d7e8c5792f8ed1a57641149d62c (patch) | |
tree | 4b98aae69f30150406618f00ac902c88de9a3a94 /include/net/ip6_fib.h | |
parent | a64efe142f5e70b7e39276a414bbb3b96691c608 (diff) | |
download | linux-93531c6743157d7e8c5792f8ed1a57641149d62c.tar.gz linux-93531c6743157d7e8c5792f8ed1a57641149d62c.tar.bz2 linux-93531c6743157d7e8c5792f8ed1a57641149d62c.zip |
net/ipv6: separate handling of FIB entries from dst based routes
Last step before flipping the data type for FIB entries:
- use fib6_info_alloc to create FIB entries in ip6_route_info_create
and addrconf_dst_alloc
- use fib6_info_release in place of dst_release, ip6_rt_put and
rt6_release
- remove the dst_hold before calling __ip6_ins_rt or ip6_del_rt
- when purging routes, drop per-cpu routes
- replace inc and dec of rt6i_ref with fib6_info_hold and fib6_info_release
- use rt->from since it points to the FIB entry
- drop references to exception bucket, fib6_metrics and per-cpu from
dst entries (those are relevant for fib entries only)
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ip6_fib.h')
-rw-r--r-- | include/net/ip6_fib.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 630392ae12d8..6c3d92bb3459 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -314,9 +314,7 @@ static inline u32 rt6_get_cookie(const struct rt6_info *rt) if (rt->rt6i_flags & RTF_PCPU || (unlikely(!list_empty(&rt->rt6i_uncached)) && rt->from)) - rt = rt->from; - - rt6_get_cookie_safe(rt, &cookie); + rt6_get_cookie_safe(rt->from, &cookie); return cookie; } |