Received: by oss.sgi.com id ; Tue, 27 Jun 2000 08:49:38 -0700 Received: from mail.inconnect.com ([209.140.64.7]:15320 "HELO mail.inconnect.com") by oss.sgi.com with SMTP id ; Tue, 27 Jun 2000 08:49:15 -0700 Received: (qmail 25324 invoked from network); 27 Jun 2000 15:49:19 -0000 Received: from ultra1.inconnect.com (209.140.64.2) by mail with SMTP; 27 Jun 2000 15:49:19 -0000 Date: Tue, 27 Jun 2000 09:49:19 -0600 (MDT) From: Keyshaun X-Sender: kruger@ultra1.inconnect.com To: Andy cc: "netdev@oss.sgi.com" Subject: Re: Network protocols as modules In-Reply-To: <3958BED5.43FE6C27@x0.org> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-netdev@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;netdev-outgoing First I am rather curious as to why it would be so important to cut such a small part of the kernel and make it a module. I may just be a bit slow not knowing how much TCP and UDP take up. The things I make modules are things like IPv6, and network drivers that I may need on the next upgrade, and possibly my PPP if I really wanted to. > Cleaner code > Better maintainability > Better extensibility > Modularity > Smaller initial kernel > Higher efficiency How much smaller will the kernel be? > > Here are some scenarios: > > PDA, linux powered watch, satelite,... does not need TCP/IP running all > the time. It could load module when needed. This would save working > space and power consumption by adding minimal latency to the initial > network request. I can understand working space, but in the case of small devices wouldn't it be possible to get the text segment mapped directly to the memory that the kernel is burned into( this is 2MB on some PDAs) and thus make it a moot point to make anything a module? At that time the module would just be taking up user memory being stored and more in execution. > Linux powered diskless workstation has kernel in some small memmory, for > example bios and it runs bootp/tftp. They both run without TCP, why > would TCP eat the memmory. The kernel can get TCP module from the > network. I see a similar situation with the diskless workstation. Some network cards already have the ability to get an OS and boot it from a network source. If the OS is coming from over the network why not bring a kernel with all the basic support you need (full netdrivers no modules). > Problems of putting TCP on some other layer or sticking another layer > between TCP and > IP. If TCP would be independent from IP, then this would be trivial. According to the OSI model they are already in seperate layers. TCP is just the feature of IP that allows streaming. I'm sure other protocolls have their own methods. > IPV6 support is complicated because TCP has its tenticles inside IP > implementation. I would rather run full IPv6 anyway and let the 138k module be in the kernel and take up space and cut other things. The only trouble is that this isn't an option until IPv6 support is complete. Until then, If I am designing something I will put memory into it so that it will not need to be modular. Shaun Kruger