At the other end of PPP history, I’ve always felt that the best part of IP is that it will run, more or less, over a piece of wet string.
In 2006 at SiCortex we were building a modest supercomputer with 972 six-core MIPS-64 chips connected by a rather nice high speed interconnect. The chips were booted over JTAG, which is another story, but in addition the chip had a “communications register” that could be written and read in I/O space from the kernel and over JTAG from the module level coldfire microcontroller.
This was at first used for the console, and all 972 console streams were collected on a front end machine. However, it was a small step from there to multiplexing the comm register to provide two serial ports. We used the second one for PPP using a standard driver on the MIPS end and a somewhat strange JTAG driver on the coldfire end. This scheme let us SSH into the machine nodes when the high speed interconnect needed debugging. In spite of the bit-banging JTAG-ness of it all, it was usably fast at 100 Kbps or so.
It was much easier to spin up PPP than to write a new network driver for this low-speed application.
Seconded... At a past life, we had a SONET circuit that we were using for timing signals, but needed some way to do networking... The timing signals and driver chips we were using precluded using the front door, so we used the 1-byte service field per frame to do PPP, which we did have access to (and was the only data field we had access to).
Warner