Previous section.

Data Link Provider Interface (DLPI), Version 2
Copyright © 2000 The Open Group


DL_UNITDATA_REQ (dl_unitdata_req_t) - conveys one DLSDU from the DLS user to the DLS provider for transmission to a peer DLS user. Because connectionless data transfer is an unacknowledged service, the DLS provider makes no guarantees of delivery of connectionless DLSDUs. It is the responsibility of the DLS user to do any necessary sequencing or retransmission of DLSDUs in the event of a presumed loss.


The message consists of one M_PROTO message block containing the structure shown below, followed by one or more M_DATA blocks containing at least one byte of data. The amount of user data that may be transferred in a single DLSDU is limited. This limit is conveyed by the parameter dl_max_sdu in the DL_INFO_ACK primitive.

typedef struct {
    t_uscalar_t         dl_primitive;
    t_uscalar_t         dl_dest_addr_length;
    t_uscalar_t         dl_dest_addr_offset;
    dl_priority_t       dl_priority;
} dl_unitdata_req_t;





conveys the length of the DLSAP address of the destination DLS user. If the destination user is implemented using DLPI, this address is the full DLSAP address returned on the DL_BIND_ACK.


conveys the offset from the beginning of the M_PROTO message block where the destination DLSAP address begins.


indicates the priority value within the supported range for this particular DLSDU.


The message is valid in state DL_IDLE.


The resulting state is unchanged.


If the DLS provider accepts the data for transmission, there is no response. This does not, however, guarantee that the data will be delivered to the destination DLS user, since the connectionless data transfer is not a confirmed service. If the request is erroneous, message DL_UDERROR_IND is returned, and the resulting state is unchanged.

If for some reason the request cannot be processed, the DLS provider may generate a DL_UDERROR_IND to report the problem. There is, however, no guarantee that such an error report will be generated for all undeliverable data units, since connectionless data transfer is not a confirmed service.



The destination DLSAP address was in an incorrect format or contained invalid information.


The amount of data in the current DLSDU exceeded the DLS provider's DLSDU limit.


The primitive was issued from an invalid state.


Requested priority not supplied by provider.

Contents Next section Index