Generic data link control (GDLC) is a generic interface definition that provides application and kernel users a common set of commands to control DLC device managers within the operating system.
For more information about the GDLC environment, see:
The GDLC interface specifies requirements for entry point definitions, functions provided, and data structures for all DLC device managers. DLCs that conform to the GDLC interface include:
DLC device managers perform higher-layer protocols and functions beyond the scope of a kernel device driver. However, the managers reside within the kernel for maximum performance and use a kernel device driver for their I/O requests to the adapter. A DLC user is located above or within the kernel.
Synchronous data link control (SDLC) and IEEE 802.2 Data Link Control are examples of DLC device managers. Each DLC device manager operates with a specific device driver or set of device drivers. SDLC, for example, operates with the multiprotocol device driver for the system's product and its associated adapter.
The basic structure of a DLC environment is shown in the DLC Device Manager Environment figure. Users within the kernel have access to the communications memory buffers (mbufs) and call the add entry points through the fp kernel services. Users above the kernel access the standard interface-to-kernel device drivers, and the file system calls the dd entry points. Data transfers require a move of data between user and kernel space.
The components of the DLC device manager environment are:
|Application User||Resides above the kernel as an application or access method.|
|Kernel User||Resides within the kernel as a kernel process or device manager.|
|File I/O Subsystem||Converts the file-descriptor and file-pointer subroutines to file pointer accesses of the switch table.|
|Buffer Pool||Provides data-buffer services for the communications subsystem.|
|Comm I/O Device Driver||Controls hardware adapter I/O and direct memory access (DMA) registers, and routes receive packets to multiple DLCs.|
|Adapter||Attaches to the communications media.|
A device manager written in accordance with GDLC specifications runs on all the operating system hardware configurations containing a communications device driver and its target adapter. Each device manager supports multiple users above as well as multiple device drivers and adapters below. In general, users operate concurrently over a single adapter, or each user operates over multiple adapters. DLC device managers vary based on their protocol constraints.
The Multiple User and Multiple Adapter Configuration figure illustrates a multiple user configuration:
A GDLC interface must meet the following criteria: