d6b92ffa99
kernel APIs. List of sources used: 1) rdma-core was cloned from "https://github.com/linux-rdma/rdma-core.git" Top commit d65138ef93af30b3ea249f3a84aa6a24ba7f8a75 2) OpenSM was cloned from git://git.openfabrics.org/~halr/opensm.git Top commit 85f841cf209f791c89a075048a907020e924528d 3) libibmad was cloned from "git://git.openfabrics.org/~iraweiny/libibmad.git" Tag 1.3.13 with some additional patches from Mellanox. 4) infiniband-diags was cloned from "git://git.openfabrics.org/~iraweiny/infiniband-diags.git" Tag 1.6.7 with some additional patches from Mellanox. Added the required Makefiles for building and installing. Sponsored by: Mellanox Technologies
92 lines
4.5 KiB
Groff
92 lines
4.5 KiB
Groff
.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
|
|
.TH "RDMA_CONNECT" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
|
|
.SH NAME
|
|
rdma_connect \- Initiate an active connection request.
|
|
.SH SYNOPSIS
|
|
.B "#include <rdma/rdma_cma.h>"
|
|
.P
|
|
.B "int" rdma_connect
|
|
.BI "(struct rdma_cm_id *" id ","
|
|
.BI "struct rdma_conn_param *" conn_param ");"
|
|
.SH ARGUMENTS
|
|
.IP "id" 12
|
|
RDMA identifier.
|
|
.IP "conn_param" 12
|
|
connection parameters. See CONNECTION PROPERTIES below for details.
|
|
.SH "DESCRIPTION"
|
|
For an rdma_cm_id of type RDMA_PS_TCP, this call initiates a connection request
|
|
to a remote destination. For an rdma_cm_id of type RDMA_PS_UDP, it initiates
|
|
a lookup of the remote QP providing the datagram service.
|
|
.SH "RETURN VALUE"
|
|
Returns 0 on success, or -1 on error. If an error occurs, errno will be
|
|
set to indicate the failure reason.
|
|
.SH "NOTES"
|
|
Users must have resolved a route to the destination address
|
|
by having called rdma_resolve_route or rdma_create_ep before calling
|
|
this routine.
|
|
.SH "CONNECTION PROPERTIES"
|
|
The following properties are used to configure the communication and specified
|
|
by the conn_param parameter when connecting or establishing datagram
|
|
communication.
|
|
.IP private_data
|
|
References a user-controlled data buffer. The contents of the buffer are
|
|
copied and transparently passed to the remote side as part of the
|
|
communication request. May be NULL if private_data is not required.
|
|
.IP private_data_len
|
|
Specifies the size of the user-controlled data buffer. Note that the actual
|
|
amount of data transferred to the remote side is transport dependent and may
|
|
be larger than that requested.
|
|
.IP responder_resources
|
|
The maximum number of outstanding RDMA read and atomic operations that the
|
|
local side will accept from the remote side. Applies only to RDMA_PS_TCP.
|
|
This value must be less than or equal to the local RDMA device attribute
|
|
max_qp_rd_atom and remote RDMA device attribute max_qp_init_rd_atom. The
|
|
remote endpoint can adjust this value when accepting the connection.
|
|
.IP initiator_depth
|
|
The maximum number of outstanding RDMA read and atomic operations that the
|
|
local side will have to the remote side. Applies only to RDMA_PS_TCP.
|
|
This value must be less than or equal to the local RDMA device attribute
|
|
max_qp_init_rd_atom and remote RDMA device attribute max_qp_rd_atom. The
|
|
remote endpoint can adjust this value when accepting the connection.
|
|
.IP flow_control
|
|
Specifies if hardware flow control is available. This value is exchanged
|
|
with the remote peer and is not used to configure the QP. Applies only to
|
|
RDMA_PS_TCP.
|
|
.IP retry_count
|
|
The maximum number of times that a data transfer operation should be retried
|
|
on the connection when an error occurs. This setting controls the number of
|
|
times to retry send, RDMA, and atomic operations when timeouts occur.
|
|
Applies only to RDMA_PS_TCP.
|
|
.IP rnr_retry_count
|
|
The maximum number of times that a send operation from the remote peer
|
|
should be retried on a connection after receiving a receiver not ready (RNR)
|
|
error. RNR errors are generated when a send request arrives before a buffer
|
|
has been posted to receive the incoming data. Applies only to RDMA_PS_TCP.
|
|
.IP srq
|
|
Specifies if the QP associated with the connection is using a shared receive
|
|
queue. This field is ignored by the library if a QP has been created on the
|
|
rdma_cm_id. Applies only to RDMA_PS_TCP.
|
|
.IP qp_num
|
|
Specifies the QP number associated with the connection. This field is ignored
|
|
by the library if a QP has been created on the rdma_cm_id. Applies only to
|
|
RDMA_PS_TCP.
|
|
.SH "INFINIBAND SPECIFIC"
|
|
In addition to the connection properties defined above, InfiniBand QPs are
|
|
configured with minimum RNR NAK timer and local ACK timeout values. The
|
|
minimum RNR NAK timer value is set to 0, for a delay of 655 ms.
|
|
The local ACK timeout is calculated based on the packet lifetime and local
|
|
HCA ACK delay. The packet lifetime is determined by the InfiniBand Subnet
|
|
Administrator and is part of the resolved route (path record) information.
|
|
The HCA ACK delay is a property of the locally used HCA.
|
|
.P
|
|
Retry count and RNR retry count values are 3-bit values.
|
|
.P
|
|
The length of the private data provided by the user is limited to 56 bytes
|
|
for RDMA_PS_TCP, or 180 bytes for RDMA_PS_UDP.
|
|
.SH "IWARP SPECIFIC"
|
|
Connections established over iWarp RDMA devices currently require that the
|
|
active side of the connection send the first message.
|
|
.SH "SEE ALSO"
|
|
rdma_cm(7), rdma_create_id(3), rdma_resolve_route(3), rdma_disconnect(3),
|
|
rdma_listen(3), rdma_get_cm_event(3)
|