From owner-freebsd-net Fri Nov 16 17: 8:50 2001 Delivered-To: freebsd-net@freebsd.org Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by hub.freebsd.org (Postfix) with ESMTP id 1B4A237B419; Fri, 16 Nov 2001 17:08:44 -0800 (PST) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.11.4/8.11.4) id fAH18d144195; Fri, 16 Nov 2001 20:08:39 -0500 (EST) (envelope-from wollman) Date: Fri, 16 Nov 2001 20:08:39 -0500 (EST) From: Garrett Wollman Message-Id: <200111170108.fAH18d144195@khavrinen.lcs.mit.edu> To: Julian Elischer Cc: Peter Wemm , Julian Elischer , current@FreeBSD.ORG, net@FreeBSD.ORG, wollman@FreeBSD.ORG Subject: Re: re-entrancy and the IP stack. In-Reply-To: References: <20011117000251.A13B93811@overcee.netplex.com.au> Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org < said: > (and anyhow Garrett got rid of the 'static' uses > of mbufs, not 'travelling' 'per packet' uses..) Only because I did not have the time or stomach then to introduce `struct packet' everywhere. All of the queueing and metadata crap should be pulled out of mbufs and put into a higher-level object. It's OK if the higher-level object HAS_A(mbuf), but not IS_A(mbuf). This is A Lot Of Work, but would seriously clean up the code in a number of areas. As a general rule, though, reentrancy was not a particular concern of the original design -- that's why there are queues and soft ISRs all over the place -- because you would blow the kernel stack long before that became an issue. -GAWollman To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message