|RDMA_NOTIFY(3)||Librdmacm Programmer's Manual||RDMA_NOTIFY(3)|
rdma_notify - Notifies the librdmacm of an asynchronous event.
int rdma_notify (struct rdma_cm_id *id, enum ibv_event_type event);
Used to notify the librdmacm of asynchronous events that have occurred on a QP associated with the rdma_cm_id.
Returns 0 on success, or -1 on error. If an error occurs, errno will be set to indicate the failure reason. If errno is set to EISCONN (transport endpoint is already connected), this indicates that the the underlying communication manager established the connection before the call to rdma_notify could be processed. In this case, the error may safely be ignored.
Asynchronous events that occur on a QP are reported through the user's device event handler. This routine is used to notify the librdmacm of communication events. In most cases, use of this routine is not necessary, however if connection establishment is done out of band (such as done through Infiniband), it's possible to receive data on a QP that is not yet considered connected. This routine forces the connection into an established state in this case in order to handle the rare situation where the connection never forms on its own. Calling this routine ensures the delivery of the RDMA_CM_EVENT_ESTABLISHED event to the application. Events that should be reported to the CM are: IB_EVENT_COMM_EST.