Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dlpi(7) — mips UMIPS RISC/os 5.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

if(7n)



DLPI(7)             RISC/os Reference Manual              DLPI(7)



NAME
     dlpi - data link provider interface

SUMMARY
     #include <sys/dlpi.h>
     #include <sys/dlpisif.h>

         open("/dev/dlpi",...)
         putmsg(DL_ATTACH to PPA)
         putmsg(DL_BIND to port)
         putmsg(DL_UNITDATA_REQ to send data)
         getmsg(expecting DL_UNITDATA_IND messages to receive data)
         putmsg(DL_UNBIND)
         putmsg(DL_DETTACH)
         close()

DESCRIPTION
     The DLPI is a kernel level interface, based on the STREAMS
     development environment, that supports the services of the
     Open Systems Interconnection (OSI) Data Link Layer.  The
     DLPI interface is accessed from STREAMS protocol modules via
     STREAMS messages or directly from user programs via the
     putmsg(2) and getmsg(2) system calls.  The Data Link Service
     (DLS) provider is configured as a STREAMS driver and the DLS
     user accesses the provider using open(2) to establish a
     stream to the DLS provider.  The stream acts as a communica-
     tion endpoint between a DLS user and the DLS provider.

     IEEE 802.2 Logical Link Control (LLC) Service Access Points
     (SAP) are the "upper" interface to DLPI.  Protocol stacks
     register themselves with DLPI which indicates the types of
     packets which the stack will process.  The DLPI directs
     incoming packets to the appropriate protocol stack.  Out-
     bound packets are directed to DLPI which sends them to the
     appropriate MAC layer drivers.  RISComm-X.25 uses the DLPI
     to support LLC2 protocol (X.25 over Ethernet).  The level of
     access is variable from raw packets to Unnumbered Informa-
     tion (UI) data packets.  XID and TEST packets are also pro-
     cessed.

     802.3 support coexists with standard TCP/IP allowing multi-
     ple protocol formats to use the same interface(s).  Indivi-
     dual, Multicast-Group and Broadcast addresses are all sup-
     ported.

PRIMITIVES
     There are two modes supported by DLPI: connection (circuit-
     oriented) and connectionless (message-oriented).  RISC/os
     5.0 supports the connectionless mode (DL_CLDLS) only.

     The following services are provided and are divided into the
     following phases.  More details may be found in <sys/dlpi.h>



                        Printed 11/19/92                   Page 1





DLPI(7)             RISC/os Reference Manual              DLPI(7)



     and the AT&T "Streams-Based DLPI, NPI, TPI White Papers".

     A.) Local Management

         1. Information Reporting Primitives
              DL_INFO_REQ
              DL_INFO_ACK
              DL_ERROR_ACK

         2. Attach Primitives
              DL_ATTACH_REQ
              DL_DETACH_REQ
              DL_OK_ACK
              DL_ERROR_ACK

         3. Bind Primitives
              DL_BIND_REQ
              DL_BIND_ACK
              DL_SUBS_BIND_REQ
              DL_SUBS_BIND_ACK
              DL_UNBIND_REQ
              DL_OK_ACK
              DL_ERROR_ACK

     B.) Connectionless-mode Data Transfer

         1. Data Transfer Primitives
              DL_UNITDATA_REQ
              DL_UNITDATA_IND

         2. Error Reporting Primitives
              DL_UDERROR_IND

IOCTL Support
     These are accessed via the STREAMS IOCTL putmsg(2).  More
     information on the "SIOCxxxx" calls may be found in if(7n).

     DLPISIF_CONFPPA
          Configure PPA - Arrange a Physical Point of Attachment
          to physical ethernet interface association.  The
          /etc/dlconfig program uses this during system startup.
          The structure, dlpisif_sifname_t, is passed to the ker-
          nel with the configuration information.  See
          <sys/dlpisif.h> for more details.

     SIOCSLAF
          Set all logical addresses filter - Accept any multicast
          address.

     SIOCADDMULTI
          Add multicast address to list of accepted and arrange
          address filter to accept this address.



 Page 2                 Printed 11/19/92





DLPI(7)             RISC/os Reference Manual              DLPI(7)



     SIOCDELMULTI
          Clear multicast address - Remove multicast address from
          list of accepted and remove from address filter.

     SIOCSPROMISC
          Set promiscuous mode - Arrange ethernet interface to
          accept all transmissions, not just those addressed to
          this interface.

DLATTACH FLAGS
     These flags are used in the DL_ATTACH phase.  Please see
     <sys/dlpisif.h> for more details.

     DLPISIF_PROMISC
          Set promiscuous mode (Not yet implemented, use
          SIOCPROMISC above)

     DLPISIF_RAW
          Connect to RAW input data stream - Do not filter input
          data or process loopback or test requests.

     DLPISIF_MBUF
          Send Mbuf's up (via IF_ENQUEUE) - used for the socket
          interface.

     DLPISIF_NOLLCHD
          Remove LLC header.

OTHER NOTES
     The dlpi interface supports the concept of a Global SAP
     address, LLC_GLOBAL_SAP. This can be bound to on both the
     send and receive ports.

SEE ALSO
     if(7n)
     /etc/init.d/dlpi
     <sys/dlpi.h>
     <sys/dlpisif.h> - (dlpi to socket interface [ethernet])

















                        Printed 11/19/92                   Page 3



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