Well, it's been a long time project, but I'm happy to finally announce a more
public initial release of TCP/IP for RSX-11M-PLUS.
This is the result of over 20 years of development. Needless to say, I've been doing a
lot of things over the years, and this code have been through four reimplementations over
the years.
What I now release is something that I believe is a nice and useful piece of software. I
am aware of the fact that most people do not use these machines any longer, but if someone
actually wants to talk to me about support for this or other RSX software, let me know.
Also, feel free to spread this information to anyone who might be interested, anywhere.
So - what is in this release?
It is a complete implementation of ARP, IP, UDP, and TCP for RSX-11M-PLUS. It has been
tested on RSX-11M-PLUS V4.6, but should work on any V4 release. There might be some small
tweaks or fixes required, but nothing major.
It do require a system with split I/D-space, or else at least the TCP part will not fit.
For Unibus machines, it should be possible to run without any additional software except
what is in a base RSX distribution.
For Q-bus machines, DECnet is required for ethernet networking.
The TCP/IP stack can co-exist with DECnet.
Some utilities also utilize RMS for file access.
A bunch of tools, utilities and libraries are also included. These include:
. IFCONFIG network configuration tool.
. NETSTAT network information tool.
. PING
. TRACEROUTE
. DNS client
. FTP daemon
. FTP client
. HTTP server
. TELNET client (rudimentary)
. TFTP client
. TFTP server
. INET server that can do SINK, ECHO, DAYTIME, QUOTE, and IDENT
. NTP client
. LPR client that sits in the queue manager (rudimentary)
. FORTRAN-77 library
. BASIC+2 library
. PDP-11 C library
The implementation fulfills most of the requirements put forth in RFC 1122. There are a
few limitations because of restrictions in the PDP-11, but none of them should really
cause any problems.
Documentation is still on the thin side, but example configs are also provided, along with
installation scripts.
A bunch of test programs and example programs are also included, as well as the sources of
all tools and libraries.
The TCP/IP stack itself only comes in binary form.
All tools are also included precompiled in the distribution, so an installation only have
to build the stack itself for your system, and then you should be ready to go.
The API only have a slight resemblance to the Unix sockets API. However, if someone sits
down to write code to use TCP/IP under RSX, I'm sure they will discover that it is
extremely easy to use the libraries, or the basic functions.
The TCP/IP implementation is mostly written as device drivers. This also have some other
interesting implications, such as it is possible to access TCP as a normal file. You can,
for instance do something similar to the Unix netcat command by issuing the MCR command:
PIP TI:=TC:"foo.com";4711
which would open a connection to
foo.com, on port 4711, and any data sent from that
machine will be shown on the terminal.
The resources used by TCP/IP are modest. A memory area (size selectable at
generation/startup) is used internally. The amount of memory in the private pool limits
the amount of data that can be buffered. Normal pool is used in a small quantity for each
TCP port that is open.
People are welcome to play around with this, and make improvements. Contributions of code
is most welcome.
There are still lots of things to do. The programs marked as rudimentary should be
rewritten.
The most obvious thing still missing is a telnet daemon, which probably is my next step.
However, the reason for now announcing the release is that it can finally be distributed
natively from an RSX host.
The main locations to download the TCP/IP for RSX are:
Madame.Update.UU.SE (anonymous ftp).
This is one of my development systems for this software. It runs under E11, and if things
are down, I blame E11. :-)
When connected, you are already in the right directory. There is both an RL02 disk image
there, which can be downloaded by anyone. If you happen to have an RSX system which you
are conneting from, you can also try getting the BQTCP.TAP tape image. Such an image will
not transport cleanly to a non-RSX system, however. Sorry.
ftp.Update.UU.SE (anonymous ftp) - /pub/pdp11/rsx/tcpip
The disk image is normally duplicated to ftp.update.uu.se as well, so the same file can be
found there.
I hope some people will find this useful/amusing. :-)
Johnny Billquist
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic
trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" -
B. Idol