Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ppd(1M) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ppp(7)

ppd(1M)                                                             ppd(1M)

NAME
     ppd - PPP control daemon

SYNOPSIS
     /opt/bin/ppd [-WDT] [-C configfile] [hostname]

DESCRIPTION
     ppd manages the establishment and control of a PPP (Point to Point
     Protocol) connection between two host entities.

     There are two modes of operation, the first is as active process which
     actively creates a connection to a host. The name of the host is
     looked up in the PPP configuration file /usr/lib/ppp/ppp.config where
     it is used to define a connection request. The hostname is normally
     also used as an index into the dialer database (which is also used by
     UUCP). The information returned is used to try to make a connection to
     the remote host. The format and use of the dialer package is described
     in the UUCP documentation.

     The second mode of the daemon is as a passive process. In this mode,
     the daemon is started as the login shell of an inbound connection
     request. It then uses its user-id to determine who it was called as.
     It then looks up the user name in the PPP configuration file
     /usr/lib/ppp/ppp.config. If the user name is not found in the confi-
     guration file, then ppd will exit.

     An active session is started if a hostname parameter is given. If no
     hostname parameter is given then ppd assumes that it is a passive con-
     nection attempt.

OPTIONS
     -C configfile
          The -C parameter changes the name of the configuration file used
          by ppd from the default to the one given as a parameter. This is
          useful to test a new connection etc.

     -T   This option enables tracing in ppd. It prints out the protocol
          negotiation at connection setup. Diagnostics are sent to standard
          error for an active connection and to the file /tmp/ppd.trace for
          a passive connection.

     -D   This option enables debug messages to be sent to the diagnostic
          output. Trace messages are also output. If -D is repeated, then
          more diagnostics are produced.

     -W   This option enables the wait for packet mode of ppd. This option
          is only valid for an active connection attempt. In this mode ppd
          will not try to make a connection immediately but will wait for
          an IP packet to be sent to the remote host before trying to make
          a connection. When using this mode with the timeout facility (see
          later), a "dial on demand" mode of operation can be implemented.




Page 1                       Reliant UNIX 5.44                Printed 11/98

ppd(1M)                                                             ppd(1M)

          Note: When using this mode, The local AND remote IP addresses
          must be given for the connection.

CONFIGURATION
     The operation of ppd is controlled via a configuration file. This is
     normally /usr/lib/ppp/ppd.config but can be changed by the use of the
     -C option.

     The configuration file consists of entries for protocol specific
     parameters and for host specific parameters. All keywords are case
     independent. Comments are started by a # character and continue to the
     end of the logical line. Long lines can be continued onto the next
     line by placing a backslash at the end of the line. A backslash at the
     end of a comment line continues the comment line onto the next line.
     Items can be quoted by placing them between double quotes.

     A host specific entry has the following form.

             HOST    hostname
                     host specific key-value pairs
             END

     The host specific entries are lines of "key value" pairs. Each key-
     value pair must be on a separate line. Boolean values can be either
     yes or no or true or false. If no boolean value is supplied, it is
     defaulted to be true. I.e. to turn on PFC, one can say:

             PFC true,
             PFC on

     or

             PFC

     If a protocol-id parameter is needed, it can either be the name of the
     protocol, i.e. CHAP or LQM, or it can be number which is the protocol
     id of the protocol. ppd recognized most but not all the protocol names
     specified in RFC1331.

     The following host specific keywords are currently defined.

     DEVICE host
          host is the name to be used when calling the dialup routines. If
          no device is specified the current hostname is used instead.

     DIALIN [booleanflag]
          Incoming connections with this hostname are allowed if this flag
          is true.

     DIALOUT [booleanflag]
          Outgoing connections are allowed to this host if this flag is
          true.


Page 2                       Reliant UNIX 5.44                Printed 11/98

ppd(1M)                                                             ppd(1M)

     TIMEOUT secs
          If the connection is idle for secs seconds, then the connection
          will be closed. This is useful in connection with the -W flag, so
          that dial on demand PPP can be implemented. The connection is
          said to be idle if no PPP frame is sent or received, it is not
          related to IP traffic, thus if a second protocol is transmitting
          on the link, the connection will not be closed.

     PROTOCOL protocolname [protocolspecificoptions]
          This option allows host specific protocol configuration options.
          The protocol specific options are interpreted by the protocol
          when it is started. This option allows a host to override a gen-
          eral protocol parameter. (Examples include the secrethost option
          used by CHAP.)

          If the keyword is not recognized, then it is assumed to be a pro-
          tocol specific keyword and it will be processed when the relevant
          protocol is started.

          A protocol specific entry can have one of two forms. The first
          form has the following format:

                  PROTOCOL protocolname
                           protocol specific key-value pairs
                  END

          The protocolname is the name of a protocol i.e. CHAP or LQM or
          LCP, or a numeric value for the protocol id of the protocol used
          by PPP. The following protocol independent key-value pairs are
          defined.

     LIBRARY libraryname
          The protocol specific code for this protocol is to be found in
          the libraryname file. If libraryname is not a full pathname
          then it is taken as being relative to the library directory.

     ACTIVE
          If this parameter is given, the protocol will operate in an
          active mode.

     PASSIVE
          If this parameter is given, the protocol will operate in a pas-
          sive mode. The definition of active and passive needs clarifying.

     INITIAL
          With this flag set the protocol is started when LCP enters the
          OPEN state.







Page 3                       Reliant UNIX 5.44                Printed 11/98

