From: hedrick@dumas.rutgers.edu (Charles Hedrick) Subject: Re: Linux-0.95 Date: 14 Mar 1992 10:00:40 GMT
dj1l+@andrew.cmu.edu (Demian A. Johnston) writes:
>Is ka9q a networking package? Obvious it supports slip, how about Token
>Ring?
KA9Q is a TCP/IP implementation. It's a port of software written for
MS/DOS. Under MS/DOS, it uses the packet drivers. There is a packet
driver for TR that emulates an Ethernet. Unfortunately it's harder to
do Ethernet or TR under Unix. Under Unix, user programs (which KA9Q
is) don't normally use hardware like Ethernet or TR cards at the low
level that KA9Q expects. However that's just tradition. There's no
good reason you couldn't implement a device driver that supports a
/dev/ethernet or /dev/token, with read and write system calls to read
and write packets, and a couple of ioctl's. That would be enough to
let KA9Q do its thing. There'd need to be some low-level coode in
KA9Q as well, but it would be easy to write. The hard part of the
Ethernet or TR encapsulation is ARP, and that code is already present.
This might be a reasonable intermediate step in progress towards full
network support. The main disadvantage would be that the version of
KA9Q I ported is really a single-user program. That's probably OK for
SLIP, but maybe not so good for Ethernet. There's another Unix port
of KA9Q that reorganizes it into a single server talking to multiple
clients in a way that would probably work with "tubes". That would be
more appropriate for Ethernet or TR (and it's even possible that it's
got some support for Ethernet -- though you'd still need a device
driver). Sorry, I don't recall where that port is. If you look for
KA9Q in archie you should turn it up. I didn't use that version
(1) because there was nothign like tubes when I first did the
port, and (2) because that version looked more difficult to port.