From owner-freebsd-questions@FreeBSD.ORG Sat Dec 20 22:54:30 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 43A1F1065673 for ; Sat, 20 Dec 2008 22:54:30 +0000 (UTC) (envelope-from freebsd-questions-local@be-well.ilk.org) Received: from mail2.sea5.speakeasy.net (mail2.sea5.speakeasy.net [69.17.117.4]) by mx1.freebsd.org (Postfix) with ESMTP id 189B98FC0C for ; Sat, 20 Dec 2008 22:54:30 +0000 (UTC) (envelope-from freebsd-questions-local@be-well.ilk.org) Received: (qmail 25607 invoked from network); 20 Dec 2008 22:54:29 -0000 Received: from dsl092-078-145.bos1.dsl.speakeasy.net (HELO be-well.ilk.org) ([66.92.78.145]) (envelope-sender ) by mail2.sea5.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 20 Dec 2008 22:54:29 -0000 Received: from lowell-desk.lan (lowell-desk.lan [172.30.250.6]) by be-well.ilk.org (Postfix) with ESMTP id E4C3450820 for ; Sat, 20 Dec 2008 17:54:25 -0500 (EST) Received: by lowell-desk.lan (Postfix, from userid 1147) id 268A91CD4D; Sat, 20 Dec 2008 17:54:24 -0500 (EST) To: freebsd-questions@freebsd.org 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> From: Lowell Gilbert Date: Sat, 20 Dec 2008 17:54:24 -0500 In-Reply-To: <20081220224016.S10302@wojtek.tensor.gdynia.pl> (Wojciech Puchar's message of "Sat\, 20 Dec 2008 22\:41\:13 +0100 \(CET\)") Message-ID: <441vw2zcdb.fsf@lowell-desk.lan> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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: Sat, 20 Dec 2008 22:54:30 -0000 Wojciech Puchar writes: >>>> I very much doubt that marketing issues were a significant issue. >>>> Off-the-shelf OS networking has always fallen short of supporting >>> >>> it wasn't made for that. >> >> It can be. I've written portable IP stacks intended for exactly this > Of course it can. i just write that FreeBSD network stack WASN'T MADE > for that. > not if it can or not. I had deliberately worked around this topic because FreeBSD's routing table implementation has made considerable strides in virtualization lately (for which, as far as I know, the credit is almost entirely due to Julian Elischer), and this will probably turn out to make it more useful for commercial routers. So far, however, these changes are irrelevant to the historical question of Juniper's use of FreeBSD code. >>> routing ASIC's and put them there! >> >> Mostly, yes. But the system still has to be network manageable. That >> requires that it send and receive packets. Doing so requires using the >> same routing information that the forwarding engines are using to >> forward packets in the same address space. The kernel *does* still need >> to know routes to any of its destinations. > > but kernel doesn't forward much packets. It may not not forward any, but your statement that all it does with IP is put data into ASICs is still generally incorrect. It generally does *send* and *receive* packets, and as such it needs routing information. It is possible to use a FreeBSD kernel without the IP stack (and this has been done on particularly deeply embedded processors). 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. That forwarding data is usually coordinated with the entity managing the routing data, although sometimes the management is done completely out-of-band, in which case the kernel's forwarding data need not have any connection with the data driven into the forwarding hardware. -- Lowell Gilbert, embedded/networking software engineer, Boston area http://be-well.ilk.org/~lowell/