After thinking about it many times, I thought this time around I would enter RetroChallenge. My project is probably going to be a bit longer than the month allowed and I am not sure how much time I am going to have to dedicate to it this month, but here goes.
The idea is to write a portable DECnet router that can be used on HECnet. My aim is to write it for Windows (as a Windows service) and as a daemon for Debian on a Raspberry Pi. At the moment I run a SIMH emulation of the VAX780 for this purpose and that means that anytime the machine it is running on is shutdown I have to go and restart SIMH. With a service or daemon I won’t need to do that anymore. Writing my own means I should be able to interoperate with Johnny’s HECnet bridge, and also real CISCO routers. I may be able to connect to other types of interface too, for example async hosts using DDCMP.
So far I have created a shell for the service and the daemon and I have created a bit of infrastructure to allow me to talk transparently to different interfaces (LIBPCAP for the LAN and sockets for the HECnet bridge at the moment). This bit is currently working on both Windows and the Raspberry Pi.
I am writing this in C for maximum portability, so I am using function pointers to implement my own inheritance mechanism to make multi-interface support easier. My task at the moment is to get the Ethernet Router Hello message working to the point that other nodes recognise my router. I am sending out my node’s hello message, but it isn’t being acknowledged by my emulated VAX780 yet.