[TUHS] Origins of PPP

Warner Losh imp at bsdimp.com
Fri Dec 6 05:37:50 AEST 2019

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 at netbsd.org>
Date:   Tue Aug 31 00:05:31 1993 +0000

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

commit 0e20c036228474457205bae6fd791d9029dc85eb
Author: deraadt <deraadt at 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.


On Thu, Dec 5, 2019 at 12:21 PM <ron at 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 at minnie.tuhs.org> On Behalf Of Noel Chiappa
> > Sent: Thursday, December 5, 2019 2:06 PM
> > To: tuhs at minnie.tuhs.org
> > Cc: jnc at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://minnie.tuhs.org/pipermail/tuhs/attachments/20191205/16392a90/attachment.html>

More information about the TUHS mailing list