[ Bottom of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]

Communications Programming Concepts

Generic Data Link Control Environment Overview

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 (Figure 1) 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.

Figure 1. DLC Device Manager Environment. This diagram shows the application user accessing the file I/O subsystem. The kernel user accesses both the file I/O subsystem and the buffer pool. The file I/O subsystem accesses the DLC device manager which accesses the buffer pool and the comm I/O device manager. The comm I/O device driver accesses the buffer pool and the adapter which is below the kernel in the hardware.

The components of the DLC device manager environment are as follows:

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 (Figure 2) illustrates a multiple user configuration.

Figure 2. Multiple User and Multiple Adapter Configuration. This diagram shows multiple application users and an application DLC above the kernel. The application users access the DLC device manager while the application DLC accesses multiple communication I/O device drivers. Multiple kernel users also access the DLC device manager. The other DLC also accesses multiple communication I/O device drivers. Multiple adapters, below the kernel in hardware, access the communication I/O device drivers.

Meeting the GDLC Criteria

A GDLC interface must meet the following criteria:

[ Top of Page | Previous Page | Next Page | Contents | Index | Library Home | Legal | Search ]