Received: by mail.netbsd.org (Postfix, from userid 605) id BB16E84D7B; Thu, 21 Sep 2017 07:15:36 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id 449BB84D7B for ; Thu, 21 Sep 2017 07:15:36 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([IPv6:::1]) by localhost (mail.netbsd.org [IPv6:::1]) (amavisd-new, port 10025) with ESMTP id PT6a6QHxpGoo for ; Thu, 21 Sep 2017 07:15:35 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.NetBSD.org [IPv6:2001:470:a085:999:28c:faff:fe03:5984]) by mail.netbsd.org (Postfix) with ESMTP id 9866F84D63 for ; Thu, 21 Sep 2017 07:15:35 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id 8E92BFA9A; Thu, 21 Sep 2017 07:15:35 +0000 (UTC) Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" MIME-Version: 1.0 Date: Thu, 21 Sep 2017 07:15:35 +0000 From: "Ryota Ozaki" Subject: CVS commit: src/sys To: source-changes@NetBSD.org X-Mailer: log_accum Message-Id: <20170921071535.8E92BFA9A@cvs.NetBSD.org> Sender: source-changes-owner@NetBSD.org List-Id: source-changes.NetBSD.org Precedence: bulk Reply-To: source-changes-d@NetBSD.org Mail-Reply-To: "Ryota Ozaki" Mail-Followup-To: source-changes-d@NetBSD.org List-Unsubscribe: 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.