PDP-10 / supdup

Community maintained SUPDUP client for Unix
Other
16 stars 8 forks source link

Connect through Chaosnet #15

Closed larsbrinkhoff closed 2 years ago

larsbrinkhoff commented 6 years ago

Make supdup talk over Chaosnet, tunneled in UDP. (In addition to existing TCP/IP.)

@bictorv is the leading expert.

bictorv commented 6 years ago

What more precisely do you mean? I thought this already works?

larsbrinkhoff commented 6 years ago

This is a wishlist item for the Unix supdup. It only works with TCP/IP.

bictorv commented 6 years ago

Why would you want to do this? If an ITS can be reached by UDP, it should also be reachable by TCP? Would you want the supdup client to become a Chaosnet node in itself? Seems a bit messy? I don't think I understand.

But if you have a Chaosnet implementation in e.g. Linux, I agree that Supdup should be able to use it.

larsbrinkhoff commented 6 years ago

Some simulators might have Chaosnet but not IMP support. Or, an ITS admin might elect not to expose TCP/IP ports, just Chaosnet.

I have no idea what the implementation would look like. I have the impression that Chaosnet is quite simple, so that what ever is needed could go into supdup itself. It's just a vague idea at this point.

larsbrinkhoff commented 6 years ago

Something like what David Conroy did with telnet:

A simple version of TELNET, modified to include a user-mode implementation of the CHAOSNET protocol using raw sockets, was used to debug the new code in ITS. The bulk of the debugging time was spent figuring out how the W5300 works (the chip actually works quite well, but the data sheet does not describe the tricky bits clearly, if it describes them at all). The fact that the user-mode impementation of the CHAOSNET protocol uses raw sockets means that TELNET needs to be run as the super-user, which is a bit of a nuisence (now that I really understand how the W5300 works it is clear that UDP and a fixed port would have worked, and I will probably change to doing this soon).

http://www.fpgaretrocomputing.org/pdp10x/

ams commented 6 years ago

I have a supdup client that should be able to talk Chaosnet. It is the same stuff I use for MIT CADR — either socket or Chaos over Ethernet should work. Might need porting to UNIX (and from NUXI?). I’ll upload it in a few hours/days.

larsbrinkhoff commented 6 years ago

Great, thanks!

ams commented 6 years ago

So here we go, it is a big ugly:

https://github.com/LM-3/chaos/tree/ams/next

The original tarballs I found where not of the same origin as the stuff used in MIT CADR's Chaos implementation. I merged it back more or less as how it looks in my Subversion tree. The thing you will want to fix up is https://github.com/LM-3/chaos/blob/ams/next/cmd/chsupdup.c . The kernel code or socket doesn't work as such, but I have patches somewhere. As soon as this gets stable to use with MIT CADR it should be merged back into master.

ams commented 6 years ago

It should be noted that this is the old MIT Chaosnet for UNIX code -- with hacks for working as a Linux driver, and as a semi-portable socket implementation.

larsbrinkhoff commented 2 years ago

I'm trying to bring up a few nodes connected to a locally running chaosnet-bridge. It would be nice to be able to type something like, say, supdup -U localhost:42042 -c 3116 to i.e. supdup to Chaosnet host 3116 through a bridge/router at chudp localhost:42042. Or something like that.

bictorv commented 2 years ago

I'm not sure what you really want to do? If you use supdup (compiled with chaosnet support), and you convince it you are connecting to a chaosnet host (e.g. by giving an octal address or a hostname with CH class address data), it tries to connect to your locally running chaosnet bridge through its chaos_stream socket (typically in the /tmp directory).

Your example could give the impression that you want to use Chaos-over-UDP to connect to the chaosnet bridge, which would mean that supdup itself would need to implement large parts of a full host, including connection management, window handling etc. I don't see why you would want to do that, when it's all packaged up in the chaosnet bridge?

larsbrinkhoff commented 2 years ago

I just forgot you already added this: #23. So this can now be closed.