Technical data

gld(7D) Devices SunOS 5.5
NAME gld Generic LAN Driver
SYNOPSIS #include <sys/stropts.h>
#include <sys/stream.h>
#include <sys/dlpi.h>
#include <sys/ethernet.h>
#include <sys/gld.h>
AVAILABILITY x86
DESCRIPTION gld is a multi-threaded, clonable GenericLAN Driver support module which resides in a
loadable kernel module, /kernel/misc/gld. It implements most of the STREAMS functions
and DLPI functionality required of aLAN driver. Several Solaris network drivers are
implemented usingGLD.
Any Solaris network driver implemented using GLD is divided into two distinct parts: a
generic part that deals withSTREAMS and DLPI interfaces, and a device-specific part that
deals with the particular hardware device. The device-specific module indicates its
dependency on the GLD module and registers itself withGLD from within the driver’s
attach(9E) function. After the driver has been successfully loaded, it is a fullyDLPI-
compliant driver. The device-specific part of the driver callsGLD functions when it
receives data or needs some service from GLD. GLD makes indirect calls into the device-
specific driver through pointers provided toGLD by the device-specific driver when it
registered itself withGLD.
DLPI
is an implementation of a standard that defines the services provided by the data
link layer. The data link interface is the boundary between the network and the data link
layers of the OSI Reference Model. The network layer entity is the user of the services of
the data link interface (DLS user). The data link layer entity is the provider of those ser-
vices (DLS provider). The DLS user accesses the provider using open(9E) to establish a
STREAM to the DLS provider. TheSTREAM acts as a communication channel between a
DLS user and a DLS provider.
gld and Ethernet V2
and 802.3
Ethernet V2 service and 802.3 mode are provided byGLD. V2 enablesa data link service
user to access and use any of a variety of conforming data link service providers without
special knowledge of the provider’s protocol. A Service Access Point (SAP) is the point
through which the user will communicate with the service provider. SAP values in the
range [0-1500] are treated as equivalent and represent a desire by the user for 802.3 mode.
If the value of theSAP field of the DL_BIND_REQ is within this range, GLD computes the
length, not including initialM_PROTO message blocks, of all subsequent
DL_UNITDATA_REQ messages and transmits 802.3 frames having this value in the MAC
frame header type field. All frames received from the media having a type field in this
range are assumed to be 802.3 frames and are routed up all openSTREAMS that are
bound to anySAP value within this range. If more than one STREAM is in 802.3 mode, the
frame will be duplicated and routed up multipleSTREAMS as DL_UNITDATA_IND mes-
sages.
7D-120 modified 25 Aug 1995