Date: Tue, 14 Dec 1999 23:22:15 +0000 From: Brian Somers <brian@Awfulhak.org> To: Jonathan Lemon <jlemon@americantv.com> Cc: Brian Somers <brian@Awfulhak.org>, Warner Losh <imp@village.org>, freebsd-arch@freebsd.org, brian@hak.lan.Awfulhak.org, brian@hak.lan.Awfulhak.org Subject: Re: The if_detach problem Message-ID: <199912142322.XAA36949@hak.lan.Awfulhak.org> In-Reply-To: Message from Jonathan Lemon <jlemon@americantv.com> of "Tue, 14 Dec 1999 16:04:54 CST." <19991214160454.26093@right.PCS>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Dec 12, 1999 at 09:45:36PM +0000, Brian Somers wrote: > > > > > > if_detach doesn't, at least not completely. > > > > > > That's a problem when you want to remove interfaces. One problem is > > > that the routing system caches ifaddr and other things. There is a > > > mechanism in place that could be used to clean things up. > > > > > > In the protosw there is a ctlinput routine which accepts various > > > commands. One way to deal with this is to send a new command when ifa > > > goes away. Right now when we do if_down we send a PRC_IFDOWN. Maybe > > > we need to invent a new PRC_, say PRC_IFDETACH. Then we wouldn't need > > > the kludges in if_detach. The ctlinput routines could then, in the > > > appropriate places, scrub the references to the interface that just > > > went away. > > > > > > I'd like to go down this path, any comments? > > > > Not comments, but my thoughts.... > > > > Is there a lot to be gained by removing interfaces ? > > Loadable device drivers. I ran into this last week or so when > unloading a driver I'm developing; if I don't do an 'ifconfig xxx delete' > before the kldunoad, I get a panic. Right, but how about a ``notthere'' flag instead ? My concern is that there are some APIs that use interface ids (sysctl(PF_ROUTE) springs to mind) and some APIs that use interface names (the struct ifaliasreq ioctls etc) and reassigning the association between the two on the fly seems a tad dangerous - lots of races. Another (more real?) argument for keeping the interface but making it unusable 'till the driver wants it again is that there may be security concerns.... at the moment, ``netstat -i'' reports what's been going on very nicely. Removing the interface entirely will allow people to hide what should not be hidden.... > -- > Jonathan -- Brian <brian@Awfulhak.org> <brian@FreeBSD.org> <http://www.Awfulhak.org> <brian@OpenBSD.org> Don't _EVER_ lose your sense of humour ! <brian@FreeBSD.org.uk> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199912142322.XAA36949>