The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] Origins of PPP
@ 2019-12-05 10:34 Paul Ruizendaal
  2019-12-05 10:58 ` Michael Kjörling
                   ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Paul Ruizendaal @ 2019-12-05 10:34 UTC (permalink / raw)
  To: TUHS main list

I’m looking for the origins of SLIP and PPP on Unix. Both seem to have been developed long before their RFC’s appeared.

As far as I can tell, SLIP originally appeared in 3COM’s UNET for the PDP11, around 1980. From the TUHS Unix tree, first appearance in BSD seems to be 4.3 (1986).

Not sure when PPP first appeared, but the linux man page for pppd has a credit that goes back to Carnegie Mellon 1984. First appearance in BSD seems to be FreeBSD 5.3 (2004), which seems improbably late (same source).

Paul

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 10:34 [TUHS] Origins of PPP Paul Ruizendaal
@ 2019-12-05 10:58 ` Michael Kjörling
  2019-12-05 15:50   ` Richard Salz
  2019-12-05 16:39 ` Clem Cole
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Michael Kjörling @ 2019-12-05 10:58 UTC (permalink / raw)
  To: tuhs

On 5 Dec 2019 11:34 +0100, from pnr@planet.nl (Paul Ruizendaal):
> Not sure when PPP first appeared, but the linux man page for pppd
> has a credit that goes back to Carnegie Mellon 1984. First
> appearance in BSD seems to be FreeBSD 5.3 (2004), which seems
> improbably late (same source).

The FreeBSD man page archive indicates that client-side (user) PPP
goes back at least to 2.0.5-RELEASE.

It's there in 2.0.5-RELEASE at
<https://www.freebsd.org/cgi/man.cgi?query=ppp&apropos=0&sektion=8&manpath=FreeBSD+2.0.5-RELEASE&arch=default&format=html>

It isn't there in 2.0-RELEASE at
<https://www.freebsd.org/cgi/man.cgi?query=ppp&apropos=0&sektion=8&manpath=FreeBSD+2.0-RELEASE&arch=default&format=html>

However, 2.0-RELEASE has pppd at
<https://www.freebsd.org/cgi/man.cgi?query=pppd&sektion=8&apropos=0&manpath=FreeBSD+2.0-RELEASE>

Even FreeBSD 1.0-RELEASE has pppd at
<https://www.freebsd.org/cgi/man.cgi?query=pppd&apropos=0&sektion=8&manpath=FreeBSD+1.0-RELEASE&arch=default&format=html>

The 1.0-RELEASE man page for pppd references documents as recent as
May 1992, which agrees fairly well with Wikipedia which gives the
release date for FreeBSD 1 as November 1993.

Certainly a lot earlier than 2004.

-- 
Michael Kjörling • https://michael.kjorling.se • michael@kjorling.se
 “Remember when, on the Internet, nobody cared that you were a dog?”


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 10:58 ` Michael Kjörling
@ 2019-12-05 15:50   ` Richard Salz
  0 siblings, 0 replies; 12+ messages in thread
From: Richard Salz @ 2019-12-05 15:50 UTC (permalink / raw)
  To: Michael Kjörling; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]

Rick Adams reverse-engineered the 3Com protocol, gave the code to CSRG and
named it SLIP; see "Creation of SLIP" at
https://en.wikipedia.org/wiki/Rick_Adams_(Internet_pioneer) .

The IETF started work on PPP to address some of its deficiencies.

