pppd

Point-to-Point protocol daemon

Syntax:

pppd [options]

Options:

For details about the options, see http://netbsd.gw.com/cgi-bin/man-cgi?pppd++NetBSD-4.0 in the NetBSD documentation. The following options are supported by NetBSD but aren't documented there:

+chap
Require the peer to authenticate itself using CHAP (Challenge-Handshake Authentication Protocol) authentication. Default is no authentication required (usually a server option).
netmask n
Set the interface netmask to n, a 32-bit netmask in decimal dot notation (e.g. 255.255.255.0). The default depends on the class of the IP address (usually a server option).
nologfd
Don't send log messages to any file descriptor.
+pap
Require the peer to authenticate itself using PAP (Password Authentication Protocol). The default is no authentication required (usually a server option).

QNX Neutrino supports multilink PPP, so our pppd daemon supports the following options, contrary to what the NetBSD documentation says:

  • mp
  • mpshortseq
  • mrru
  • multilink
  • nomp
  • nompshortseq
  • nomultilink
  • pass-filter

The following are specific to Neutrino:

confstr
Write the server-supplied nameserver address to the _CS_RESOLVE configuration string (the default).
noconfstr
Don't write the server-supplied nameserver address to the _CS_RESOLVE configuration string.
noresconf
Don't write the server-supplied nameserver address to /etc/resolv.conf file (the default).
resconf
Write the server-supplied nameserver address to the /etc/resolv.conf file.
+stdinsecret
Read PAP or CHAP secrets from standard input. If you use this option, you need to specify explicitly a serial device on the command line.
usefd filedes
Use this file descriptor to send or receive pppd packets instead of opening a tty_name.
useuserdns nameserver_IP
Specify the nameserver to use. This overrides any nameservers provided by the server.

Description:

The pppd daemon is used to establish TCP/IP serial connections using the point-to-point protocol (PPP). For more information, see http://netbsd.gw.com/cgi-bin/man-cgi?pppd++NetBSD-4.0 in the NetBSD documentation.

Based on:

RFC 1144, RFC 1321, RFC 1332, RFC 1334, RFC 1549, RFC 1661, RFC 1662, RFC 1962, RFC 1990

Caveats:

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

SIGINT, SIGTERM
These signals cause pppd to terminate the link (by closing LCP), restore the serial device settings, and exit.
SIGHUP
Indicates that the physical layer has been disconnected; pppd attempts to restore the serial device settings and then exits.
MS-CHAP
Authentication support is client-side only. It can be used to authenticate ourselves, but not the peer.

If you spawn pppd from another program and specify the nodetach or updetach option, and if a signal is dropped on pppd while it's running a connect or disconnect script, pppd raises the signal on the entire process group, including the parent (i.e. the program that spawned pppd). This could cause the parent to terminate unexpectedly. To avoid this, spawn pppd with the SPAWN_SETGROUP set in the inheritence structure. For more information, see spawn() in the Neutrino C Library Reference.