Point-to-Point Protocol daemon

PPPD is the Point-to-Point Protocol daemon which 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:
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.