DL_DISABMULTI_REQ Primitive

Purpose

Requests that the data link service (DLS) provider disable specific multicast addresses on a per stream basis.

Structure

The message consists of one M_PROTO message block, which contains the following structure:

typedef struct
{
   ulong  dl_primitive;
   ulong  dl_addr_length;
   ulong  dl_addr_offset;
} dl_disabmulti_req_t;

This structure is defined in /usr/include/sys/dlpi.h.

Description

The DL_DISABMULTI_REQ primitive requests that the DLS provider disable specific multicast addresses on a per stream basis.

The DLS provider must not run in the interrupt environment. If the DLS provider runs in the interrupt environment, the system returns a DL_ERROR_ACK primitive with an error code of DL_SYSERR and an operating system error code of 0.

Parameters

Item Description
dl_primitive Specifies the DL_DISABMULTI_REQ primitive.
dl_addr_length Specifies the length of the physical address.
dl_addr_offset Indicates where the multicast address begins. The value of this parameter is the offset from the beginning of the M_PROTO message block.

States

Item Description
Valid The primitive is valid in any state in which a local acknowledgement is not pending, with the exception of the DL_UNATTACH state.
New The resulting state is unchanged.

Acknowledgments

Item Description
Successful The DL_OK_ACK primitive is sent to the DLS user.
Unsuccessful The DL_ERROR_ACK primitive is returned, and the resulting state is unchanged.

Error Codes

Item Description
DL_BADADDR Indicates the data link service access point (DLSAP) address information is invalid or is in an incorrect format.
DL_NOTENAB Indicates the address specified is not enabled.
DL_NOTSUPPORTED Indicates the primitive is known but not supported by the DLS provider.
DL_OUTSTATE Indicates the primitive was issued from an invalid state.
DL_SYSERR Indicates a system error occurred. The DL_ERROR_ACK primitive indicates the system error.