Point-to-Point Protocol (PPP) Support¶
Overview¶
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 :kconfig:`CONFIG_NET_PPP` and :kconfig:`CONFIG_NET_L2_PPP`. The PPP support in Zephyr 2.0 is still experimental and the 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)
See also the samples/net/sockets/echo_server/overlay-ppp.conf file for configuration option examples. For using PPP with GSM modem, see Generic GSM Modem for additional information.
Testing¶
See the net-tools README file for more details on how to test the Zephyr PPP against pppd running in Linux.