From owner-freebsd-net@FreeBSD.ORG Tue Jul 4 16:36:44 2006 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DE8C916A4E0; Tue, 4 Jul 2006 16:36:44 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 64C7243D4C; Tue, 4 Jul 2006 16:36:44 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 02D8A46BFC; Tue, 4 Jul 2006 12:36:44 -0400 (EDT) Date: Tue, 4 Jul 2006 17:36:43 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: "M. Warner Losh" In-Reply-To: <20060704.102539.-494099438.imp@bsdimp.com> Message-ID: <20060704173115.V44010@fledge.watson.org> References: <44A40C25.904@elischer.org> <20060630115749.G3964@fledge.watson.org> <20060703202803.GA22556@odin.ac.hmc.edu> <20060704.102539.-494099438.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: yar@comp.chem.msu.su, src-committers@freebsd.org, julian@elischer.org, freebsd-net@freebsd.org Subject: Re: cvs commit: src/sys/net if_vlan.c X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Jul 2006 16:36:45 -0000 On Tue, 4 Jul 2006, M. Warner Losh wrote: > In message: <20060703202803.GA22556@odin.ac.hmc.edu> > Brooks Davis writes: > : and act as though the interface is not there. We could then consider > : either holding the interface for a configurable or computed length > : of time or adding some sort of refcounting (probably impractical). > > Refcounting would be good for the 'macro' things (coming and going) that are > infrequent, but we might have mulitple people doing. You are right it > likely is too inefficient to do with mbugs. One other option might be to > have a configurable time after the last time that it was accessed via the > 'safe' routines that were setup. This way we'd tie the removal of the > interface to a period of time after it was last used, rather than after it > was removed. I don't know if such a difference would matter much in > practice. > > The only other 'issue' that I see with this approach is if I remove a card, > and then insert it again before the timeout happens. Does that card get a > new interface name? And would people care or not... I think that the name should cease to be "reserved" as soon as the device driver has destroyed the ifnet, because it is up to the device driver to select the index, not the ifnet framework. This means keeping the structure semi-valid but in a state that limits further bad behavior (i.e., repointing its function points at stubs, etc), but removing references to it in global data structures, etc. We're not just quiescing, we're actually taking it 99% of the way to turn down. Robert N M Watson Computer Laboratory University of Cambridge