Skip site navigation (1)Skip section navigation (2)
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>