To System Manual Page
Last update: 04.12.95 bos
DLPI
TABLE OF CONTENTS
DLPI (Data Link Provider Interface) specifies an interface to the services of
the data link layer. This interface is the boundary between the network and
data link layers of the OSI model. The network layer entity is the Data Link
Service user (DLS user), the data link layer entity is the DLS provider. The
purpose of the specification is to enable the DLS user to access and use any
of a variety of conforming DLS providers without specific knowlegde of the
providers protocol.
The interface is a specification of a STREAMS kernel-level instantiation of
the ISO Data Link Service Definitions and Logical Link Control (LLC). The DLPI
primitives are defined in terms of STREAMS messages that are transferred
between the user and the provider of the service. All DLPI messages are either
M_PROTO or M_PCPROTO type. The data is sent in M_DATA messages. The primitives
are usually issued in a request/acknowledge scenario where the user issues a
request message and waits for an acknowlegde or error response message from
the provider.
Concerning the project, the DLPI specification will be divided into five
modules. These are Local Management, Connection Establishment, Connection
Release, Data Transfer and Connectionless Data Transfer. The first of these
will be implemented as in the TEI-management module in the kernel,
the rest will be incorporated in the Q.921-implementation as a "DLPI module".
The Local Management module takes care of the initialization of a stream. It
also includes services for information reporting about the DLS provider. This
module can then be divided into three services: Information Reporting,
Attaching and Binding.
Information reporting
To get operating information about the DLPI stream, the user can issue a
DL_INFO_REQ-primitive. The information is returned in a DL_INFO_ACK-primitive.
Attaching
The attach service assigns a physical point of attachment (PPA) to a stream. A
PPA is the point at which a system attaches itself to a physical communication
medium (in our case the ISDN-card). A PPA may also be disassociated with a
stream.
Binding
The bind service associates at Data Link Service Access Point (DLSAP) with a
stream. The DLS users identity is established by associating it with a DLSAP.
A DLSAP may also be disassociated with the stream.
The DLPI-module will translate (map) the primitives of the DLS provider to
DLPI primitives. These will then be sent as a STREAMS message to the DLS user.
The user has a corresponding DLPI-module, which the translates the DLPI
primitives to primitives that can be understood by the user. The primitives are
then distributed to the proper module in the user. The process is the same the
when sending primitives from the user to the provider. The DLPI-module can be
seen as consisting of the modules Connection Establishment, Connection
Release, Data Transfer and Connectionless Data Transfer from the DLPI
specification.
The connection establishment service establishes a data link connection between
a local DLS user and a remote DLS user for the purpose of sending data. The
user issues a DL-ESTABLISH-request, which is mapped to the DLPI primitive
DL_CONNECT_REQ. The provider issues a DL-ESTABLISH-confirm, which will be
sent back as DL_CONNECT_CON.
The connection release service releases the data link connection between a
local DLS user and a remote DLS user. The user issues a DL-RELEASE-request,
which will be sent to the provider as a DL_DISCONNECT_REQ. The provider will
send back a DL_OK_ACK.
When the local DLS user wants to send data, it sends the data in a DL_DATA_REQ
primitive. The data is contained in an M_DATA message. When the local DLS user
is going to get some data it will get a DL_DATA_IND primitive. The data is
contained in an M_DATA message.
This service is used when no connection is established between a remote DLS
user and a local DLS user. If the remote user wants to make a connection to
the local user, it will send a setup. The provider will then convey the data
with the DL_UNITDATA_IND primitive up to the local user.
Comments please send Mail: