The same bullpoop exists for the PING program. I sat next to Mike Muuss while he wrote
ping. We did it a few days before the Arpanet switched over to TCP/IP. We had just
brought up the 11/70 system we had using code backported from 4.1 BSD into our JHU version
V6 kernel. As you can probably expect the machine crashed. We brought it back up and
were working on what went wrong and then it crashed again and immediately my phone rang.
My friend Louis Mamakos who along with Mike Petry was working will Dave Mills on the
“FUZZBALL” RT-11 network platform. They admitted that they had attempted to send ICMP
ECHO requests (I.e., PINGS) to our machine. Sure enough, Mike and I traced through the
ICMP code and found that the code used the same mbuf of the incoming request as the data
for the outgoing but neglected to suppress freeing it at that point. It freed it as it
did with all incoming requests after processing. It the dumped it in the send queue and
that freed it as well.
Well, Mike thinks. UNIX needs a ping program as well so we can test things. He
banged it out in about an hour. Mike joked years later about PING being an acronym for
packet inter network groper but he was NEVER serious about it.
Mike did substantial contributions to UNIX, TCP/IP, Computer Graphics, etc… but we always
laughed off that it was the (UNIX) ping that he’d be know for.
(application/pkcs7-signature — 2.2 KB)