From owner-cvs-src@FreeBSD.ORG Thu Oct 30 15:02:52 2003 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BD1BB16A4CE; Thu, 30 Oct 2003 15:02:52 -0800 (PST) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4182743FBD; Thu, 30 Oct 2003 15:02:52 -0800 (PST) (envelope-from sam@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.9/8.12.9) with ESMTP id h9UN2pXJ082920; Thu, 30 Oct 2003 15:02:51 -0800 (PST) (envelope-from sam@repoman.freebsd.org) Received: (from sam@localhost) by repoman.freebsd.org (8.12.9/8.12.9/Submit) id h9UN2p7t082919; Thu, 30 Oct 2003 15:02:51 -0800 (PST) (envelope-from sam) Message-Id: <200310302302.h9UN2p7t082919@repoman.freebsd.org> From: Sam Leffler Date: Thu, 30 Oct 2003 15:02:51 -0800 (PST) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/net route.c route.h src/sys/netinet if_ether.c in_pcb.c in_rmx.c src/sys/netinet6 in6_ifattach.c in6_pcb.c in6_rmx.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 30 Oct 2003 23:02:53 -0000 sam 2003/10/30 15:02:51 PST FreeBSD src repository Modified files: sys/net route.c route.h sys/netinet if_ether.c in_pcb.c in_rmx.c sys/netinet6 in6_ifattach.c in6_pcb.c in6_rmx.c Log: Overhaul routing table entry cleanup by introducing a new rtexpunge routine that takes a locked routing table reference and removes all references to the entry in the various data structures. This eliminates instances of recursive locking and also closes races where the lock on the entry had to be dropped prior to calling rtrequest(RTM_DELETE). This also cleans up confusion where the caller held a reference to an entry that might have been reclaimed (and in some cases used that reference). Supported by: FreeBSD Foundation Revision Changes Path 1.89 +104 -9 src/sys/net/route.c 1.51 +1 -0 src/sys/net/route.h 1.112 +3 -8 src/sys/netinet/if_ether.c 1.124 +3 -5 src/sys/netinet/in_pcb.c 1.47 +9 -24 src/sys/netinet/in_rmx.c 1.19 +6 -7 src/sys/netinet6/in6_ifattach.c 1.44 +3 -5 src/sys/netinet6/in6_pcb.c 1.10 +5 -16 src/sys/netinet6/in6_rmx.c