[fa.tcp-ip] Out of Kernel TCP/IP

tcp-ip@ucbvax.ARPA (05/14/85)

From: jas@proteon.arpa

MIT did an out of kernel TCP/IP for V6 UNIX on an 11/45 (or any I&D
machine). The kernel code includes only the minimum functionality
required in the kernel:
	> IP Fragment reassembly
	> IP header checksums
	> Demultiplexing based on IP protocol, and UDP/TCP sockets
	> Completion of IP headers on outgoing packets
	> Local-net header handling
	> Gateway cache for routing outbound packets
All of the rest of the code is in libraries that are linked with
user tasks. There are clean IP and UDP libraries, and a rather
bare-bones TCP library. The following aspects are handled by
user-level code:
	> ICMP redirect processing
	> ICMP echo processing
	> fragmenting outgoing packets
	> Name->address translation using IEN116 nameservers
	> UDP headers & checksums
The user level code includes the following application levels:
	> TFTP file transfer
	> User and server telnet (a psuedo-tty driver for the kernel
	  is provided)
	> Finger user and server
	> User and server SMTP
The device driver is for proNET. Since this is a small-address
space net, no ARP was written.

This code is available from MIT, for something like $40. Contact
lwa@mrclean.

Proteon has made a commercial version of this code, which is currently
running on VENIX/11 (a UNIX derivative resembling a cross between
V6 and V7). Some changes and improvements have been made:
	> Comments (extensive) in kernel code
	> Many fixes to the TCP, so that it can work with the
	  4.2TCP, along with a horde of other bug-fixes.
	> An IEN116 nameserver
	> Port of pty driver to V7 kernel
	> Discard user and server
	> Hostnames user
	> Nicname user
Also, the documentation has been brushed-up, but is not much more
extensive than a complete set of manual pages.

This code is distributed in source form, with different licenses
depending on whether it will be resold. Contact me (John Shriver,
jas@proteon) for details on this version.

This code has proved quite reasonably portable. The MIT version
has probably been sucessfully ported about 3 times. The Ethernet
ports have not had any trouble adding an ARP layer.
-------