Module Name: src Committed By: ozaki-r Date: Thu Sep 21 07:15:35 UTC 2017
Modified Files: src/sys/net: route.c route.h src/sys/netatalk: at_proto.c src/sys/netinet: in_proto.c src/sys/netinet6: in6_proto.c src/sys/netmpls: mpls_proto.c src/sys/netnatm: natm_proto.c src/sys/rump/net/lib/libsockin: sockin.c src/sys/sys: domain.h Log Message: Invalidate rtcache based on a global generation counter The change introduces a global generation counter that is incremented when any routes have been added or deleted. When a rtcache caches a rtentry into itself, it also stores a snapshot of the generation counter. If the snapshot equals to the global counter, the cache is still valid, otherwise invalidated. One drawback of the change is that all rtcaches of all protocol families are invalidated when any routes of any protocol families are added or deleted. If that matters, we should have separate generation counters based on protocol families. This change removes LIST_ENTRY from struct route, which fixes a part of PR kern/52515. To generate a diff of this commit: cvs rdiff -u -r1.198 -r1.199 src/sys/net/route.c cvs rdiff -u -r1.113 -r1.114 src/sys/net/route.h cvs rdiff -u -r1.21 -r1.22 src/sys/netatalk/at_proto.c cvs rdiff -u -r1.123 -r1.124 src/sys/netinet/in_proto.c cvs rdiff -u -r1.117 -r1.118 src/sys/netinet6/in6_proto.c cvs rdiff -u -r1.30 -r1.31 src/sys/netmpls/mpls_proto.c cvs rdiff -u -r1.17 -r1.18 src/sys/netnatm/natm_proto.c cvs rdiff -u -r1.64 -r1.65 src/sys/rump/net/lib/libsockin/sockin.c cvs rdiff -u -r1.32 -r1.33 src/sys/sys/domain.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.