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.

Reply via email to