VxWorks Reference Manual : Libraries

dlpiLib

NAME

dlpiLib - Data Link Provider Interface (DLPI) Library (STREAMS Option)

ROUTINES

dlpiInit( ) - initialize the DLPI driver

DESCRIPTION

This library implements the generic Data Link Provider Interface (DLPI) driver which is common for all network drivers. This is a STREAMS-based interface between the data link layer (the Data Link Service provider) and the network layer. This library enables a Data Link Service (DLS) user to access the DLPI conformant driver (the DLS provider). It also provides an interface to the Wind River-specific network drivers.

USER-CALLABLE ROUTINES

The DLPI interface is initialized by the dlpiInit( ) routine which installs the DLPI STREAMS driver in the VxWorks I/O subsystem.

IMPLEMENTATION

This library supports up to 8 SAPs (Service Access Points). The driver open calls are treated as clone opens, thereby assigning a new stream for each open. Each opened stream is bound to a SAP. There is a one-to-one correspondence between the stream opened and the SAP.

The DLPI driver serves as the generic driver under which operates a network driver. The network driver hands over the received packets to the DLPI driver using the network driver's etherInputHook function pointer. This pointer is installed at the time the stream is bound to the SAP, that is, when the DL_BIND_REQ primitive is called by the DLS user. The network driver must support the etherInputHook. For more information on etherInputHook, see the manual entry for etherLib. This DLPI driver is a style 2 DLS provider.

The DL_ATTACH_REQ (attach request) primitive generated by the user should concatenate the name of the network device to be attached to the attach request message. The attach request primitive implemented in this driver gets the name of the appropriate network device from the attach-request message. It then gets the pointer to the appropriate network controller data structure from the name obtained. The network device control structure obtained is a pointer to an arpcom structure. The attach request primitive calls ifunit( ) to obtain the pointer to the device control structure.

The packet type field in the Ethernet frame is used to multiplex between various SAPs. This DLPI driver supports only Ethernet frame formats. It does not support IEEE 802.3 frame formats.

DLPI SERVICES. This library supports a subset of DLPI services. The services provided by this library are:

        DL_ATTACH_REQ
        DL_DETACH_REQ
        DL_BIND_REQ
        DL_BIND_ACK
        DL_INFO_REQ
        DL_INFO_ACK
        DL_UNBIND_REQ
        DL_ERROR_ACK
        DL_UNITDATA_REQ
        DL_UNITDATA_IND
        DL_OK_ACK

INCLUDE FILES

dlpi.h stream.h mikernel.h

SEE ALSO

dlpiLib, strmLib, Data Link Provider Interface Specification, Revision 2.0.0, UNIX SVR4.2 STREAMS-based Data Link Provider Interface.


Libraries : Routines

dlpiInit( )

NAME

dlpiInit( ) - initialize the DLPI driver

SYNOPSIS


STATUS dlpiInit ( void )

DESCRIPTION

This routine installs the STREAMS DLPI driver into the VxWorks I/O subsystem.

RETURNS

N/A

SEE ALSO

dlpiLib