From owner-freebsd-net@FreeBSD.ORG Thu Jan 17 23:22:37 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id C993B5C2 for ; Thu, 17 Jan 2013 23:22:37 +0000 (UTC) (envelope-from stevek@juniper.net) Received: from exprod7og115.obsmtp.com (exprod7og115.obsmtp.com [64.18.2.217]) by mx1.freebsd.org (Postfix) with ESMTP id 8148DC37 for ; Thu, 17 Jan 2013 23:22:34 +0000 (UTC) Received: from P-EMHUB03-HQ.jnpr.net ([66.129.224.36]) (using TLSv1) by exprod7ob115.postini.com ([64.18.6.12]) with SMTP ID DSNKUPiHuXV7JU0Zpv7m30LDmhidP8f+UZbA@postini.com; Thu, 17 Jan 2013 15:22:37 PST Received: from stevek-ubuntu (172.25.4.212) by P-EMHUB03-HQ.jnpr.net (172.24.192.33) with Microsoft SMTP Server id 8.3.213.0; Thu, 17 Jan 2013 15:21:50 -0800 Date: Thu, 17 Jan 2013 18:21:45 -0500 From: Steve Kiernan To: Damien Fleuriot Subject: Re: Proposal for changes to network device drivers and network stack (RFC) Message-ID: <20130117182145.0d174c82@stevek-ubuntu> In-Reply-To: <6AC27A59-9B9E-4D60-A5E4-E9C8FEF50F1D@my.gd> References: <50F868FF.5060506@networx.ch> <20130117165323.5bfb8ff5@stevek-ubuntu> <6AC27A59-9B9E-4D60-A5E4-E9C8FEF50F1D@my.gd> Organization: Juniper Networks Inc. X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Cc: "freebsd-net@freebsd.org" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jan 2013 23:22:37 -0000 On Fri, 18 Jan 2013 00:07:06 +0100 Damien Fleuriot wrote: > > On 17 Jan 2013, at 22:53, Steve Kiernan wrote: > > > On Thu, 17 Jan 2013 22:11:27 +0100 > > Andre Oppermann wrote: > > > >> On 17.01.2013 20:23, Stephen J. Kiernan wrote: > >>> The network stack as a module patch has been separated out and can be found in the following location: > >>> http://people.freebsd.org/~marcel/Juniper/netstack-v2.diff > >> > >> This is quite some work and a lot of changes which will a moment to review. > >> > >> Can you describe the concept and the terminology you're using here some more? > >> What is a netstack module and what is its scope? How does it relate to VNET? > >> What is an IOCGROUP? etc. All this is probably obvious to you but not yet for > >> us. > > > > Sure, not a problem. First, I will repeat here what Anu sent out previously as a description of the netstack changes. > > > >> Today, not compiling networking stack related files in the kernel breaks > >> the kernel build due to dependencies the OS has on the network stack > >> (calling into functions in the network stack). Network stack module isn't > >> there. We've added these in JUNOS. The benefits for us are obvious (we can > >> load our own version of network stack if we desire!), but most likely this > >> functionality will benefit others too. > >> > >> The detailed implementation is indicated later in this email. In short the > >> changes are: > >> > >> - Load network stack as a module. For now via loader, not dynamically > >> loaded. (Is there interest in dynamic loading?). > > I speak only for myself but I think dynamic loading would avoid a lot of trouble with/for people who don't read UPDATING carefully and forget to adjust loader.conf... By default, the network stack is compiled into the kernel. This is so functionality isn't changed by default, but building the network stack as a module is supported. So, unless someone wants to replace the network stack (and thus compile a kernel without networking), they get the network stack be default. This is what I added the NETSTACK option to DEFAULTS. One would need to use "nooptions NETSTACK" to turn it off. -- Stephen J. Kiernan Juniper Networks, Inc. stevek_at_juniper.net