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

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

ip/pppoe [ –Pd ] [ –A acname ] [ –S srvname ] [ –k keyspec ] [ –m mtu ] [ –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 in IPv4 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 will not believe any local address the client tries to supply it and 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; the default key pattern is proto=pass service=ppp
m
set 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
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

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
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
gre in ip(3)

BUGS
Ppp should use factotum to execute the client side of the challenge–reponse protocol, but instead it reads a password from factotum and runs the protocol itself.
Copyright © 2017 Alcatel-Lucent. All rights reserved.