rdma_migrate_id — Move a communication identifier to a different event channel.

Synopsis

#include <rdma/rdma_cma.h>

int rdma_migrate_id (struct rdma_cm_id *id, struct rdma_event_channel *channel);

Arguments

id

An existing communication identifier to migrate.

channel

The communication channel that events associated with the allocated rdma_cm_id will be reported on.  May be NULL.

Description

Migrates a communication identifier to a different event channel.

Return Value

Returns 0 on success, or -1 on error.  If an error occurs, errno will be set to indicate the failure reason.

Notes

This routine migrates a communication identifier to the specified event channel and moves any pending events associated with the rdma_cm_id to the new channel.  Users should not poll for events on the rdma_cm_id's current event channel or invoke other routines on the rdma_cm_id while migrating between channels.  This call will block while there are any unacknowledged events on the current event channel.

If the channel parameter is NULL, the specified rdma_cm_id will be placed into synchronous operation mode.  All calls on the id will block until the operation completes.

See Also

rdma_cm(7), rdma_create_event_channel(3), rdma_create_id(3), rdma_get_cm_event(3)

Referenced By

rdma_cm(7), rdma_create_ep(3).

2007-11-13 Librdmacm Programmer's Manual