Point-to-Point protocol daemon
pppd [options]
QNX Neutrino
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:
The terminal/serial driver can be configured to only send data via PPP whenever it detects a specific framing character. Because PPP does its own packet frame checking as part of its processing, by default, frame checking occurs twice (once in the serial driver and once in PPP).
This frame checking at the serial driver level reduces the number of message passes between the terminal driver and PPP because data is passed to PPP on PPP frame boundaries rather than whenever bytes are available.
The +/-pktcheck option tells PPP to not configure the terminal/serial driver to do this packet frame checking and to simply pass data to PPP when it is available.
With USB modems, because data comes in chunks rather than byte-by-byte, the terminal/serial driver generally gets full PPP packets anyway and frame checking in the serial driver does not reduce the number of message passes. In a real-hardware, UART case, because the data streams is byte-by-byte (rather than USB block transfers), the frame checking at the serial driver level is more helpful.
QNX Neutrino supports multilink PPP, so our pppd daemon supports the following options, contrary to what the NetBSD documentation says:
The following are specific to QNX Neutrino:
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
The following signals have the specified effect when sent to the pppd process:
For 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 inheritance structure. For more information, see spawn() in the QNX Neutrino C Library Reference.