From owner-freebsd-net@FreeBSD.ORG Wed Oct 6 16:24:04 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 470BF16A4CE for ; Wed, 6 Oct 2004 16:24:04 +0000 (GMT) Received: from moutng.kundenserver.de (moutng.kundenserver.de [212.227.126.191]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9D61443D39 for ; Wed, 6 Oct 2004 16:24:03 +0000 (GMT) (envelope-from max@love2party.net) Received: from [212.227.126.206] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1CFEaA-0003DW-00; Wed, 06 Oct 2004 18:24:02 +0200 Received: from [217.227.145.115] (helo=donor.laier.local) by mrelayng.kundenserver.de with asmtp (TLSv1:RC4-MD5:128) (Exim 3.35 #1) id 1CFEaA-0004Iy-00; Wed, 06 Oct 2004 18:24:02 +0200 From: Max Laier To: freebsd-net@freebsd.org Date: Wed, 6 Oct 2004 18:23:17 +0200 User-Agent: KMail/1.7 References: <41640CEE.9070900@web.de> In-Reply-To: <41640CEE.9070900@web.de> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart2315233.6rBgA3mI02"; protocol="application/pgp-signature"; micalg=pgp-sha1 Content-Transfer-Encoding: 7bit Message-Id: <200410061823.24492.max@love2party.net> X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:61c499deaeeba3ba5be80f48ecc83056 cc: Waldemar Kornewald Subject: Re: modularization X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Oct 2004 16:24:04 -0000 --nextPart2315233.6rBgA3mI02 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline On Wednesday 06 October 2004 17:19, Waldemar Kornewald wrote: > Hi, > are there any plans to mularize the netstack (maybe: protocol+interface > modules)? > Would it be difficult to modularize it? One problem you will hit here, is that you will have to do a lot of additio= nal=20 locking for structures that do not change right now, but are heavily used.= =20 The domains list is just one example of the top of my head. There are=20 certainly other places as well. Another issue is the load/unload process. Y= ou=20 have to make sure that everything that is there already is hooked up=20 correctly and you must protect these subsystems as well. Then there are=20 pieces of code that are used from more than one protocol (e.g. we have a=20 unified tcp stack on top of IPv4 and IPv6). These systems use #ifdefs at th= e=20 moment. In order to be able to load IPv6 as a module, you'd have to rewrite= a=20 lot of code. So it's hard - to say the least. > I am also interested in your opinion about it: > Does it make sense to modularize the netstack? Why would a > monolithic/modular netstack be better? Given the additional locking requirements and the additional checks, lookup= s=20 and function calls I hardly believe that it is a good idea. There might be= =20 protocols that are easily plugged, but you can certainly do them at the=20 netgraph layer as well. Netgraph is a interesting thing to look at in any=20 case, when talking modularity. =2D-=20 /"\ Best regards, | mlaier@freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier@EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News --nextPart2315233.6rBgA3mI02 Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.6 (FreeBSD) iD8DBQBBZBv8XyyEoT62BG0RAvMtAJ45XyoQhZUjwR9nRf4gYmZrEmBOuACfc4wB IP4drXQWOpR0f4XM2yUDKJA= =5Sk6 -----END PGP SIGNATURE----- --nextPart2315233.6rBgA3mI02--