From owner-freebsd-hackers Thu Nov 7 17: 0:39 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 16ABC37B404 for ; Thu, 7 Nov 2002 17:00:38 -0800 (PST) Received: from scaup.mail.pas.earthlink.net (scaup.mail.pas.earthlink.net [207.217.120.49]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7DE5843E6E for ; Thu, 7 Nov 2002 17:00:37 -0800 (PST) (envelope-from tlambert2@mindspring.com) Received: from pool0030.cvx40-bradley.dialup.earthlink.net ([216.244.42.30] helo=mindspring.com) by scaup.mail.pas.earthlink.net with esmtp (Exim 3.33 #1) id 189xVS-0003Eg-00; Thu, 07 Nov 2002 17:00:19 -0800 Message-ID: <3DCB0BD3.99EF0EB@mindspring.com> Date: Thu, 07 Nov 2002 16:56:51 -0800 From: Terry Lambert X-Mailer: Mozilla 4.79 [en] (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: dolemite@wuli.nu Cc: freebsd-hackers@freebsd.org Subject: Re: Netgraph could be a router also. References: <20021108000159.GE86595@host4.rpi.wulimasters.net> <3DCB0240.C61DD2E7@mindspring.com> <20021108002525.GC86846@host4.rpi.wulimasters.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Alex Newman wrote: > > Yes, you could do this. > > > > The Netgraph TCP/IP is a good idea for research work, but a bad > > idea for general implementation purposes, since it's performance > > will be very poor, compared to a monolithic TCP/IP implementation. > > Interesting, why is click so fast then? What does it have that netgraph > doesn't. Just in case http://pdos.lcs.mit.edu then click on click(hehe). I'm well aware of the Click Router project (which dealt with data at layer 3, not layer 4, BTW). Among other things, it rewrote the ethernet card firmware to get the packets per second rate up where it is. It's not at all comparable to Netgraph; the closest they get to each other is that they are each modular frameworks. You might as well compare Click modules to VxD's in Windows. Netgraph is more comparable to Streams. It does not support a "pull model", as used by ClickRouter elements, nor does it support the idea of flow (which, theoretically, could allow a two port card with shared memory avoid the PCI bus transfer overhead, the same way that the SiBytes card that Chris Demetriou had a hand in creating). If you want to look at how to do this type of thing in a general purpose OS, without crippling it, you would do well to look at the work of Peter Druschell's group at Rice University, specifically the work done by Druschell, Mohit Aron, Guarav Banga, and similar people, or you can look at what Anderson has done at Duke University (Slice, Trapeze, SmartBridge). Alternately, you could start with Jeff Mogul and other people's work, starting around 1992 (the most interesting papers are from 1993 and 1995). See also the papers by Sally Floyd and Van Jacobson, circa 1993. Everyone who reads the literature knows about these things; they just never make it into OS's, for whatever reason. My best guess is "NIH" ("Not Invented Here") and/or "MIC" ("Monkeys In Charge"). -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message