Someone who worked at BBN told me they had no overhang budget for
improvements, they wrote code to fixed price contracts with DARPA and
'maybe we could do that better' was impossible without a second grant.
The butterfly we had at UCL had issues. No support worth writing home for.
Pre BGP routing was a bit of a disaster. Fixed size prefix tables and LRU
ejection. You could time out a telnet to the USA before the login: prompt
assuming you even had a route.
"Diamond" their SGML multimedia mailer was great, but a one-shot.
Smart people. Very focused on the bottom line.
(Apologies if this offends anyone ex BBN it's recollection of coffee room
gossip from 1985)
G
On Sat, 12 Aug 2023, 3:08 pm Warner Losh, <imp(a)bsdimp.com> wrote:
On Fri, Aug 11, 2023 at 3:05 AM Paul Ruizendaal <pnr(a)planet.nl> wrote:
Bill Joy of CSRG concluded that the BBN stack did
not perform according
to his expectations. Note that CSRG was focused on usage over (thick)
ethernet links, and BBN was focused on usage over Arpanet and other
wide-area networks (with much lower bandwidth, and higher latency and error
rates). He then in 1982 rewrote the stack to match the CSRG environment,
changing the design to use software interrupts instead of a kernel thread
and optimising the code (e.g. checksumming and fast code paths). It was a
matter of debate how new the code was, with the extremes being that it was
written from scratch using the spec versus it being mostly copied. Looking
at it with a nearly 50 year distance, it seems in between: small bits of
surviving SCCS suggest CSRG starting with parts of BBN code followed by
rapid, massive modification; the end result is quite different but retained
the ‘mbuf’ core data structure and a BBN bug (off-by-one for OOB TCP
segments).
When Kirk McKusick tells the story, UCB got a beta release (or early
access) of the BBN stack. UCB was supposed to add the socket interface to
whatever was there. But Bill Joy found it performed terribly (multiple
seconds to connect sometimes, single digit kB over 10Mb media, etc). He
optimized it to make it perform well. This was a combination of rewriting
chunks and tweaking other chunks, which matches your analysis of SCCS. When
BBN came back with their new, release ready stack Bill supposedly said
something like 'no thanks, we already got one that works way better.' This
is why much of the structure of the original BBN stack survived the
rewrite: if there wasn't a big issue with them, the design and mechanisms
wound up being conserved by this effort. It was too much work to move from
mbuf to something else, and too little gain.
I tried to find a good link, but they are in his BSD history retrospective
talks to differing degrees. Sorry I don't have an exact reference.
Warner