dat_ep_dup_connect man page on SmartOS

Printed from http://www.polarhome.com/service/man/?qf=dat_ep_dup_connect&af=0&tf=2&of=SmartOS

DAT_EP_DUP_CONNECT(3DAT)			      DAT_EP_DUP_CONNECT(3DAT)

NAME
       dat_ep_dup_connect  - establish a connection between the local Endpoint
       and a remote Endpoint

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

       DAT_RETURN
	   dat_ep_dup_connect (
	   IN	 DAT_EP_HANDLE	  ep_handle,
	   IN	 DAT_EP_HANDLE	  dup_ep_handle,
	   IN	 DAT_TIMEOUT	  timeout,
	   IN	 DAT_COUNT	  private_data_size,
	   IN const  DAT_PVOID	  private_data,
	   IN	 DAT_QOS	  qos
	   )

PARAMETERS
       ep_handle
			    Handle for an instance of an Endpoint.

       dup_ep_handle
			    Connected  local   Endpoint	  that	 specifies   a
			    requested connection remote end.

       timeout:
			    Duration  of time, in microseconds, that Consumers
			    wait for Connection establishment.	The  value  of
			    DAT_TIMEOUT_INFINITE represents no timeout, indef‐
			    inite wait. Values must be positive.

       private_data_size
			    Size of private_data. Must be nonnegative.

       private_data
			    Pointer to the private data that  should  be  pro‐
			    vided  to  the remote Consumer as part of the Con‐
			    nection Request.  If  private_data_size  is	 zero,
			    then private_data can be NULL.

       qos
			    Requested Quality of Service of the connection.

DESCRIPTION
       The  dat_ep_dup_connect() function requests that a connection be estab‐
       lished between the local Endpoint and a remote Endpoint. This operation
       is used by the active/client side Consumer of the connection model. The
       remote Endpoint is identified by the dup_ep_handle. The remote  end  of
       the  requested  connection  shall  be the same as the remote end of the
       dup_ep_handle. This is equivalent to requesting	a  connection  to  the
       same  remote  IA,  Connection  Qualifier, and connect_flags as used for
       establishing the connection on duplicated Endpoints and	following  the
       same redirections.

       Upon  establishing  the	requested connection as part of the successful
       completion of this operation, the local Endpoint is  bound  to  a  Port
       Qualifier  of  the local IA. The Port Qualifier is passed to the remote
       side of the requested connection and is available to  the  remote  Con‐
       sumer in the Connection Request of the DAT_CONNECTION_REQUEST_EVENT.

       The  Consumer-provided private_data is passed to the remote side and is
       provided to the remote Consumer in the  Connection  Request.  Consumers
       can  encapsulate	 any  local  Endpoint attributes that remote Consumers
       need to know as part of an upper-level  protocol.  Providers  can  also
       provide a Provider on the remote side any local Endpoint attributes and
       Transport-specific information needed for Connection  establishment  by
       the Transport.

       Upon  successful	 completion  of	 this operation, the local Endpoint is
       transferred into DAT_EP_STATE_ACTIVE_CONNECTION_PENDING.

       Consumers can request a specific value of qos. The  Provider  specifies
       which  Quality  of  Service  it	supports  in  documentation and in the
       Provider attributes. If the local Provider or Transport does  not  sup‐
       port the requested qos, the operation fails and DAT_MODEL_NOT_SUPPORTED
       is returned synchronously. If the remote Provider does not support  the
       requested  qos, the local Endpoint is automatically transitioned into a
       DAT_EP_STATE_UNDISCONNECTED state, the connection is  not  established,
       and  the	 event	returned  on  the  connect_evd_handle  is  DAT_CONNEC‐
       TION_EVENT_NON_PEER_REJECTED.	    The	       same	   DAT_CONNEC‐
       TION_EVENT_NON_PEER_REJECTED  event is returned if connection cannot be
       established for all reasons for not establishing the connection, except
       timeout,	 remote	 host not reachable, and remote peer reject. For exam‐
       ple, remote host is not reachable, remote Consumer is not listening  on
       the  requested  Connection  Qualifier, Backlog of the requested Service
       Point is full, and Transport errors. In this case, the  local  Endpoint
       is automatically transitioned into a DAT_EP_STATE_UNDISCONNECTED state.

       The  acceptance	of  the requested connection by the remote Consumer is
       reported to the local Consumer  through	a  DAT_CONNECTION_EVENT_ESTAB‐
       LISHED event on the connect_evd_handle of the local Endpoint.

       The  rejection  of the connection by the remote Consumer is reported to
       the local Consumer through a  DAT_CONNECTION_EVENT_PEER_REJECTED	 event
       on  the connect_evd_handle of the local Endpoint and the local Endpoint
       is automatically transitioned into a DAT_EP_STATE_UNDISCONNECTED state.

       When the Provider cannot reach the remote host or the remote host  does
       not  respond  within  the  Consumer-requested  timeout,	a  DAT_CONNEC‐
       TION_EVENT_UNREACHABLE is generated on the  connect_evd_handle  of  the
       Endpoint.  The  Endpoint	 transitions  into a DAT_EP_STATE_DISCONNECTED
       state.

       The   local   Endpoint	is   automatically   transitioned    into    a
       DAT_EP_STATE_CONNECTED  state  when a Connection Request is accepted by
       the remote Consumer and the Provider completes  the  Transport-specific
       Connection  establishment. The local Consumer is notified of the estab‐
       lished connection through a DAT_CONNECTION_EVENT_ESTABLISHED  event  on
       the connect_evd_handle of the local Endpoint.

       When  the  timeout expired prior to completion of the Connection estab‐
       lishment, the local  Endpoint  is  automatically	 transitioned  into  a
       DAT_EP_STATE_UNDISCONNECTED  state  and	the  local  Consumer through a
       DAT_CONNECTION_EVENT_TIMED_OUT event on the connect_evd_handle  of  the
       local Endpoint.

RETURN VALUES
       DAT_SUCCESS
				     The operation was successful.

       DAT_INSUFFICIENT_RESOURCES
				     The operation failed due to resource lim‐
				     itations.

       DAT_INVALID_PARAMETER
				     Invalid parameter.

       DAT_INVALID_HANDLE
				     The ep_handle or dup_ep_handle  parameter
				     is invalid.

       DAT_INVALID_STATE
				     A parameter is in an invalid state.

       DAT_MODEL_NOT_SUPPORTED
				     The  requested  Model is not supported by
				     the Provider. For example, requested  qos
				     was not supported by the local Provider.

USAGE
       It  is  up  to the Consumer to negotiate outstanding RDMA Read incoming
       and outgoing with a remote peer. The  outstanding  RDMA	Read  outgoing
       attribute  should  be smaller than the remote Endpoint outstanding RDMA
       Read incoming attribute. If this is not the case, connection establish‐
       ment might fail.

       DAT  API	 does  not define a protocol on how remote peers exchange End‐
       point attributes. The exchange of outstanding RDMA  Read	 incoming  and
       outgoing	 attributes  of	 EPs is left to the Consumer ULP. The Consumer
       can use Private Data for it.

       If the Consumer does not care about posting  RDMA  Read	operations  or
       remote  RDMA Read operations on the connection, it can set the two out‐
       standing RDMA Read attribute values to 0.

       If the Consumer does not set the two outstanding RDMA  Read  attributes
       of  the	Endpoint,  the	Provider  is  free  to pick up any values as a
       default. The Provider is allowed to change these default values	during
       connection setup.

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)

				 Jul 16, 2004	      DAT_EP_DUP_CONNECT(3DAT)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net