Generic data link control (GDLC) defines a generic interface with a common set of commands that allows application and kernel users to control DLC device managers within the operating system.
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.
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.
For more information about the GDLC environment, see:
The DLC Device Manager Environment figure illustrates the basic structure of a DLC environment. Users within the kernel have access to the Communications memory buffers (mbufs) and call the dd entry points by way of 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 data movements 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 input/output (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 and below the kernel. 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: