DAT_RMR_FREE(3DAT) Direct Access Transport Library Functions DAT_RMR_FREE(3DAT)

dat_rmr_free - destroy an instance of the RMR

cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>
DAT_RETURN

dat_rmr_free (
IN DAT_RMR_HANDLE rmr_handle
)

rmr_handle

Handle for an instance of the RMR to be destroyed.

The dat_rmr_free() function destroys an instance of the RMR.

Use of the handle of the destroyed RMR in any subsequent operation except for the dat_rmr_free() fails. Any remote RDMA operation that uses the destroyed RMR rmr_context, whose Transport-specific request arrived to the local host after the dat_rmr_free() has completed, fails and reports a protection violation. Remote RDMA operation that uses the destroyed RMR rmr_context, whose Transport-specific request arrived to the local host prior to the dat_rmr_free() return, might or might not complete successfully. If it fails, DAT_DTO_ERR_REMOTE_ACCESS is reported in DAT_DTO_COMPLETION_STATUS for the remote RDMA DTO and the connection is broken.

The dat_rmr_free() function is allowed on either bound or unbound RMR. If RMR is bound, dat_rmr_free() unbinds (free HCA TPT and other resources and whatever else binds with length of 0 should do), and then free RMR.

DAT_SUCCESS

The operation was successful.

DAT_INVALID_HANDLE

The rmr_handle handle is invalid.

See attributes(7) for descriptions of the following attributes:

ATTRIBUTE TYPE ATTRIBUTE VALUE
Interface Stability Standard: uDAPL, 1.1, 1.2
MT-Level Unsafe

libdat(3LIB), attributes(7)

July 16, 2004 OmniOS