[-- Attachment #2: Type: text/html, Size: 394 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 10:34 [TUHS] Origins of PPP Paul Ruizendaal
  2019-12-05 10:58 ` Michael Kjörling
@ 2019-12-05 16:39 ` Clem Cole
  2019-12-05 19:41   ` Warner Losh
  2019-12-05 23:09 ` Doug McIntyre
  2019-12-06  2:05 ` Lawrence Stewart
  3 siblings, 1 reply; 12+ messages in thread
From: Clem Cole @ 2019-12-05 16:39 UTC (permalink / raw)
  To: Paul Ruizendaal; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 3346 bytes --]

below...

On Thu, Dec 5, 2019 at 5:42 AM Paul Ruizendaal <pnr@planet.nl> wrote:

> I’m looking for the origins of SLIP and PPP on Unix. Both seem to have
> been developed long before their RFC’s appeared.
>
This is true...


>
> As far as I can tell, SLIP originally appeared in 3COM’s UNET for the
> PDP11, around 1980.

Sort of....   As the first customer for UNET I can verify that there was a
serial interface that had been used to for debugging the SW until the 3C100
became stable.   But it was not what we would later call SLIP.  It was
really not usable for much other than to debug the protocol.  It did not
have a 'chatting' and was for dedicated (hardwired) serial lines.  As I
remember it, the code mostly was used as a loopback between two TTY ports
and IIRC it only worked on the DH11.   I think Greg Shaw wrote it, but it
might have been Bruce Borden (I can ask Bruce).   Glaser and I set it up in
lookback mode as we used it to A/B test the Hyperchannel code we wrote.

My first experience with a real 'SLIP' as we later knew it was a
distribution from Harvard/MIT in early the 1980s (83/84 IIRC but dates
could be off).  The code base took some major rework to the TTY driver,
that I thought had originated at MIT.  IIRC I got the sources from someone
like Jack Test or somebody else working in Steve Ward's real-time lab (i.e.
Terry Hayes/tjt may have brought the src with them); but we could have just
has likely gotten them sob @ harvard.   It ran on DH's as DZ'd were an
issue because of interrupts as I remember (DZ's always were an issue when
you pushed them).  But, it must have originally worked on BSD 4.1 not
4/1C/4.2, which tells me it was hack off the original BBN code which did
not use sockets, but rather the same open("/dev/tcp", ...) stuff that
chaosnet used.   But the times are fuzzy in my mind, so it's possible by
the time we got it, worked with the UCB code sockets code base.   I do
remember that it ran on sockets by the time Steve Zimmerman hacked SLIP
into RTU when he redid our TTY driver.

The important thing is that the early version lacked PPPD, as we were later
know it.


> From the TUHS Unix tree, first appearance in BSD seems to be 4.3 (1986).
>
That's make sense.


>
> Not sure when PPP first appeared, but the linux man page for pppd has a
> credit that goes back to Carnegie Mellon 1984. First appearance in BSD
> seems to be FreeBSD 5.3 (2004), which seems improbably late (same source).
>
There were two or three different PPP schemes in the beginning.  What was
common was the SLIP line discipline code under the covers, but how the line
got set up to start running it was different.  The original SLIP 'kit' from
Harvard/MIT lacked anything like PPPD to start and was sort of ad hoc. I
think originally it used a program called 'chat' that had been pulled out
uucico that set things up then exec'ed the SLIP stuff; but chat(1) may have
been round 2 or 3.   I've forgotten the name of the original daemon, I bet
it you look in the Usenet archives from 82-84 and look for 'SLIP' you find
a couple of things.     The more modern pppd(1) coming from CMU is as
likely as anywhere else.   I did eventually run it at home on a FreeBSD
box, but it was at least the second or third way I set up my dial-ip ISP
connection.

[-- Attachment #2: Type: text/html, Size: 5197 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 16:39 ` Clem Cole
@ 2019-12-05 19:41   ` Warner Losh
  2019-12-05 21:03     ` Clem Cole
  0 siblings, 1 reply; 12+ messages in thread
From: Warner Losh @ 2019-12-05 19:41 UTC (permalink / raw)
  To: Clem Cole; +Cc: TUHS main list, Paul Ruizendaal

[-- Attachment #1: Type: text/plain, Size: 982 bytes --]

On Thu, Dec 5, 2019 at 9:40 AM Clem Cole <clemc@ccc.com> wrote:

>  What was common was the SLIP line discipline code under the covers, but
> how the line got set up to start running it was different.  The original
> SLIP 'kit' from Harvard/MIT lacked anything like PPPD to start and was sort
> of ad hoc. I think originally it used a program called 'chat' that had been
> pulled out uucico that set things up then exec'ed the SLIP stuff; but
> chat(1) may have been round 2 or 3.   I've forgotten the name of the
> original daemon, I bet it you look in the Usenet archives from 82-84 and
> look for 'SLIP' you find a couple of things.
>

There never was a slipd, at least in this time frame. The chat program
would login to the remote system, start SLIP on the remote end, then run a
program that effectively put the slip line discipline into place and then
maybe did an ifconfig. It was hit dinosaur over head with club level of
sophistication, if it was that advanced...

Warner

[-- Attachment #2: Type: text/html, Size: 1453 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 19:41   ` Warner Losh
@ 2019-12-05 21:03     ` Clem Cole
  0 siblings, 0 replies; 12+ messages in thread
From: Clem Cole @ 2019-12-05 21:03 UTC (permalink / raw)
  To: Warner Losh; +Cc: TUHS main list, Paul Ruizendaal

[-- Attachment #1: Type: text/plain, Size: 502 bytes --]

On Thu, Dec 5, 2019 at 2:41 PM Warner Losh <imp@bsdimp.com> wrote:

>
>
> On Thu, Dec 5, 2019 at 9:40 AM Clem Cole <clemc@ccc.com> wrote:
>
>> The original SLIP 'kit' from Harvard/MIT lacked anything like PPPD to
>> start and was sort of ad hoc.
>>
>
> ...

> It was hit dinosaur over head with club level of sophistication, if it was
> that advanced...
>
Right, as I said -- pretty ad hoc.

I note the CMU code, has an if_sl.c edit tag.  Which makes sense that it
goes back to the original SLIP code.

[-- Attachment #2: Type: text/html, Size: 2206 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 10:34 [TUHS] Origins of PPP Paul Ruizendaal
  2019-12-05 10:58 ` Michael Kjörling
  2019-12-05 16:39 ` Clem Cole
@ 2019-12-05 23:09 ` Doug McIntyre
  2019-12-06  2:05 ` Lawrence Stewart
  3 siblings, 0 replies; 12+ messages in thread
From: Doug McIntyre @ 2019-12-05 23:09 UTC (permalink / raw)
  To: TUHS main list

On Thu, Dec 05, 2019 at 11:34:48AM +0100, Paul Ruizendaal wrote:
> I’m looking for the origins of SLIP and PPP on Unix. Both seem to have been developed long before their RFC’s appeared.
> 
> As far as I can tell, SLIP originally appeared in 3COM’s UNET for the PDP11, around 1980. From the TUHS Unix tree, first appearance in BSD seems to be 4.3 (1986).
> 
> Not sure when PPP first appeared, but the linux man page for pppd has a credit that goes back to Carnegie Mellon 1984. First appearance in BSD seems to be FreeBSD 5.3 (2004), which seems improbably late (same source).


Yes, I remember doing CMU pppd v1.4 or so on SunOS v4.x in the
1991-1994 time period. SL/IP was more prevelent because it was easier to find devices doing it.

Version 2.x of the package started adding support into Linux/*BSD when they started appearing.

I don't think the current repo (https://ppp.samba.org/) has much of the earlier v1.x history.


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 10:34 [TUHS] Origins of PPP Paul Ruizendaal
                   ` (2 preceding siblings ...)
  2019-12-05 23:09 ` Doug McIntyre
@ 2019-12-06  2:05 ` Lawrence Stewart
  2019-12-06 18:31   ` Warner Losh
  3 siblings, 1 reply; 12+ messages in thread
From: Lawrence Stewart @ 2019-12-06  2:05 UTC (permalink / raw)
  To: TUHS main list

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.

-Larry


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-06  2:05 ` Lawrence Stewart
@ 2019-12-06 18:31   ` Warner Losh
  0 siblings, 0 replies; 12+ messages in thread
From: Warner Losh @ 2019-12-06 18:31 UTC (permalink / raw)
  To: Lawrence Stewart; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 1658 bytes --]

On Thu, Dec 5, 2019 at 7:06 PM Lawrence Stewart <stewart@serissa.com> wrote:

> 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

[-- Attachment #2: Type: text/html, Size: 1978 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 19:21 ` ron
@ 2019-12-05 19:37   ` Warner Losh
  0 siblings, 0 replies; 12+ messages in thread
From: Warner Losh @ 2019-12-05 19:37 UTC (permalink / raw)
  To: Ronald Natalie; +Cc: TUHS main list, Noel Chiappa

[-- Attachment #1: Type: text/plain, Size: 3125 bytes --]

FreeBSD 1.0 shipped if_ppp.c, the kernel version of PPP which predated the
userland version ppd, with the following headers:

/*
 * if_ppp.c - Point-to-Point Protocol (PPP) Asynchronous driver.
 *
 * Copyright (c) 1989 Carnegie Mellon University.
 * All rights reserved.

and later
/*
 *      $Id: if_ppp.c,v 1.4 1993/10/07 02:19:37 rgrimes Exp $
 *      From: if_ppp.c,v 1.22 1993/08/31 23:20:40 paulus Exp
 *      From: if_ppp.c,v 1.21 1993/08/29 11:22:37 paulus Exp
 *      From: if_sl.c,v 1.11 84/10/04 12:54:47 rick Exp
 */

the $id line is FreeBSD's modification of this file in 1993. I'm unsure
where the paulus files came from, but maybe netbsd, which has the earliest
two ppp revs as:

commit 2db2cc6845660ec5ce837a05838fb49f999903c6
Author: paulus <paulus@netbsd.org>
Date:   Tue Aug 31 00:05:31 1993 +0000

    Modified if_ppp.c and if_ppp.h to add priority queueing for
"interactive"
    traffic (done in a similar fashion to if_sl.c), and BPF support.

commit 0e20c036228474457205bae6fd791d9029dc85eb
Author: deraadt <deraadt@netbsd.org>
Date:   Sat Aug 14 06:38:50 1993 +0000

    ppp from paul mackerras

But it's not in NET/2. I've not checked 386BSD to see if it was in there,
or not (since both FreeBSD 1.0 and NetBSD started from the tainted first
4.4 BSD release). It's not in the 4.4 alpha BSD archive in the tuhs
archive. Looks like it's from CMU, but I can't find earlier versions that
Paul distributed with my quick google search, maybe others can find it?

FreeBSD removed if_ppp.c in around FreeBSD 5 because it wasn't working due
to the sorry state of the SMPification of the tty code interacting poorly
with the slightyly less sorry state of the SMPification of the networks
stack at the time and reconciling the differences was too hard. userland
pppd worked just as well and had none of the thorny locking issues of a
kernel bit of code that was trying to bridge two different domains.

Warner

On Thu, Dec 5, 2019 at 12:21 PM <ron@ronnatalie.com> wrote:

> I still remember the laughter at the IETC when someone asked if PPP stood
> for "Philip Pindeville's Protocol."
>
>
> > -----Original Message-----
> > From: TUHS <tuhs-bounces@minnie.tuhs.org> On Behalf Of Noel Chiappa
> > Sent: Thursday, December 5, 2019 2:06 PM
> > To: tuhs@minnie.tuhs.org
> > Cc: jnc@mercury.lcs.mit.edu
> > Subject: Re: [TUHS] Origins of PPP
> >
> >     > From: Paul Ruizendaal
> >
> >     > I'm looking for the origins of SLIP and PPP on Unix. Both seem to
> have
> >     > been developed long before their RFC's appeared.
> >
> > You're dealing with an epoch when the IETF motto - "rough consensus and
> > running code" - really meant something. Formal RFC's way lagged protocol
> > development; they're the last step in the process, pretty much.
> >
> > If you want to study the history, you'd need to look at Internet Drafts
> (if
> > they're still online). Failing that, look at the IETF Proceedings; I
> think
> all the
> > ones from this period have been scanned in. They won't have the detail
> that
> > the I-D's would have, but they should give the rough outlines of the
> history.
> >
> >       Noel
>
>

[-- Attachment #2: Type: text/html, Size: 4287 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
  2019-12-05 19:05 Noel Chiappa
@ 2019-12-05 19:21 ` ron
  2019-12-05 19:37   ` Warner Losh
  0 siblings, 1 reply; 12+ messages in thread
From: ron @ 2019-12-05 19:21 UTC (permalink / raw)
  To: 'Noel Chiappa', tuhs

I still remember the laughter at the IETC when someone asked if PPP stood
for "Philip Pindeville's Protocol."


> -----Original Message-----
> From: TUHS <tuhs-bounces@minnie.tuhs.org> On Behalf Of Noel Chiappa
> Sent: Thursday, December 5, 2019 2:06 PM
> To: tuhs@minnie.tuhs.org
> Cc: jnc@mercury.lcs.mit.edu
> Subject: Re: [TUHS] Origins of PPP
> 
>     > From: Paul Ruizendaal
> 
>     > I'm looking for the origins of SLIP and PPP on Unix. Both seem to
have
>     > been developed long before their RFC's appeared.
> 
> You're dealing with an epoch when the IETF motto - "rough consensus and
> running code" - really meant something. Formal RFC's way lagged protocol
> development; they're the last step in the process, pretty much.
> 
> If you want to study the history, you'd need to look at Internet Drafts
(if
> they're still online). Failing that, look at the IETF Proceedings; I think
all the
> ones from this period have been scanned in. They won't have the detail
that
> the I-D's would have, but they should give the rough outlines of the
history.
> 
> 	Noel


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Origins of PPP
@ 2019-12-05 19:05 Noel Chiappa
  2019-12-05 19:21 ` ron
  0 siblings, 1 reply; 12+ messages in thread
From: Noel Chiappa @ 2019-12-05 19:05 UTC (permalink / raw)
  To: tuhs; +Cc: jnc

    > From: Paul Ruizendaal

    > I'm looking for the origins of SLIP and PPP on Unix. Both seem to have
    > been developed long before their RFC's appeared.

You're dealing with an epoch when the IETF motto - "rough consensus and
running code" - really meant something. Formal RFC's way lagged protocol
development; they're the last step in the process, pretty much.

If you want to study the history, you'd need to look at Internet Drafts (if
they're still online). Failing that, look at the IETF Proceedings; I think
all the ones from this period have been scanned in. They won't have the
detail that the I-D's would have, but they should give the rough outlines
of the history.

	Noel

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2019-12-06 18:31 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-05 10:34 [TUHS] Origins of PPP Paul Ruizendaal
2019-12-05 10:58 ` Michael Kjörling
2019-12-05 15:50   ` Richard Salz
2019-12-05 16:39 ` Clem Cole
2019-12-05 19:41   ` Warner Losh
2019-12-05 21:03     ` Clem Cole
2019-12-05 23:09 ` Doug McIntyre
2019-12-06  2:05 ` Lawrence Stewart
2019-12-06 18:31   ` Warner Losh
2019-12-05 19:05 Noel Chiappa
2019-12-05 19:21 ` ron
2019-12-05 19:37   ` Warner Losh

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).