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