Home

rdmacreateeventchannel

rdma_create_event_channel is a function in the RDMA Connection Manager (RDMA CM) API used to create an event channel for receiving asynchronous RDMA CM events in user space. It returns a pointer to a structure representing the event channel, or NULL if the creation fails.

An event channel serves as the conduit through which an application receives notifications about RDMA CM state

Usage pattern typically involves creating the event channel, creating a RDMA ID tied to that channel, initiating

Notes and considerations include that the event channel may be monitored using poll or select on its

See also: rdma_create_id, rdma_resolve_addr, rdma_resolve_route, rdma_get_cm_event, rdma_ack_cm_event, rdma_destroy_event_channel.

changes
and
connection-related
events.
Common
events
include
address
resolution
results,
route
resolution
results,
connection
requests,
established
connections,
and
disconnects.
Events
retrieved
from
the
channel
are
obtained
with
rdma_get_cm_event
and
must
be
acknowledged
after
processing
by
calling
rdma_ack_cm_event.
The
channel
is
typically
associated
with
a
specific
RDMA
communication
identifier
created
via
rdma_create_id.
address
or
route
resolution,
and
then
entering
a
loop
that
calls
rdma_get_cm_event
to
handle
incoming
events.
After
handling
each
event,
the
application
should
acknowledge
it
with
rdma_ack_cm_event.
When
the
connection
or
application
is
finished,
the
event
channel
should
be
destroyed
with
rdma_destroy_event_channel
to
release
resources.
underlying
file
descriptor,
enabling
asynchronous
event
handling
without
busy-waiting.
The
lifetime
of
the
channel
is
managed
by
the
application;
it
should
be
destroyed
when
no
longer
needed.
This
API
is
distinct
from
completion
queues
used
for
work
completions
and
is
specifically
oriented
toward
RDMA
CM
state
and
connection
management
events.