Provided by: librdmacm-dev_1.0.16-1_amd64
NAME
rsocket - RDMA socket API
SYNOPSIS
#include <rdma/rsocket.h>
DESCRIPTION
RDMA socket API and protocol
NOTES
rsockets is a protocol over RDMA that supports a socket-level API for applications. rsocket APIs are intended to match the behavior of corresponding socket calls, except where noted. rsocket functions match the name and function signature of socket calls, with the exception that all function calls are prefixed with an 'r'. The following functions are defined: rsocket rbind, rlisten, raccept, rconnect rshutdown, rclose rrecv, rrecvfrom, rrecvmsg, rread, rreadv rsend, rsendto, rsendmsg, rwrite, rwritev rpoll, rselect rgetpeername, rgetsockname rsetsockopt, rgetsockopt, rfcntl Functions take the same parameters as that use for sockets. The follow capabilities and flags are supported at this time: PF_INET, PF_INET6, SOCK_STREAM, IPPROTO_TCP, TCP_MAXSEG MSG_DONTWAIT, MSG_PEEK SO_REUSEADDR, TCP_NODELAY, SO_ERROR, SO_SNDBUF, SO_RCVBUF O_NONBLOCK In addition to standard socket options, rsockets supports options specific to RDMA devices and protocols. These options are accessible through rsetsockopt using SOL_RDMA option level. RDMA_SQSIZE - Integer size of the underlying send queue. RDMA_RQSIZE - Integer size of the underlying receive queue. RDMA_INLINE - Integer size of inline data. Note that rsockets fd's cannot be passed into non-rsocket calls. For applications which must mix rsocket fd's with standard socket fd's or opened files, rpoll and rselect support polling both rsockets and normal fd's. Existing applications can make use of rsockets through the use of a preload library. Because rsockets implements an end-to-end protocol, both sides of a connection must use rsockets. The rdma_cm library provides such a preload library, librspreload. To reduce the chance of the preload library intercepting calls without the user's explicit knowledge, the librspreload library is installed into %libdir%/rsocket subdirectory. The preload library can be used by setting LD_PRELOAD when running. Note that not all applications will work with rsockets. Support is limited based on the socket options used by the application. Additionally, applications which call fork are not supported. rsockets uses configuration files that give an administrator control over the default settings used by rsockets. Use files under %sysconfig%/rdma/rsocket as shown: mem_default - default size of receive buffer(s) wmem_default - default size of send buffer(s) sqsize_default - default size of send queue rqsize_default - default size of receive queue inline_default - default size of inline data If configuration files are not available, rsockets uses internal defaults.
SEE ALSO
rdma_cm(7)