PPPD(8)

NAME
pppd - Point to Point Protocol daemon

SYNOPSIS
pppd [ option ] tty_name speed [ local_IP_address ]:[ remote_IP_address ]

DESCRIPTION

The Point-to-Point Protocol (PPP) provides a method for transmitting datagrams over serial point-to-point links. pppd is composed of three parts:

1. A method for encapsulating datagrams over serial links.

2. An extensible Link Control Protocol (LCP).

3. A family of Network Control Protocols (NCP) for establishing
    and configuring different network-layer protocols.

pppd currently supports the encapsulation scheme, the basic LCP, and an NCP for establishing and configuring the Internet Protocol (IP) (called the IP Control Protocol, IPCP).

OPTIONS

-all
    Don't request/allow any options

-ac Disable Address/Control compression negotiation

-am Disable asyncmap negotiation

-as <n>
    Set the desired async map to hex <n>. The default async map is 0xffffffff.

-d  Increase debugging level

debug
    Increase debugging level

-ip Disable IP address negotiation

-mn Disable magic number negotiation

-mru
    Disable MRU [Maximum Receive Unit] negotiation

mru <n>
    Set MRU value to <n> for negotiation. The minimum MRU value is 128. The default MRU value is 1500.

-p  Set passive mode

-pc Disable protocol field compression negotiation

passive
    Set passive mode

+ua <p>
    Require UPAP [User/Password Authentication Protocol] authentication. Use the data in file <p> for the user and password to send to the peer. The file contains the remote user name, followed by a newline, followed by the remote password.

-ua Don't allow UPAP authentication

+chap
    Require CHAP [Cryptographic Handshake Authentication Protocol] authentication. Use the data in file /usr/local/etc/ppp/chap, which contains host name/secret pairs separated by newlines, to authenticate the peer. In the data file, a host name of "default" will match any host name not already specified in the file.

-chap
    Don't allow CHAP authentication

vjmode <m>
    Specifies which version of IPCP Van Jacobson Compression negotiation to use. Specify old for <m> to have backward compatibility with early versions of pppd which operated "incorrectly" when negotiating Compression-Type due to a typographical error in the RFC. pppd (4.1, patch level 4 and later) have this problem corrected but to allow interoperability with older versions you can force this "incorrect" behavior. Specify current for <m> to use the correct value for negotiation (the default). To use the new version of negotiation specified in the August 1991 Draft RFC for IPCP, specify draft for <m>.

-vj This disables the use of Van Jacobson style IP header compression altogether.

connect <p>
    Use the executable or shell command specified by <p> to set-up the serial line. This script would typically use the "chat" program to dial the modem and start the remote ppp session.

domain <d>
    Append the domain name <d> to the local host name for authentication purposes. I.e., if gethostname() returns the name porsche, but the fully qualified domain name is porsche.Quotron.COM, you would use the domain option to set the domain name to Quotron.COM.

<tty_name>
    Communicate over the named device

<speed>
    Set the baud rate to <speed>

<local_IP_address>:<remote_IP_address>
    Set the local and/or remote interface IP addresses. Either one may be omitted.

SEE ALSO

RFC1144
    Jacobson, V. Compressing TCP/IP headers for low-speed serial links. 1990 February.

RFC1171
    Perkins, D. Point-to-Point Protocol for the transmission of multi-protocol datagrams over Point-to-Point links. 1990 July.

RFC1172
    Perkins, D.; Hobby, R. Point-to-Point Protocol (PPP) initial configuration options. 1990 July.

Internet Draft
    McGregor, G. The PPP Internet Protocol Control Protocol (IPCP). 1991 August.

Internet Draft
    Lloyd, B.; Simpson, W. PPP Authentication Protocols. 1991 November. Internet Draft Rivest, R. The MD5 Message-Digest Algorithm. 1991 July.

DIAGNOSTICS

There is, currently, only one level of debugging available. Debugging is enabled by setting the -d or debug flag on the command line. Debugging may also be enabled after pppd is running by sending a SIGUSR1 to the pppd process. Debugging may be disabled by sending a SIGUSR2 to the pppd process.

Error and warning messages are sent to the syslog daemon using facility LOG_DAEMON unless pppd has been compiled with debugging code. In this case the logging facility used will be LOG_LOCAL2 in order to allow separation of the debug output from the other daemons using the LOG_DAEMON facility. You can override this by defining the macro LOG_PPP to the desired facility and recompiling. In order to see the error and debug messages, you will need to edit your /etc/syslog.conf file to direct the messages to the desired output device or file.

Debugging is currently available for fsm.c - the {Link, IP} Control Protocol Finite State Machine module; lcp.c - the PPP Link Control Protocol module; ipcp.c - the PPP IP Control Protocol module; upap.c - the User/Password Authentication Protocol module; and chap.c - the Challenge Handshake Authentication Protocol module.

NOTES
The following signals have the specified effect when sent to the pppd process.

SIGINT
    This signal is normally generated by a Ctrl-C or DEL. Causes pppd to initiate a graceful disconnect and exit. pppd will adjust the timeouts and close the connection.

SIGTERM
    Causes pppd to initiate a graceful disconnect and exit. pppd will adjust the timeouts and close the connection.

SIGHUP
    Indicates that the physical layer has been disconnected. You will probably see "Bad file number" errors in the log output due to the way the STREAMS-based tty driver handles a hangup. You can ignore these errors in this case. pppd will adjust the timeouts and reset the connection.

BUGS
Note that sections the current implementation of pppd
 are based on older RFCs and draft RFCs and may not be fully compatible with the latest draft RFC versions.

AUTHORS
Drew Perkins, Brad Clements, Karl Fox, Greg Christy (gmc@quotron.com)