From owner-freebsd-net@FreeBSD.ORG Sun Nov 17 18:10:18 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id B68DF313; Sun, 17 Nov 2013 18:10:18 +0000 (UTC) Received: from mail.xcllnt.net (mail.xcllnt.net [50.0.150.214]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id 7234D2B20; Sun, 17 Nov 2013 18:10:18 +0000 (UTC) Received: from macbook-air.wifi.xcllnt.net (50-0-150-213.dsl.static.sonic.net [50.0.150.213]) (authenticated bits=0) by mail.xcllnt.net (8.14.7/8.14.7) with ESMTP id rAHIAFTQ005001 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO); Sun, 17 Nov 2013 10:10:16 -0800 (PST) (envelope-from marcel@xcllnt.net) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 7.0 \(1822\)) Subject: Re: [JNPR] Network stack as a module (RFC) From: Marcel Moolenaar In-Reply-To: <20131116084919.GF7577@glebius.int.ru> Date: Sun, 17 Nov 2013 10:10:15 -0800 Content-Transfer-Encoding: quoted-printable Message-Id: <1DAF9090-08DA-404B-B86B-57E5D124D70D@xcllnt.net> References: <50F868FF.5060506@networx.ch> <20131115165210.23f82578@stevek-ubuntu> <20131116084919.GF7577@glebius.int.ru> To: Gleb Smirnoff X-Mailer: Apple Mail (2.1822) Cc: luigi@freebsd.org, Marcel Moolenaar , Steve Kiernan , freebsd-net@freebsd.org, zec@freebsd.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 17 Nov 2013 18:10:18 -0000 On Nov 16, 2013, at 12:49 AM, Gleb Smirnoff wrote: > Steve, >=20 > On Fri, Nov 15, 2013 at 04:52:10PM -0500, Steve Kiernan wrote: > S> This is a follow up to the request sent back in January titled = "Proposal for changes to network device drivers and network stack". > S>=20 > S> In order to make it easier to review, we will be submitting pieces = to be contributed in logical blocks. > S>=20 > S> Please review the following patch and provide feedback: > S> = http://people.freebsd.org/~marcel/Juniper/201311/netstack-option.diff > S>=20 > S> The details of this patch are as follows (and what is suggested for = the commit log): > S>=20 > S> Add a NETSTACK option to facilitate separating network stack pieces = from the > S> rest of the OS core. This is the first step towards having the = network stack > S> as a module. >=20 > You probably mean "having the network stack optional", since under = module we > usually mean loadable kernel module. Actually, we do mean module. At Juniper we have the FreeBSD stack as a loadable module now. We also have the Juniper stack as a loadable module. Depending on context, we can use the most appropriate one. Yes, this implies that we also have a stable interface between the NIC driver and the network stack itself. We'll be contributing that as well... Note that assumptions in the finalization of setting up networking limits the network stack from being loaded manually, not to mention that unloading is an entirely different challenge. Nonetheless it's very useful without all that and I think it will make it easier for people to change the network stack or experiment with beta versions this way. It all really comes in handy for the opaque ifnet work... FYI, --=20 Marcel Moolenaar marcel@xcllnt.net