[HECnet] Next retro comms project?

Steve Davidson jeep at scshome.net
Wed Oct 21 15:20:47 PDT 2009


Very true!


-----Original Message-----
From: owner-hecnet at Update.UU.SE on behalf of Johnny Billquist
Sent: Wed 10/21/2009 10:17
To: hecnet at Update.UU.SE
Subject: Re: [HECnet] Next retro comms project?

Sampsa Laine wrote:

On 21 Oct 2009, at 14:55, Bob Armstrong wrote:

Well, if we're going to go off into Wishful Thinking Land here :-)

* DECnet for BSD, especially 2.11 PDP-11 bsd.   Yes, a 16 bit version is
significantly harder than a 32 bit version, I know, but there are several
real PDP11s out there running BSD that could be on HECnet.   I know - I've
got one!   We could use the Linux DECnet as a starting point - the dn
userspace utility programs might not even be that hard to port - but we'd
need a kernel wizard to do the tricky bits :-)


Just an idea, and I'm not a network programming guru at all, but do we 
really need to have stuff in the kernel? Could we not just have a 
userland process that writes frames to the network interface* and then 
apps talk to the server process? I imagine this is easier to both write 
and debug...

Sampsa

* assuming we are able to write raw frames to the net interface of 
course...

Performance will be horrible, and it will also probably be very 
problematic. You also need some sort of a transition point between the 
kernel and user space to even start doing this. Any user process who 
would like to talk DECnet will either want to do system calls, or open a 
device to do the communication. That system call, or device will then 
access the memory area of the user process to read/write data from the 
user process. If your protocol implementation also were in user space, 
you then need to send it back from the kernel back into userspace again, 
for the protocol process. And you also need to keep track of the 
original user process, to keep a connection living, and you need to know 
if the user process goes away, so that you can tear down stuff when it 
happens. There are a lot of headaches in there, and having a user 
process doing it isn't really that helpful.

It's a common mistake to think that this will actually be easier just 
because the protocol is implemented as a user space process. It isn't. 
The only thing that becomes easier is that once the basic framework is 
in place, you can more easily install and remove the code that 
implements the protocols. But since buggy protocol implementations often 
corrupt more than can be fixed, you often end up needing to reboot anyway.

And we still have the horrible performance issues...

	Johnny



More information about the Hecnet-list mailing list