Point-to-Point Protocol daemon

Paul's PPP
Original author(s)Paul Mackerras, based on earlier work by Drew Perkins, Brad Clements, Karl Fox, Greg Christy, and Brad Parker
Stable release
2.5.0 / April 4, 2023; 19 months ago (2023-04-04)
Repositorygithub.com/ppp-project/ppp
Operating systemLinux, Solaris
TypeInternet
LicenseBSD-like licenses. Not all of them apply to all parts of pppd
Websiteppp.samba.org

Point-to-Point Protocol daemon (PPPD) is the daemon that implements Point-to-Point Protocol (PPP). PPP is used to manage network connections between two nodes on Unix-like operating systems. It is configured using command-line arguments and configuration files.

While it has initially been used to manage only dial-up access, it is also used to manage broadband connections such as DSL, if Point-to-Point Protocol over Ethernet (PPPoE) or Point-to-Point Protocol over ATM (PPPoA) is used.

The role of pppd is managing PPP session establishment and session termination. During session establishment, pppd has the role of:

pppd terminates a PPP link when:

  • too many frames with invalid frame check sequence (FCS) field have been received
  • the link is considered "idle" (if configured)
  • another program or the peer requests link termination.

Some newer versions of pppd are also capable of handling Dial-on-demand routing, where pppd sets up a virtual network, captures the packages it receives and establishes a PPP connection and forwards the captured and not-yet transmitted packages over the link.