From owner-freebsd-hackers Wed Jan 10 16:16:30 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id QAA14649 for hackers-outgoing; Wed, 10 Jan 1996 16:16:30 -0800 (PST) Received: from etinc.com (et-gw.etinc.com [165.254.13.209]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id QAA14639 for ; Wed, 10 Jan 1996 16:16:26 -0800 (PST) Received: from ppp-082.etinc.com (ppp-082.etinc.com [204.141.95.142]) by etinc.com (8.6.12/8.6.9) with SMTP id TAA00308; Wed, 10 Jan 1996 19:13:38 -0500 Date: Wed, 10 Jan 1996 19:13:38 -0500 Message-Id: <199601110013.TAA00308@etinc.com> X-Sender: dennis@etinc.com X-Mailer: Windows Eudora Version 2.0.3 Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" To: Pierre Beyssac From: dennis@etinc.com (dennis) Subject: Re: pppd vs ijppp Cc: hackers@freebsd.org Sender: owner-hackers@freebsd.org Precedence: bulk Pierre Beyssac writes... >dennis writes: >> ioctls were designed for setting options, and the options can still be >> largely managed >> in user space. Good data communications requires good reporting, and information >> availability is substantially better and more efficient in the kernel, not >> to mention the performance penalty of a user level implementation. > >A kernel is something that needs to be as simple, small and efficient/reliable >as possible, that's why it generally contains only : > > 1) stuff that *can't* be elsewhere because of the architecture of > the system. > 2) stuff that would not be efficient enough in user space. > >PPP basically needs to (A) emit/receive network (IP or other) packets >and (B) encode/decode them. (A) *needs* to be in the kernel. (B) doesn't, >except for performance (when SLIP was first implemented, CPU resources >were scarce enough that this made a big difference even on personal >workstations. Not anymore). Bravo...you've trivialized datacomm to a point of utter stupidity. What you've missed is that stability and performance are the key issues, and event managment is severely degraded when you separate the functionality from the kernel. (This, perhaps, is why the pppij is so damn unreliable *light bulb*) A good example is the routing function, which is in the kernel because its too damn inefficient in user space. Mr kendals example of "lets move tcp out of the kernel" was a good analogy to the kind of arguments we're getting on this thread. db ---------------------------------------------------------------------------- Emerging Technologies, Inc. http://www.etinc.com Synchronous Communications Cards and Routers For Discriminating Tastes. 56k to T1 and beyond. Frame Relay, PPP, HDLC, and X.25