Received: by oss.sgi.com id ; Tue, 27 Jun 2000 07:58:47 -0700 Received: from gst.gst.com ([208.219.159.150]:56082 "EHLO gst.gst.com") by oss.sgi.com with ESMTP id ; Tue, 27 Jun 2000 07:48:55 -0700 Received: from x0.org ([208.219.159.214]) by gst.gst.com (8.8.8/8.8.8) with ESMTP id KAA29280 for ; Tue, 27 Jun 2000 10:59:57 -0400 (EDT) Message-ID: <3958BED5.43FE6C27@x0.org> Date: Tue, 27 Jun 2000 10:48:53 -0400 From: Andy X-Mailer: Mozilla 4.73 [en] (X11; I; Linux 2.2.16 i586) X-Accept-Language: en MIME-Version: 1.0 To: "netdev@oss.sgi.com" Subject: Network protocols as modules Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-netdev@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;netdev-outgoing Hello! After long brainstorm meating, we compiled a list of some good reasons for network protocols to be implemented as kernel modules: Cleaner code Better maintainability Better extensibility Modularity Smaller initial kernel Higher efficiency 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. 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. 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. IPV6 support is complicated because TCP has its tenticles inside IP implementation. Please comment. Andy