NAME
ppp, pppoe, pptp, pptpd – point–to–point protocol

SYNOPSIS
ip/ppp [ –CPSacdfuy ] [ –b baud ] [ –k keyspec ] [ –m mtu ] [ –M chatfile ] [ –p dev ] [ –x netmntpt ] [ –t modemcmd ] [ –U duid ] [ local [ remote ] ]

ip/pppoe [ –PdcCr ] [ –A acname ] [ –S srvname ] [ –U duid ] [ –k keyspec ] [ –m mtu ] [ –b baud ] [ –x pppnetmntpt ] [ ether ]

ip/pptp [ –dP ] [ –k keyspec ] [ –w window ] [ –x pppnetmntpt ] server

ip/pptpd [ –d ] [ –p pppnetmtpt ] [ –w window ] [ –D fraction ] tcp–dir

DESCRIPTION
The Point–to–Point Protocol is used to encapsulate Internet Protocol packets for transfer over serial lines or other protocol connections. Ppp can run either as a client or, with the –S option, as a server. The only differences between a client and a server is that the server always initiates the authentication of the client.

With no option, ppp communicates with the remote system via standard input and output. This is useful if a program wants to use ppp in a communications stream. However, the normal mode is to specify a communications device, usually a serial line with a modem.

Ppp supports the following options:
aas server, don't request authentication from the client
bset the baud rate on the communications device
cdisallow packet compression
Cdisallow IP header compression
fmake PPP add HDLC framing. This is necessary when using PPP over a serial line or a TCP connection
kadd keyspec to the factotum(4) key pattern when looking for a user name and password for authentication.
mset the maximum transfer unit (default 1450)
Mchat with the modem as specified in the chat file. Each line in the chat file contains a string that is transmitted to the modem and the response expected (e.g. 'AT' 'OK')
Puse this as the primary IP interface; set the default route through this interface and write its configuration to /net/ndb
p
communicate over dev instead of standard I/O
Srun as a server
tbefore starting the PPP protocol, write modemcmd to the device
Uuse duid as the DHCPv6 client identier. Pppoe creates the duid from the ethernet address (DUID–LL) of dev when not specified and passes it on to ppp. See also ipconfig(8)).
ubefore starting the PPP protocol with the remote end, shuttle bytes between the device and standard I/O until an EOF on standard input. This allows a user to start ppp and then type commands at a modem before ppp takes over
xuse the IP stack mounted at netmntpt
yARP proxy the interface. (see ipconfig(8)).

If both the local and remote addresses are specified, don't ask the other end for either or believe it if it supplies one. If either is missing, get it from the remote end.

Pppoe is a PPP over ethernet (PPPoE) client. It invokes ppp to start a PPP conversation which is tunneled in PPPoE packets on the ethernet device mounted at etherdir (default /net/ether0). The pppoe–specific options are:
Ainsist on an access concentrator named acname during PPPoE discovery
dwrite debugging output to standard error, and pass –d to ppp
rby default, pppoe exits after trying PPPoE discovery for 16 seconds with no answer or when ppp terminates the session. This option directs pppoe instead to fork a background process that keeps trying forever, and also re–establishes the session when ppp terminates.
Sinsist on a service named srvname during PPPoE discovery

The other options are relayed to ppp.

Pptp is a client for a PPTP encrypted tunnel. Server is the name of the server to dial. Pptp takes the same options as pppoe, except for the lack of a –m option and the addition of a –w option. The –w option specifies the local send window size (default 16) in packets.

Pptpd is the server side of a PPTP encrypted tunnel. Tcpdir is the directory of a TCP connection to the client. The TCP connection is used to control the tunnel while packets are sent back and forth using PPP inside of GRE packets. The options are:
dwrite debugging output to standard error.
Ddrop fraction of the received packets. This is used for testing.
puse the IP stack mounted at pppnetmtpt to terminate the PPP connection.
wset the receive window to window.

SOURCE
/sys/src/cmd/ip/ppp
/sys/src/cmd/ip/pptpd.c
/sys/src/cmd/ip/pppoe.c

SEE ALSO
ipconfig(8), gre in ip(3)