DLPI Primitives

The kernel-level interface to the data link layer defines a STREAMS-based message interface between the provider of the data link service (DLS provider) and the consumer of the data link service (DLS user). STREAMS provides the mechanism in which DLPI primitives may be passed between the DLS user and DLS provider.

Before DLPI primitives can be passed between the DLS user and the DLS provider, the DLS user must establish a stream to the DLS provider using open(2). The DLS provider must therefore be configured as a STREAMS driver. When interactions between the DLS user and DLS provider have completed, the stream may be closed.

The STREAMS messages used to transport data link service primitives across the interface have one of the following formats:

One M_PROTO message block followed by zero or more M_DATA blocks. The M_PROTO message block contains the data link layer service primitive type and all relevant parameters associated with the primitive. The M_DATA block(s) contain any DLS user data that might be associated with the service primitive.

One M_PCPROTO message block containing the data link layer service primitive type and all relevant parameters associated with the service primitive.

One or more M_DATA message blocks conveying user data.

The following sections describe the format of the supported primitives. The primitives are grouped into four categories:

Local Management Service Primitives

Connectionless-mode Service Primitives

Connection-mode Service Primitives

Primitives to handle XID and TEST operations

All of the DLPI extensions listed in this chapter are defined in <sys/dlpi_ext.h> and <sys/dlpi.h>.

50

Chapter 2

Page 50
Image 50
HP UX 11i v2 Networking Software manual Dlpi Primitives