The Data Link Provider Interface (DLPI) is a standard defined by the Open Group. DLPI is defined by technical standard C614. Copies of this standard are available from the Open Group.
DLPI defines the format that STREAMS messages must take when interfacing to the datalink layer. The diagram below summarizes the way it works:
Like NLI, DLPI uses the putmsg and getmsg system calls and certain ioctl commands. See Chapter 11, DLPI Reference for more information.
The DLPI message primitives provided support LLC and LLC1 as well as LLC2. However, as LLC and LLC1 are not used by Solstice X.25, this is not documented here. Refer to A STREAMS-based Data Link Provider Interface--Version 2 for information on working with LLC and LLC1.
A DLS User is identified by two pieces of information. The Physical Point of Attachment (PPA) defines the point at which the system is attached to a physical communications medium. The Datalink Service Access Point (DLSAP) identifies the service access point associated with a stream.
You cannot use LAPB on a link that is already in use with X.25, so you need to build the stream architecture before you can run DLPI over the LAPB protocol.
The stream architecture for LAPB must be:
The serial driver manages the chip that controls the serial line. The wanmod module is installed between the serial driver and the LAPB driver. The wanmod driver controls the signals sent by the serial driver and informs the LAPB driver when the connection has been established at the physical level (i.e. when the cable is plugged in). The LAPB driver then implements the LAPB protocol and the DLPI interface.
See "11.1.2 Message Primitive Sequence Summary", for additional information.
The stream architecture for LLC2 must be:
The previous version of the LLC2 driver did not carry out plumbing and PPA assignment, and applications that were designed to run directly over LLC2 were obliged to perform these steps themselves. The LLC2 driver supplied with Solstice X.25 9.2 now takes care of these tasks at system boot time, by means of /etc/rc2.d/S40llc2.
The relationship between the PPA and a particular LAN device is defined by the files in the directory /etc/llc2/default. Instead of choosing an arbitrary PPA and configuring LLC2 to use it, an application must find the PPA that is associated with the required LAN device and attach to it. Applications need now only do the following:
determine the PPA associated with the required LAN device;
open /dev/llc2;
issue a DLPI attach request for the desired PPA.
Two routines have been added to the Solstice X.25 code to take account of the change in the LLC2 driver:
Table 10-1 Solstice X.25 routines to associate PPA with a LAN device
Routine |
Description |
---|---|
x25_device_instance() |
Finds the LAN device for a given X.25 link. |
x25_device_to_ppa() |
Finds the LLC2 PPA assigned to that LAN device. |
See "11.1.2 Message Primitive Sequence Summary", for additional information.