Module Name: src Committed By: martin Date: Tue Nov 6 14:38:58 UTC 2018
Modified Files: src/sys/net [netbsd-8]: if.c route.c route.h src/sys/netinet [netbsd-8]: if_arp.c src/sys/netinet6 [netbsd-8]: in6.c nd6.c Log Message: Pull up following revision(s) (requested by ozaki-r in ticket #1080): sys/netinet6/nd6.c: revision 1.251 sys/netinet/if_arp.c: revision 1.276 sys/net/if.c: revision 1.438 sys/net/if.c: revision 1.439 sys/net/route.c: revision 1.214 sys/net/route.c: revision 1.215 sys/net/route.c: revision 1.216 sys/netinet6/in6.c: revision 1.270 sys/net/route.h: revision 1.120 sys/net/if.c: revision 1.440 Remove a wrong assertion in ifaref - Doing ifref on an ifa with IFA_DESTROYING is not a problem; the reference should be dropped during the destruction of the ifa. - Use atomic operations for ifa_refcnt - Avoid a dangling pointer during rt_replace_ifa - Avoid double rt_replace_ifa on rtrequest1(RTM_ADD) Some callers of rtrequest1(RTM_ADD) adjust rt_ifa of an rtentry created by rtrequest1 that may change rt_ifa (in ifa_rtrequest) with another ifa that is different from requested one. It's wasteful and even worse introduces a race condition. rtrequest1 should just use a passed ifa as is if a caller hopes so. - Use rt_update framework on updating a rtentry To generate a diff of this commit: cvs rdiff -u -r1.394.2.14 -r1.394.2.15 src/sys/net/if.c cvs rdiff -u -r1.194.6.11 -r1.194.6.12 src/sys/net/route.c cvs rdiff -u -r1.112.4.4 -r1.112.4.5 src/sys/net/route.h cvs rdiff -u -r1.250.2.8 -r1.250.2.9 src/sys/netinet/if_arp.c cvs rdiff -u -r1.245.2.11 -r1.245.2.12 src/sys/netinet6/in6.c cvs rdiff -u -r1.232.2.8 -r1.232.2.9 src/sys/netinet6/nd6.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.