Module Name: src Committed By: ozaki-r Date: Thu Dec 8 05:16:34 UTC 2016
Modified Files: src/sys/dist/pf/net: pf.c src/sys/external/bsd/ipf/netinet: ip_fil_netbsd.c src/sys/net: if_stf.c route.h src/sys/netatalk: ddp_input.c ddp_output.c ddp_usrreq.c src/sys/netinet: in.c in_gif.c in_pcb.c in_pcb.h ip_etherip.c ip_flow.c ip_input.c ip_output.c ip_var.h sctp_output.c sctp_pcb.c sctp_timer.c tcp_input.c tcp_output.c tcp_subr.c src/sys/netinet6: frag6.c in6_gif.c in6_pcb.c in6_pcb.h in6_src.c ip6_etherip.c ip6_flow.c ip6_forward.c ip6_input.c ip6_output.c ip6_var.h src/sys/netipsec: ipsec.c Log Message: 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. To generate a diff of this commit: cvs rdiff -u -r1.74 -r1.75 src/sys/dist/pf/net/pf.c cvs rdiff -u -r1.18 -r1.19 src/sys/external/bsd/ipf/netinet/ip_fil_netbsd.c cvs rdiff -u -r1.99 -r1.100 src/sys/net/if_stf.c cvs rdiff -u -r1.107 -r1.108 src/sys/net/route.h cvs rdiff -u -r1.28 -r1.29 src/sys/netatalk/ddp_input.c cvs rdiff -u -r1.19 -r1.20 src/sys/netatalk/ddp_output.c cvs rdiff -u -r1.69 -r1.70 src/sys/netatalk/ddp_usrreq.c cvs rdiff -u -r1.189 -r1.190 src/sys/netinet/in.c cvs rdiff -u -r1.83 -r1.84 src/sys/netinet/in_gif.c cvs rdiff -u -r1.170 -r1.171 src/sys/netinet/in_pcb.c cvs rdiff -u -r1.60 -r1.61 src/sys/netinet/in_pcb.h cvs rdiff -u -r1.17 -r1.18 src/sys/netinet/ip_etherip.c cvs rdiff -u -r1.77 -r1.78 src/sys/netinet/ip_flow.c cvs rdiff -u -r1.344 -r1.345 src/sys/netinet/ip_input.c cvs rdiff -u -r1.263 -r1.264 src/sys/netinet/ip_output.c cvs rdiff -u -r1.115 -r1.116 src/sys/netinet/ip_var.h cvs rdiff -u -r1.7 -r1.8 src/sys/netinet/sctp_output.c \ src/sys/netinet/sctp_pcb.c cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_timer.c cvs rdiff -u -r1.349 -r1.350 src/sys/netinet/tcp_input.c cvs rdiff -u -r1.186 -r1.187 src/sys/netinet/tcp_output.c cvs rdiff -u -r1.267 -r1.268 src/sys/netinet/tcp_subr.c cvs rdiff -u -r1.57 -r1.58 src/sys/netinet6/frag6.c cvs rdiff -u -r1.79 -r1.80 src/sys/netinet6/in6_gif.c cvs rdiff -u -r1.152 -r1.153 src/sys/netinet6/in6_pcb.c cvs rdiff -u -r1.46 -r1.47 src/sys/netinet6/in6_pcb.h cvs rdiff -u -r1.75 -r1.76 src/sys/netinet6/in6_src.c cvs rdiff -u -r1.18 -r1.19 src/sys/netinet6/ip6_etherip.c cvs rdiff -u -r1.32 -r1.33 src/sys/netinet6/ip6_flow.c cvs rdiff -u -r1.81 -r1.82 src/sys/netinet6/ip6_forward.c cvs rdiff -u -r1.170 -r1.171 src/sys/netinet6/ip6_input.c cvs rdiff -u -r1.178 -r1.179 src/sys/netinet6/ip6_output.c cvs rdiff -u -r1.70 -r1.71 src/sys/netinet6/ip6_var.h cvs rdiff -u -r1.66 -r1.67 src/sys/netipsec/ipsec.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.