Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Sep 2000 20:51:43 +0200 (CEST)
From:      Luigi Rizzo <luigi@info.iet.unipi.it>
To:        Robert Watson <rwatson@FreeBSD.ORG>
Cc:        Warner Losh <imp@village.org>, Wes Peters <wes@softweyr.com>, Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>, current@FreeBSD.ORG, net@FreeBSD.ORG
Subject:   Re: the ifp to a removed pcmcia ethernet card is left in struct ip_moptions and struct ifmultiaddr
Message-ID:  <200009051851.UAA20917@info.iet.unipi.it>
In-Reply-To: <Pine.NEB.3.96L.1000905143626.2846B-100000@fledge.watson.org> from Robert Watson at "Sep 5, 2000 02:38:54 pm"

next in thread | previous in thread | raw e-mail | index | archive | help
> This is all made harder by the fact that struct mbuf has a struct ifnet
> pointer in it, so if for any reason there is an outstanding mbuf
...
> This has been raised as an issue before, and is a good reason to ifconfig
> down the interface, and wait a second or two before ejecting.  You could

and still, the wait is not errorproof as delays can be larger than
a second or two.
I suppose the correct way to do things when you delete an interface
is to to keep the struct ifnet around (in some list) for further
reuse when the card is reinserted.

One could argue that dummynet with its delayed scheduling of packets
is screwing up things, but i would argue that having pointers to
volatile objects without reference counts is not such a great
design, and SMP might give the same kind of problems.

	cheers
	luigi


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200009051851.UAA20917>