Module Name: src Committed By: martin Date: Tue Mar 13 13:27:10 UTC 2018
Modified Files: src/sys/net [netbsd-8]: if_llatbl.c if_llatbl.h route.c src/sys/netinet [netbsd-8]: if_arp.c in.c src/sys/netinet6 [netbsd-8]: in6.c nd6.c Log Message: Pull up following revision(s) (requested by ozaki-r in ticket #622): sys/netinet/if_arp.c: revision 1.270 sys/net/if_llatbl.c: revision 1.24 (patch) sys/net/if_llatbl.c: revision 1.25 sys/net/if_llatbl.c: revision 1.26 sys/net/route.c: revision 1.204 sys/netinet6/in6.c: revision 1.261 sys/netinet6/in6.c: revision 1.262 (patch) sys/netinet6/in6.c: revision 1.263 sys/netinet/in.c: revision 1.216 sys/netinet6/in6.c: revision 1.264 sys/netinet6/nd6.c: revision 1.246 (patch) sys/netinet/if_arp.c: revision 1.269 sys/net/if_llatbl.h: revision 1.14 sys/netinet6/in6.c: revision 1.259 sys/netinet/in.c: revision 1.220 sys/netinet/in.c: revision 1.221 (patch) sys/netinet/in.c: revision 1.222 sys/netinet/in.c: revision 1.223 Suppress noisy debugging outputs Even if DEBUG they are too noisy under load. Tweak sanity checks Scheduling a timer of static entries is wrong. Add assertions We must not destroy llentries holding mbufs. Fix reference leaks of llentry callout_reset and callout_halt can cancel a pending callout without telling us. Detect a cancel and remove a reference by using callout_pending and callout_stop (it's a bit tricy though, we can detect it). While here, we can remove remaining abuses of mutex_owned for softnet_lock. Fix memory leaks on arp -d and ndp -d for static entries We have to delete entries on in_lltable_delete and in6_lltable_delete unconditionally. Note that we don't need to worry about LLE_IFADDR because there is no such entries now. Use pool(9) for llentry allocations llentry is easy to be leaked and pool suits for it because pool is usable to detect leaks. Also sweep unnecessary wrappers for llentry, in_llentry and in6_llentry. To generate a diff of this commit: cvs rdiff -u -r1.18.6.2 -r1.18.6.3 src/sys/net/if_llatbl.c cvs rdiff -u -r1.10.8.2 -r1.10.8.3 src/sys/net/if_llatbl.h cvs rdiff -u -r1.194.6.6 -r1.194.6.7 src/sys/net/route.c cvs rdiff -u -r1.250.2.6 -r1.250.2.7 src/sys/netinet/if_arp.c cvs rdiff -u -r1.203.2.10 -r1.203.2.11 src/sys/netinet/in.c cvs rdiff -u -r1.245.2.8 -r1.245.2.9 src/sys/netinet6/in6.c cvs rdiff -u -r1.232.2.6 -r1.232.2.7 src/sys/netinet6/nd6.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.