From owner-freebsd-questions@FreeBSD.ORG Mon Dec 22 22:13:18 2008 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 119E21065670 for ; Mon, 22 Dec 2008 22:13:18 +0000 (UTC) (envelope-from freebsd-questions-local@be-well.ilk.org) Received: from mail3.sea5.speakeasy.net (mail3.sea5.speakeasy.net [69.17.117.5]) by mx1.freebsd.org (Postfix) with ESMTP id DAE398FC13 for ; Mon, 22 Dec 2008 22:13:17 +0000 (UTC) (envelope-from freebsd-questions-local@be-well.ilk.org) Received: (qmail 7034 invoked from network); 22 Dec 2008 22:13:16 -0000 Received: from dsl092-078-145.bos1.dsl.speakeasy.net (HELO be-well.ilk.org) ([66.92.78.145]) (envelope-sender ) by mail3.sea5.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 22 Dec 2008 22:13:16 -0000 Received: by be-well.ilk.org (Postfix, from userid 1147) id 3E26F5085A; Mon, 22 Dec 2008 17:13:15 -0500 (EST) To: RW References: <1229788709.1583.16.camel@MGW_1> <44iqpezlb8.fsf@lowell-desk.lan> <20081220205414.A10042@wojtek.tensor.gdynia.pl> <448wqazfyf.fsf@lowell-desk.lan> <20081220224016.S10302@wojtek.tensor.gdynia.pl> <441vw2zcdb.fsf@lowell-desk.lan> <20081221031611.6f1dc764@gumby.homeunix.com> From: Lowell Gilbert Date: Mon, 22 Dec 2008 17:13:14 -0500 In-Reply-To: <20081221031611.6f1dc764@gumby.homeunix.com> (RW's message of "Sun\, 21 Dec 2008 03\:16\:11 +0000") Message-ID: <44k59rq2o5.fsf@be-well.ilk.org> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-questions@freebsd.org Subject: Re: Network Stack Code Re-write (Possible motivations...?) X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Dec 2008 22:13:18 -0000 RW writes: > On Sat, 20 Dec 2008 17:54:24 -0500 > Lowell Gilbert wrote: > >> However, >> commercial routers generally do not use their OS kernel this way -- it >> is far more common that the kernel does send and receive packets >> within its native IP stack. > > If I'm understanding you right, I'm surprised by that (the native part). > It make any proprietary software less portable. You're also tying your > code into third-party internals, which sounds like a maintenance > problem. Yes, but I think that's a fairly small effect. The packet send/receive interface involved is generally pretty small, regardless of how you implement it. > I would have thought that the likes of Cisco and Alcatel > etc would would have reusable codebases that abstract the OS and > minimize OS dependencies. That's always a goal, of course. Completely throwing out the protocol stacks in the OS kernel doesn't make most things more portable, though. There are a fair number of system parameters that are already implemented in OS kernels, and reinventing that wheel doesn't buy you anything. > What's the advantage, don't routers usually lead OS's in terms > of new protocol support? Protocol support per se is generally fairly independent from the OS in a hardware router; high level protocols are usually handled in userland, and low level protocols are mostly a hardware issue. -- Lowell Gilbert, embedded/networking software engineer, Boston area http://be-well.ilk.org/~lowell/