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>
Showing
- include/net/ip6_fib.h 1 addition, 3 deletionsinclude/net/ip6_fib.h
- include/net/ip6_route.h 1 addition, 2 deletionsinclude/net/ip6_route.h
- net/ipv6/addrconf.c 8 additions, 10 deletionsnet/ipv6/addrconf.c
- net/ipv6/anycast.c 3 additions, 4 deletionsnet/ipv6/anycast.c
- net/ipv6/ip6_fib.c 36 additions, 19 deletionsnet/ipv6/ip6_fib.c
- net/ipv6/ip6_output.c 2 additions, 1 deletionnet/ipv6/ip6_output.c
- net/ipv6/ndisc.c 3 additions, 3 deletionsnet/ipv6/ndisc.c
- net/ipv6/route.c 61 additions, 110 deletionsnet/ipv6/route.c
Loading
Please register or sign in to comment