xref: /illumos-gate/usr/src/man/man3dat/dat_ep_modify.3dat (revision 2bbdd445a21f9d61f4a0ca0faf05d5ceb2bd91f3)
te
This manual page is derived from the DAT/uDAPL 1.2 specification.
Portions Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
DAT_EP_MODIFY 3DAT "Jul 16, 2004"
NAME
dat_ep_modify - change parameters of an Endpoint
SYNOPSIS

cc [ flag.\|.\|. ] file.\|.\|. -ldat [ library.\|.\|. ]
#include <dat/udat.h>

DAT_RETURN
 dat_ep_modify (
 IN DAT_EP_HANDLE ep_handle,
 IN DAT_EP_PARAM_MASK ep_param_mask,
 IN DAT_EP_PARAM *ep_param
 )
PARAMETERS
ep_handle

Handle for an instance of the Endpoint.

ep_param_mask

Mask for Endpoint parameters.

ep_param

Pointer to the Consumer-allocated structure that contains Consumer-requested Endpoint parameters.

DESCRIPTION

The dat_ep_modify() function provides the Consumer a way to change parameters of an Endpoint.

The ep_param_mask parameter allows Consumers to specify which parameters to modify. Providers modify values for ep_param_mask requested parameters only.

Not all the parameters of the Endpoint can be modified. Some can be modified only when the Endpoint is in a specific state. The following list specifies which parameters can be modified and when they can be modified. Interface Adapter

Cannot be modified. Endpoint belongs to an open instance of IA and that association cannot be changed.

Endpoint State

Cannot be modified. State of Endpoint cannot be changed by a dat_ep_modify() operation.

Local IA Address

Cannot be modified. Local IA Address cannot be changed by a dat_ep_modify() operation.

Local Port Qualifier

Cannot be modified. Local port qualifier cannot be changed by a dat_ep_modify() operation.

Remote IA Address

Cannot be modified. Remote IA Address cannot be changed by a dat_ep_modify() operation.

Remote Port Qualifier

Cannot be modified. Remote port qualifier cannot be changed by a dat_ep_modify() operation

Protection Zone

Can be modified when in Quiescent, Unconnected, and Tentative Connection Pending states. Protection Zone can be changed only when the Endpoint is in quiescent state. The only Endpoint states that isare quiescent isare DAT_EP_STATE_UNCONNECTED and DAT_EP_STATE_TENTATIVE_CONNECTION_PENDING. Consumers should be aware that any Receive DTOs currently posted to the Endpoint that do not match the new Protection Zone fail with a DAT_PROTECTION_VIOLATION return.

In DTO Event Dispatcher

Can be modified when in Unconnected, Reserved, Passive Connection Request Pending, and Tentative Connection Pending states. Event Dispatcher for incoming DTOs (Receive) can be changed only prior to a request for a connection for an Active side or prior to accepting a Connection Request for a Passive side.

Out DTO Event Dispatcher

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Event Dispatcher for outgoing DTOs (Send, RDMA Read, and RDMA Write) can be changed only prior to a request for a connection for an Active side or prior to accepting a Connection Request for a Passive side.

Connection Event Dispatcher

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Event Dispatcher for the Endpoint Connection events can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Service Type

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Service Type can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum Message Size

Can be modified when in Unconnected, Reserved, Passive Connection Request Pending, and Tentative Connection Pending states. Maximum Message Size can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum RDMA Size

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum RDMA Size can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Quality of Service

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. QoS can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Recv Completion Flags

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Recv Completion Flags specifies what DTO flags the Endpoint should support for Receive DTO operations. The value can be DAT_COMPLETION_NOTIFICATION_SUPPRESS_FLAG, DAT_COMPLETION_SOLICITED_WAIT_FLAG, or DAT_COMPLETION_EVD_THRESHOLD_FLAG. Recv posting does not support DAT_COMPLETION_SUPPRESS_FLAG or DAT_COMPLETION_BARRIER_FENCE_FLAG dat_completion_flags values that are only applicable to Request postings. Recv Completion Flags can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side, but before posting of any Recvs.

Request Completion Flags

Can be modified when in Unconnected, Reserved, Passive Connection Request Pending, and Tentative Connection Pending states. Request Completion Flags specifies what DTO flags the Endpoint should support for Send, RDMA Read, RDMA Write, and RMR Bind operations. The value can be: DAT_COMPLETION_UNSIGNALLED_FLAG or DAT_COMPLETION_EVD_THRESHOLD_FLAG. Request postings always support DAT_COMPLETION_SUPPRESS_FLAG, DAT_COMPLETION_SOLICITED_WAIT_FLAG, or DAT_COMPLETION_BARRIER_FENCE_FLAG completion_flags values. Request Completion Flags can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum Recv DTO

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum Recv DTO specifies the maximum number of outstanding Consumer-submitted Receive DTOs that a Consumer expects at any time at the Endpoint. Maximum Recv DTO can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum Request DTO

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum Request DTO specifies the maximum number of outstanding Consumer-submitted send and RDMA DTOs and RMR Binds that a Consumer expects at any time at the Endpoint. Maximum Out DTO can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum Recv IOV

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum Recv IOV specifies the maximum number of elements in IOV that a Consumer specifies for posting a Receive DTO for the Endpoint. Maximum Recv IOV can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum Request IOV

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum Request IOV specifies the maximum number of elements in IOV that a Consumer specifies for posting a Send, RDMA Read, or RDMA Write DTO for the Endpoint. Maximum Request IOV can be changed only prior to a request for a connection for an Active side or accepting a Connection Request for a Passive side.

Maximum outstanding RDMA Read as target

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum number of outstanding RDMA Reads for which the Endpoint is the target.

Maximum outstanding RDMA Read as originator

Can be modified when in Unconnected, Reserved, Passive Connection Pending, and Tentative Connection Pending states. Maximum number of outstanding RDMA Reads for which the Endpoint is the originator.

Num transport-specific attributes

Can be modified when in Quiescent (unconnected) state. Number of transport-specific attributes to be modified.

Transport-specific endpoint attributes

Can be modified when in Quiescent (unconnected) state. Transport-specific attributes can be modified only in the transport-defined Endpoint state. The only guaranteed safe state in which to modify transport-specific Endpoint attributes is the quiescent state DAT_EP_STATE_UNCONNECTED.

Num provider-specific attributes

Can be modified when in Quiescent (unconnected) state. Number of Provider-specific attributes to be modified.

Provider-specific endpoint attributes

Can be modified when in Quiescent (unconnected) state. Provider-specific attributes can be modified only in the Provider-defined Endpoint state. The only guaranteed safe state in which to modify Provider-specific Endpoint attributes is the quiescent state DAT_EP_STATE_UNCONNECTED.

RETURN VALUES
DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The ep_handle parameter is invalid.

DAT_INVALID_PARAMETER

The ep_param_mask parameter is invalid, or one of the requested Endpoint parameters or attributes was invalid, not supported, or cannot be modified.

DAT_INVALID_STATE

Parameter in an invalid state. The Endpoint was not in the state that allows one of the parameters or attributes to be modified.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.1, 1.2
MT-Level Unsafe
SEE ALSO

libdat(3LIB), attributes(5)