Technical data
SunOS 5.5 Devices gld(7D)
gld and Style 1 and 2
Providers
GLD implements both Style 1 and Style 2 providers. The Style 1 provider assigns a physi-
cal point of attachment (PPA) based on the major/minor device that has beenopened and
bound. A PPA is the point at which a system attaches itself to a physical communication
medium. All communication on that physical medium funnels through thePPA. The
Style 2 provider requires theDLS user to explicitlyidentify the desired PPA using
DL_ATTACH_REQ. open(9E) creates a STREAM between GLD and the device and
DL_ATTACH_REQ, then associates a particular PPA with thatSTREAM. Style 2 is denoted
by a minor number of zero. If the minor number is not zero, it denotes thePPA number
plus one. In both Style 1 and Style 2 opens, the device is cloned.
GLD implements a connectionless-mode service. Once the STREAM is initialized,connec-
tionless data transfer can begin. Because there is no establishedconnection, theDLS user
must identify the destination of each data unit to be transferred.
Implemented DLPI
Primitives
GLD implements the following DLPI primitives:
The DL_INFO_REQ primitive requests information about the DLPI STREAM. The message
consists of one M_PCPROTO message block. GLD-based drivers return device-dependent
values in theDL_INFO_ACK response to this request. However, all GLD-based drivers
return the following values:
The version isDL_VERSION_2.
The service mode is DL_CLDLS.
The provider style isDL_STYLE1 or DL_STYLE2.
No optional Quality Of Service (QOS) support is present, so theQOS fields are
zero.
The DL_ATTACH_REQ primitive is called to associate a PPA with aSTREAM. This request
is needed for Style 2DLS providers to identify the physical medium over which the com-
munication will transpire. This request may not be issued when using the driver in Style
1 mode. Upon completion, the state changes from DL_UNATTACHED toDL_UNBOUND.
The message consists of oneM_PROTO message block.
The DL_DETACH_REQ primitive requests detach from the physical point of attachment
from a STREAM.
The DL_BIND andDL_UNBIND primitives bind and unbind aDLSAP to theSTREAM. The
PPA associated with eachSTREAM will be initialized upon completion of the processing
of the DL_BIND_REQ. Multiple STREAMS may be bound to the sameSAP; each STREAM
receives a copy of any packets received for thatSAP.
The DL_ENABMULTI_REQ andDL_DISABMULTI_REQ primitives enable and disable
reception of individual multicast group addresses. A set of multicast addresses may be
iteratively created and modified on a per-STREAM basis using these primitives. These
primitives are accepted by the driver in any state following DL_ATTACHED.
The DL_PROMISCON_REQ andDL_PROMISCOFF_REQ primitives enables and disables
promiscuous mode on a per-STREAM basis, either at a physicallevel or at theSAP level.
The DL Provider will route all received messages on the media to theDLS User until
either aDL_DETACH_REQ or a DL_PROMISCOFF_REQ is received or theSTREAM is
modified 25 Aug 1995 7D-121










