The communication manager (RDMA_CM) is used to setup reliable connection data transfers. The communication manager provides an RDMA transport neutral interface for establishing connections. The API is based on sockets, but adapted for queue pair (QP) based semantics: communication is over a specific RDMA device, and data transfers are message based.
The RDMA CM via the librdmacm library provides only the communication management (connection setup and teardown) portion of an RDMA API. It works in conjunction with the verbs API via the libibverbs library for data transfers.