rdma_migrate_id

Moves a communication identifier to another 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 the pending events associated with the rdma_cm_id identifier to the new channel.

Notes:
  • You must not poll for current event channel on the rdma_cm_id identifiers or run any other routines on therdma_cm_id identifier when migrating between channels.
  • The rdma_migrate_id operation stops if any unacknowledged events are on the current event channel.
  • If the channel parameter is NULL, the specified rdma_cm_id identifier is placed into synchronous operation mode. All calls on the ID is blocked until the operation completes.

Parameters

Item Description
id Specifies the existing communication identifier to migrate.
channel Specifies the communication channel that the events associated with the allocated rdma_cm_id identifier reports. This parameter may be NULL.

Return Values

The rdma_migrate_id function returns 0 on success, or -1 on error. If an error occurs, errno indicates the reason for failure.