rdma_migrate_id

Moves an rdma_cm_id to a new event channel.

Syntax

#include <rdma/rdma_cma.h>
int rdma_migrate_id(struct rdma_cm_id *id, struct rdma_event_channel *channel);

Description

The rdma_migrate_id function migrates a communication identifier to a different event channel and moves any pending events associated with the rdma_cm_id to the new channel.

Notes:
  • You must not poll for events on the rdma_cm_id's current event channel or run any other routines on the rdma_cm_id while migrating between channels.
  • The rdma_migrate_id operation stops if there are any unacknowledged events on the current event channel.

Parameters

id Specifies the communication identifier to migrate.
channel Specifies the new event channel for the rdma_cm_id events.

Return Values

The rdma_migrate_id function returns the following values:
0 On success.
-1 Error, see errno.
-EINVAL If the channel or id parameter is NULL.
-ENODATA The write operation on channel->fd failed.
[ Feedback ]