Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\" Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
.TH "RDMA_REG_READ" 3 "2010-07-19" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
.SH NAME
rdma_reg_read \- register data buffer(s) for remote RDMA read access.
.SH SYNOPSIS
.B "#include <rdma/rdma_verbs.h>"
.P
.B "struct ibv_mr *" rdma_reg_read
.BI "(struct rdma_cm_id *" id ","
.BI "void *" addr ","
.BI "size_t " length ");"
.SH ARGUMENTS
.IP "id" 12
A reference to a communication identifier where the message buffer(s)
will be used.
.IP "addr" 12
The address of the memory buffer(s) to register.
.IP "length" 12
The total length of the memory to register.
.SH "DESCRIPTION"
Registers a memory buffer that will be accessed by a remote RDMA read
operation.  Memory buffers registered using rdma_reg_read may be
targeted in an RDMA read request, allowing the buffer to be
specified on the remote side of an RDMA connection as the remote_addr
of rdma_post_read, or similar call.
.SH "RETURN VALUE"
Returns a reference to the registered memory region on success, or NULL on
error.  If an error occurs, errno will be set to indicate the failure reason.
.SH "NOTES"
rdma_reg_read is used to register a data buffer that will be the
target of an RDMA read operation on a queue pair associated with
an rdma_cm_id.  The memory buffer is registered with the proteection
domain associated with the idenfier.  The start of the data buffer
is specified through the addr parameter, and the total size of the buffer
is given by length.
.P
All data buffers should be registered before being posted as a work request.
Users must deregister all registered memory by calling rdma_dereg_mr.
.SH "SEE ALSO"
rdma_cm(7), rdma_create_id(3), rdma_create_ep(3),
rdma_reg_msgs(3), rdma_reg_write(3),
ibv_reg_mr(3), ibv_dereg_mr(3), rdma_post_read(3)