Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ppp(7) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ppd(1M)

ppp(7)                                                               ppp(7)

NAME
     ppp - PPP streams module

DESCRIPTION
     ppp is the driver that handles the demultiplexing of incoming PPP
     packets based on the protocol id included in the header of a PPP
     packet. The packet is then processed by a protocol-specific function.
     If no function is defined for the stream, the packet is passed up
     transparently. Most of the work of this driver is in handling the DLPI
     interface needed for an IP packet provider.

     On output ppp adds the PPP protocol header and passes the packet down
     the stream.

     When a process first opens the driver, a PPP device block is allocated
     to the process, this is associated with the process until the control
     stream is closed. A PPP device block has one lower stream to which a
     serial line controller stream can be ILINKed. When a process opens
     the driver a second time, a second upper stream is created to the same
     lower stream. Input and output processing are upper stream dependent.
     They can be changed by the use of ioctls.

IOCTLS
     The operation of the multiplexer is controlled by a series of ioctls
     which pass the following ppioctl union.

             typedef unsigned long   pppcharmap;

             long    ppisap;
             long    ppiindx;
             long    ppiflags;
             long    ppimtu;
             long    ppitimeout;
             ppacntt ppicnt;
             pppcharmap ppicharmap;
             struct  ppisetstropts {
                     long    ppssap;
                     long    ppsflags;
             } ppistropts;

     The following options are permitted.

     PPPGETDEV
          This command returns the device number of connection in ppiindx.
          It is used to make a name for IP connections.

     PPPADDSAP
          This command adds a SAP (PPP protocol id used on reception to
          demultiplex incoming packets) supplied in ppisap to the current
          stream. If the SAP is already in use on the current device then
          an error results.




Page 1                       Reliant UNIX 5.44                Printed 11/98

ppp(7)                                                               ppp(7)

     PPPDELSAP
          This command deletes a given SAP from the current stream. (This
          is not currently used by PPD and is not guaranteed to work).

     PPPSETSAPFLAGS
          This sets the flags for the supplied SAP. The only flag currently
          recognized is the PPPSAPVALID flag. If this flag is set, the
          SAP is used for demultiplexing, if it is not set, the SAP is
          ignored.

     PPPGETSAPFLAGS
          This command returns the current SAP's flag word.

     PPPSETQUEFLAGS
          This command sets the current streams flags. The valid flags are
          given below:

          PPPDATACHAN            0x2
          PPPOUTENABLE          0x4
          PPPOUTSAPSET         0x8
          PPPPFCCOMPRESS        0x10
          PPPACFCCOMPRESS       0x20
          PPPVJCOMPRESS         0x40
          PPPWAITOUTPUT         0x80
          PPPOUTSAPENABLE      0x8000

          The PPPDATACHAN flag informs the system that this stream will
          carry data and that netstat(1M) statistics for the connection
          should be kept.

          The PPPOUTENABLE flag enables transmission on this stream. If
          this bit is not set, then no output will be sent.

          The PPPOUTSAPSET flag is used to specify the SAP that is to be
          used when a packet is transmitted on the stream. This only needs
          to be set if the stream has more than one SAP associated with it.
          This bit is only checked if the PPPOUTSAPENABLE is set. If
          this bit is not set then the current value of PPPOUTSAPSET is
          used.

          The PPPPFCCOMPRESS and PPPACFCCOMPRESS flags are used to
          enable the compression of PPP frames on compression.

          The PPPVJCOMPRESS flag enables the transmission of VJ com-
          pressed TCP/IP frames. This bit is only valid for streams with an
          IP protocol outbound SAP.

          The PPPWAITOUTPUT flag is used by the -W flag of PPD. It
          enables a special short circuit of IP frames to be set up. It is
          not for normal use.




Page 2                       Reliant UNIX 5.44                Printed 11/98

ppp(7)                                                               ppp(7)

     PPPGETQUEFLAGS
          This command returns the current set of stream flags as described
          above.

     PPPSETDEVFUNC
          This command sets the function to be used when data is received.
          The currently defined values are:

          PPPPROTOFUNC   1
          PPPIPDATAFUNC  2
          PPPDATAFUNC    3

          If no function is specified, the packet is passed up raw. A value
          of -1 for the function resets the connection to the default
          state.

          The PPPPROTOFUNC is used by PPD for most protocols. The inbound
          frame is split into two parts: a control message with the length
          of a long, which contains the protocol id of the packet received,
          and the data part which contains the data part of the packet.

          The PPPIPDATAFUNC is used by IP to encapsulate the data in a
          DLPI message. PPPDATAFUNC also encapsulates the data in a DLPI
          message. The difference is that PPPIPDATAFUNC also handles VJ
          compressed packets.

     PPPSETTIMER
          This option sets the length of time (in seconds) for which the
          connection can be idle before it is closed. This is achieved by
          sending a HUP message up the controlling stream.

     PPPSETCTRL
          This command is used to set the controlling stream of the lower
          device. This is normally the first stream opened but in some cir-
          cumstances this must be changed. The controlling stream is spe-
          cial in that if it is closed, all other streams associated with
          the current device are disconnected from the lower stream. The
          controlling stream also receives all packets with unknown SAPS,
          and any hangup messages from the lower stream.

FILES
     /dev/ppp

SEE ALSO
     ppd(1M).









Page 3                       Reliant UNIX 5.44                Printed 11/98

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