Re: Why many protocols are in kernel level ?

Alan Cox (alan@lxorguk.ukuu.org.uk)
Mon, 13 Jan 1997 21:01:56 +0000 (GMT)


> the data link layer(LAPD) of V5.2 std is kept in a DSP card. I yet to
> take decision where to put my network layer. I mean either in kernel level or
> user level. A driver is written to glue between data link layer and network
> layer, which resides in kernel.

The advantage of putting a layer in kernel space is that you can handle
multiplexing it between several users as well as security issues (eg accepting
reverse change calls in X.25).

You can normally find a line where you can see a clean break. In the case
of appletalk you need only to place the lowest levels of the system in
kernel space and to demux on ports/addresses. The kernel gets to ensure
you use addresses you own, some ports are controlled, the routing table is
handled right and the demux works right. Above that stuff like the AFP
are user libraries.

Its very protocol dependant