From owner-freebsd-arch Tue Feb 12 14:39:40 2002 Delivered-To: freebsd-arch@freebsd.org Received: from odin.ac.hmc.edu (Odin.AC.HMC.Edu [134.173.32.75]) by hub.freebsd.org (Postfix) with ESMTP id C10A337B41D for ; Tue, 12 Feb 2002 14:39:19 -0800 (PST) Received: (from brdavis@localhost) by odin.ac.hmc.edu (8.11.0/8.11.0) id g1CMd9V14667; Tue, 12 Feb 2002 14:39:09 -0800 Date: Tue, 12 Feb 2002 14:39:09 -0800 From: Brooks Davis To: Maxime Henrion Cc: freebsd-arch@FreeBSD.org Subject: Re: Patches to if_loop + the interface cloning framework Message-ID: <20020212143909.B24768@Odin.AC.HMC.Edu> References: <20020212154828.A25374@sneakerz.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-md5; protocol="application/pgp-signature"; boundary="bCsyhTFzCvuiizWE" Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <20020212154828.A25374@sneakerz.org>; from mux@sneakerz.org on Tue, Feb 12, 2002 at 03:48:28PM -0600 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --bCsyhTFzCvuiizWE Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Feb 12, 2002 at 03:48:28PM -0600, Maxime Henrion wrote: > The reason why lo0 can't be destroyed is that there is a global struct > ifnet *loif pointer which points to it used by some code in the kernel. > Destroying this interface would cause panics if this pointer is accessed > later. We thus need a way to report this error to the upper layer. I > slightly modified the interface cloning framework to this purpose, > changing the prototype of foo_clone_destroy() to be a function returning > an int. The patch containing this change plus the if_loop change is > available at : > http://www.sneakerz.org/~mux/net.diff >=20 > Of course, any reviews or comments would be greatly appreciated. By and large it looks good so far. I've got a couple minor issues though. First, I think we should at least KASSERT and probably just panic if lo_clone_create() failes in loop_modevent since that causes the same problem as deleting lo0. Also, if there are users of the net.nloop out there, we may want to figure out a way to support them in stable. It's always possiable that there aren't any users of net.nloop and thus we don't need to worry, but I'd prefer to ask before tossing support in stable. I've got no qualms about ripping in out in current. -- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --bCsyhTFzCvuiizWE Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iD8DBQE8aZmMXY6L6fI4GtQRAr/dAKDAw2regbb5hAKFvKPIVljJkX9qlwCfWF8n 02wij78wVNgiivL31WCGKLQ= =Vo+w -----END PGP SIGNATURE----- --bCsyhTFzCvuiizWE-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message