From owner-freebsd-current Sat Nov 17 16:14:26 2001 Delivered-To: freebsd-current@freebsd.org Received: from elvis.mu.org (elvis.mu.org [216.33.66.196]) by hub.freebsd.org (Postfix) with ESMTP id AB84537B416; Sat, 17 Nov 2001 16:14:21 -0800 (PST) Received: by elvis.mu.org (Postfix, from userid 1192) id 7EE6C81D01; Sat, 17 Nov 2001 18:14:21 -0600 (CST) Date: Sat, 17 Nov 2001 18:14:21 -0600 From: Alfred Perlstein To: "George V. Neville-Neil" Cc: Julian Elischer , Peter Wemm , Julian Elischer , current@FreeBSD.ORG, net@FreeBSD.ORG, wollman@FreeBSD.ORG Subject: Re: re-entrancy and the IP stack. Message-ID: <20011117181421.E13393@elvis.mu.org> References: <200111172215.OAA421007@meer.meer.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <200111172215.OAA421007@meer.meer.net>; from gnn@neville-neil.com on Sat, Nov 17, 2001 at 02:17:32PM -0800 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG * George V. Neville-Neil [011117 16:17] wrote: > I recommend you all look at The Click Modular router > > http://www.pdos.lcs.mit.edu/click/ > > which is a step in the right direction. > > Of course given the current architecture it may be very hard > to adapt it to this kind of model. > > I led/worked on a project at Wind River Systems to do a multi-instance > stack based off of the 4.4 BSD lite code. I can tell you that without > quite a bit of rearchitecting what you get is always a hack. Actually, usually when you rearchitect what you get is a hack to allow multi-instance instead of relying on tried and true algorithms like Van Jacobson. :) > There are (were?) over 100 global variables in the 4.4BSD lite code. I've > not counted on 4.4 or -CURRENT so I can't say. There are also the issues > of the locks though I suspect in -CURRENT (since the kernel is MP) you > have handled these in some way. > > An extensible, multi-threaded TCP/IP would NOT look like the 4.4BSD-Lite code. I really can't agree with this, there isn't all that much that makes the version of the stack in FreeBSD not modular, I usually find that with enough study one quickly learns why things are done versus immediatly screaming "this needs to be rewritten so that _I_ can understand it." > Is this a goal of FreeBSD now? I am working on some things to make this > possible > but it is independent of FreeBSD and very very early days as yet. The goal right now is more MPsafe than extensable, an extensable stack would be an interesting project but I doubt it would be as stable nor as fast as what we already have. -- -Alfred Perlstein [alfred@freebsd.org] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' http://www.morons.org/rants/gpl-harmful.php3 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message