DLPI Programmer's Guide

Chapter 1 23
Introduction to DLPI
The Data Link Layer
Data Link User Identification
A data link user’s identity is established by associating it with a data
link service access point (DLSAP), which is the point through which the
user will communicate with the data link provider. A DLSAP is identified
by a DLSAP address.
The DLSAP address identifies a particular data link service access point
that is associated with a stream (communication endpoint). A bind
service primitive enables a DLS user to either choose a specific DLSAP
by specifying its address, or to determine the DLSAP associated with a
stream by retrieving the bound DLSAP address. The DLSAP address can
then be used by other DLS users to access a specific DLS user. The
format of the DLSAP address is specific to the DLS provider. However,
DLPI provides a mechanism for decomposing the DLSAP address into
component pieces. The DL_INFO_ACK primitive returns the length of
the SAP component of the DLSAP address, along with the total length of
the DLSAP address.
HP’s DLSAP Address Format (802.3, Ethernet, Token
Ring, FDDI)
Ethernet/IEEE802.3 and FDDI MAC addresses are presented in
canonical format. Token Ring MAC addresses are presented in wire
format.
DLSAPs are what DLPI defines as an address through which the user
will communicate to a Data Link Service (DLS) provider. The content of
the DLSAP address will depend on the context in which it is used (i.e.
which primitive is being processed or acknowledged). The basic format of
the DLSAP address is always the same.
The basic DLSAP address format is:
|MAC address | SAP/Ethertype | SNAP (SAP = 0xAA) | [RIF]|
[ ] indicates that this information is optional.
The three possible variations of the DLSAP address format based on the
protocol value are:
802.2 SAP format
| DA/SA | DSAP/SSAP | [RIF, up to 18bytes] |
Ethertype format
| DA/SA | TYPE |