NetBSD/sys/netinet6
ozaki-r 4c25fb2f83 Add rtcache_unref to release points of rtentry stemming from rtcache
In the MP-safe world, a rtentry stemming from a rtcache can be freed at any
points. So we need to protect rtentries somehow say by reference couting or
passive references. Regardless of the method, we need to call some release
function of a rtentry after using it.

The change adds a new function rtcache_unref to release a rtentry. At this
point, this function does nothing because for now we don't add a reference
to a rtentry when we get one from a rtcache. We will add something useful
in a further commit.

This change is a part of changes for MP-safe routing table. It is separated
to avoid one big change that makes difficult to debug by bisecting.
2016-12-08 05:16:33 +00:00
..
dccp6_usrreq.c fix: "ifconfig destory" can stalls when "ifconfig" is done parallel. 2016-11-18 06:50:04 +00:00
dccp6_var.h make connect syscall use sockaddr_big and modify pr_{send,connect} 2015-05-02 17:18:03 +00:00
dest6.c Sweep unnecessary route.h inclusions 2016-04-26 08:44:44 +00:00
files.netinet6 ip6flow refactor like ipflow. 2016-08-02 04:50:16 +00:00
frag6.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
icmp6_private.h
icmp6.c Enforce alignment requirements that are violated in some cases. 2016-11-15 20:50:28 +00:00
in6_cksum.c
in6_gif.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
in6_gif.h fix: gif(4) receive side race 2016-07-04 04:22:47 +00:00
in6_ifattach.c Fix panic on destroying an interface with IPv6 addresses obtained with RA 2016-11-30 02:08:57 +00:00
in6_ifattach.h
in6_offload.c
in6_offload.h
in6_pcb.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
in6_pcb.h Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
in6_print.c add routines to print in6_addr and sockaddr_in6 (in6_print, sin6_print) 2014-12-02 19:36:58 +00:00
in6_proto.c Move in6_ifaddr_list to a more proper place (from ip6_input.c to in6.c) 2016-07-06 10:49:49 +00:00
in6_src.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
in6_var.h fix typo 2016-09-14 16:17:17 +00:00
in6.c fix: "ifconfig destory" can stalls when "ifconfig" is done parallel. 2016-11-18 06:50:04 +00:00
in6.h Reduce code duplication. 2016-02-15 14:59:03 +00:00
ip6_etherip.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
ip6_etherip.h
ip6_flow.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
ip6_forward.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
ip6_id.c Use time_uptime instead of time_second to avoid time leaps 2015-08-07 08:11:33 +00:00
ip6_input.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
ip6_mroute.c Use sin6tosa and sin6tocsa macros 2016-07-15 07:40:09 +00:00
ip6_mroute.h
ip6_output.c Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
ip6_private.h
ip6_var.h Add rtcache_unref to release points of rtentry stemming from rtcache 2016-12-08 05:16:33 +00:00
ip6protosw.h Revert previous: ran cvs commit when I meant cvs diff. Sorry! 2016-01-21 15:41:29 +00:00
ipsec.h
Makefile
mld6_var.h
mld6.c fix: "ifconfig destory" can stalls when "ifconfig" is done parallel. 2016-11-18 06:50:04 +00:00
nd6_nbr.c nd6_dad_duplicated takes the lock itself. Move it out of the critical 2016-11-15 21:17:07 +00:00
nd6_rtr.c Don't use rt_walktree to delete routes 2016-11-15 01:50:06 +00:00
nd6.c Add missing rtfree 2016-11-14 02:34:19 +00:00
nd6.h Separate nexthop caches from the routing table 2016-04-04 07:37:07 +00:00
pim6_var.h
pim6.h
raw_ip6.c fix: "ifconfig destory" can stalls when "ifconfig" is done parallel. 2016-11-18 06:50:04 +00:00
raw_ip6.h
route6.c
scope6_var.h printable version of the scope. 2014-12-10 01:10:37 +00:00
scope6.c In rump (ifp)->if_afdata[AF_INET6] == NULL if we did not register netinet6 2016-08-12 11:44:24 +00:00
sctp6_usrreq.c remove unnecessary extern declaration. 2016-12-06 08:58:16 +00:00
sctp6_var.h Add core networking support for SCTP. 2015-10-13 21:28:34 +00:00
udp6_output.c Fix race condition of in6_selectsrc 2016-10-31 04:16:25 +00:00
udp6_private.h
udp6_usrreq.c fix: "ifconfig destory" can stalls when "ifconfig" is done parallel. 2016-11-18 06:50:04 +00:00
udp6_var.h make connect syscall use sockaddr_big and modify pr_{send,connect} 2015-05-02 17:18:03 +00:00
udp6.h