DLunitdata_req(3dlpi) DLunitdata_req(3dlpi)
NAME
DLunitdata_req - process DL_UNITDATA_REQ primitive
SYNOPSIS
DLunitdata_req(queue_t *q, mblk_t *mp)
Parameters
q pointer to the write queue
mp message pointer
DESCRIPTION
This function processes the DL_UNITDATA_REQ primitive. The
latter is used to convey one data unit to the provider. If
the BOARD_DISABLED flag is found set in the board
configuration structure, a DL_NOTINIT error is returned by
calling DLerror_ack. If the state of the SAP is not DL_IDLE a
DL_OUTSTATE error is returned by calling DLuderror_ind. It is
also an error if the size of data is not within the packet
limits set for the SAP.
In this example DL_BADDATA error is returned to the user by
calling DLuderror_ind.
If the frame is to be sent to another user on the same
machine, or, if it is to be broadcast to all processes, a copy
of the message is put back in the read queue of the Stream by
calling DLrecv. If the frame is destined for another user on
the same machine, the ifOutUcastPkts field of MIB structure is
incremented. Otherwise, the ifOutNUcastPkts field is
incremented.
If the SEND_LOCAL_TO_NET flag in the board configuration
structure is set, local packets are also put on the network.
Otherwise, the message is freed-up. To transfer packets to
the network the DLxmit_packet routine is called or the data is
put back in its queue, based on the TX_BUSY flag of the board
configuration structure for more information. If data is put
in back in its write queue, the TX_QUEUED flag is set in the
board configuration structure. Further, the ifOutQlen field
of the MIB structure is incremented.
It is up to DLxmit_packet to free the message passed to it by
DLunitdata_req.
Copyright 1994 Novell, Inc. Page 1
DLunitdata_req(3dlpi) DLunitdata_req(3dlpi)
Response
status DL_NOTINIT, DL_OUTSTATE, DL_BADDATA
Layer
Hardware Independent.
REFERENCES
the section ``The DLPI Network Driver Framework'' of the book
STREAMS Modules and Drivers for the details of the
DLxmit_packet
Hardware Independent Layer Functions Called
DLerror_ack
DLuderror_ind
Hardware Dependent Layer Functions Called
DLxmit_packet
Copyright 1994 Novell, Inc. Page 2