trusty (7) rsocket.7.gz

Provided by: librdmacm-dev_1.0.16-1_amd64 bug

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)