VxWorks Reference Manual : Libraries
dlpiLib - Data Link Provider Interface (DLPI) Library (STREAMS Option)
dlpiInit( ) - initialize the DLPI driver
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.
The DLPI interface is initialized by the dlpiInit( ) routine which installs the DLPI STREAMS driver in the VxWorks I/O subsystem.
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
dlpi.h stream.h mikernel.h
dlpiLib, strmLib, Data Link Provider Interface Specification, Revision 2.0.0, UNIX SVR4.2 STREAMS-based Data Link Provider Interface.
dlpiInit( ) - initialize the DLPI driver
STATUS dlpiInit ( void )
This routine installs the STREAMS DLPI driver into the VxWorks I/O subsystem.
N/A