This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

Point-to-Point Protocol (PPP) Support


Point-to-Point Protocol (PPP) is a data link layer (layer 2) communications protocol used to establish a direct connection between two nodes. PPP is used over many types of serial links since IP packets cannot be transmitted over a modem line on their own, without some data link protocol.

In Zephyr, each individual PPP link is modelled as a network interface. This is similar to how Linux implements PPP.

PPP support must be enabled at compile time by setting option CONFIG_NET_L2_PPP. The PPP implementation supports only these protocols:

  • LCP (Link Control Protocol, RFC1661)

  • HDLC (High-level data link control, RFC1662)

  • IPCP (IP Control Protocol, RFC1332)

  • IPV6CP (IPv6 Control Protocol, RFC5072)

For using PPP with a cellular modem, see Cellular modem sample for additional information.


See the net-tools README file for more details on how to test the Zephyr PPP against pppd running in Linux.