On Wed, Aug 28, 2019 at 12:06 AM Larry McVoy <lm@mcvoy.com> wrote:
I could be wrong but that's my memory.  What he told me was streams was
for line disciplines for tty drivers. 

Rob - this syncs with what Dennis I had talked about too i.e. Using streams for the serial interface; as the line disciplines stuff was a mess by that point.  I cannt say I remember talking to him about using streams for networking.   But I will say, I did agree that when we looked later at Stellar; but stuck with using sockets.  This was for no other reason than to ensure that the BSD code 'just worked' and for a product, which where I was at the time (and I think Larry also at Sun), ensuring existing code worked (and worked efficiently), has to be the high order bit.

I do hear you about many of the deficancies of 'pure joy.'  It seems that it is always difficult as systems implementors to decide when to have an 'ice age' and try to kill off the old code and when to evolve it.  IMHO: the code running user space that exploited the networking layer was still new enough, that evolution (i.e. hanging on an interface that was seemly 'good enough' - sockets) was more attractive than revolution.  FWIW: we can now analyize and argue why BSD UNIX and the socket interface were what made it happen, but the historical fact is that sockets did seed the user space network code base.

Also, I will observe that your comments about replacing MPX are a solid memory for me also, IIRC Greg developed MPX for datakit originally.  He had sent me a copy at CMU in the late 1970s (but before V7 was out the door) and we had it in our v6++/CMU distr front -end system. I also remember messing with it in on the Teklabs system. Because I had messed with it at CMU aqnd was familar with its semantics, we we got the 3COM UNET code base (which was the first commercial IP/TCP implementation and it ran in user space unlike the later BBN Gurwitiz code base), and I rewrote some of Greg Shaw and Bruce Borden's stuff to use MPX.   I'm trying to remember how their code worked before we hacked it -- (maybe Rand Pipes); but that was too many beers ago for my brain to still have it.  I'm pretty sure Greg/Bruce took this back to 3Com when we were done.   Sadly, the UNET stuff seems to have been lost.