ppd(1M)                                                             ppd(1M)

     !INITIAL
          If this flag is set, the protocol will only be started if the
          peer sends a packet for this protocol. This could be used if the
          server can support more than one protocol, but does not know if
          the client will want to use the protocol.

     DISABLED
          If this parameter is supplied, the protocol is disabled. It can-
          not be used but it could be loaded into core.

     If the keyword is not one of the above, then the keyword is assumed to
     be for a protocol specific value and the line will be processed when
     the protocol is started.

     There is a second form for the protocol parameter and is used when
     there are no protocol specific parameters required. This has the form

             PROTOCOL protocolid [genericprotocoloptions]

     Only the generic protocol options above are recognized in this mode.

     The LIBDIR parameter specifies in which directory the protocol exten-
     sion libraries are found. By default this is /usr/lib/ppp.

EXTENSIONS
     To transport IP frames over PPP, two protocols are required. These are
     LCP and IPCP. The IP encapsulation is also handled internally as a
     separate protocol. These three protocols are statically linked into
     ppd and are always available. Other protocols such as CHAP or PAP can
     be added dynamically under the control of the configuration file. Each
     additional protocol resides in a dynamically loadable library (which
     by default are in /usr/lib/ppp). More than one protocol can reside in
     a single library. When ppd is started, all configured protocols are
     loaded but are not started.




















Page 4                       Reliant UNIX 5.44                Printed 11/98

ppd(1M)                                                             ppd(1M)

PROTOCOL CONFIGURATION
     Each protocol has its own set of configuration parameters. Some of the
     more common are:

LCP PROTOCOL OPTIONS
     The LCP protocol controls the setup of the link and the arbitration of
     various generic options.

     MTU  This option sets the maximum transmitted packet size. The PPP
          default is 1500 bytes. This value can vary this from 100 to 1540
          bytes, the higher value can be used if using a bridging protocol.
          This value will be negotiated downwards if the peer cannot handle
          a larger value.

     CHARMAP, RCVMAP, SNDMAP
          These options specify the Asynchronous Character Map value. This
          is a map of 32 bits that is used to map the first 32 ascii char-
          acters to a higher value. This is so that PPP can transfer data
          over a non 8bit clean path (such as terminal concentrators that
          eat CTRL-S/CTRL-Q). These maps are negotiated between the two
          entities and a value is used which is the inclusive-OR of the two
          maps. The value passed to charmap can either be a number which
          specifies the full map, or it can be a list of characters which
          need to be mapped. The characters are the normal characters which
          will be converted in the control characters. I.e. to map out
          CTRL-S/CTRL-Q, the parameter would be "QS".

          CHARMAP sets both the receive and transmit maps, while RCVMAP
          sets only the receive map, and SNDMAP sets only the transmit map.
          By default the transmit map is zero and the receive map is map
          all chars.

          charmap  0x000A0000     (hexadecimal)
          charmap  000002400000   (octal)
          charmap  655360         (decimal)
          charmap  "QS"           (string)

     PFC  This option is a boolean which controls the use of protocol field
          compression on transmission. It is a good idea to enable it on
          slow links.

     ACFC This option is a boolean which controls the use of Address and
          Control field compression on transmission. It is a good idea to
          enable it on slow links. By default PFC and ACFC are disabled.

     RCVPFC, RCVACFC
          These two options control whether to accept PFC and ACFC options.
          (This is just used to control the peer, since when a compressed
          packet is received, it will always be processed correctly, even
          if the option has need negotiated off).




Page 5                       Reliant UNIX 5.44                Printed 11/98

ppd(1M)                                                             ppd(1M)

     AUTH protocol-id
          This option informs LCP that the user wants to use an Authoriza-
          tion protocol which can be either PAP or CHAP. The further param-
          eters for these protocols are defined be a normal protocol
          specifier.

     QUALITY protocol-id repeat-time
          This option enables the use of a link quality protocol. The only
          protocol currently defined is LQM. The repeat-time is used to
          define the length of time between LQM reports. A value of zero,
          means send no reports unless the peer sends one to you.

          Really, the AUTH and QUALITY options should not be part of LCP
          but they are there for historical reasons. It would be cleaner if
          they were handled separately from LCP.

IPCP PROTOCOL OPTIONS
     The IPCP controls negotiates IP specific options.

     VJC  This boolean enables the transmission of Van-Jacobson compressed
          TCP frames. This is very useful on slow links as it cuts the
          standard TCP/IP header of 40 bytes down to about 4 bytes!

     RECVVJC
          This option allows the reception of VJ compressed TCP frames. The
          default value is true.

     ADDR This option sets the local IP address of the connection. If no
          value is supplied, PPP will request an address from it's peer.

     REMOTEADDR
          This specifies the remote IP address of the connection. It is
          needed if the peer has not specified an IP address, or when using
          the -W flag. Since the daemon must have a destination address so
          that the IP layer can route packets through the PPP interface.
          This value can be a standard dotted IP address or an IP host
          name.

IP PROTOCOL OPTIONS
     IP only has one option, and that is the route option. This has the
     same syntax as the route(1M) command except that if the forth parame-
     ter is not supplied, it is defaulted to be one.

OTHER PROTOCOLS
     The LQM protocol is used to monitor the state of the link. It is not
     needed in normal use and the current implementation is very basic. The
     PAP and CHAP protocols are used to provide authorization of the host
     to the peer, see RFC1334 for more details.






Page 6                       Reliant UNIX 5.44                Printed 11/98

ppd(1M)                                                             ppd(1M)

DIAGNOSTICS
     Should be self explanatory. When using an active connection, the diag-
     nostic output is stderr. When ppd is being used passively, the diag-
     nostic output is sent to the file /tmp/ppd.log.

FILES
     /usr/lib/ppp/ppd.config
     /tmp/ppd.log
     /dev/ppp

SEE ALSO
     pppoff(1M), ppp(7).










































Page 7                       Reliant UNIX 5.44                Printed 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026