rdma_get_cm_event man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

RDMA_GET_CM_EVENT(3)	 Librdmacm Programmer's Manual	  RDMA_GET_CM_EVENT(3)

NAME
       rdma_get_cm_event - Retrieves the next pending communication event.

SYNOPSIS
       #include <rdma/rdma_cma.h>

       int   rdma_get_cm_event	(struct	 rdma_event_channel  *channel,	struct
       rdma_cm_event **event);

ARGUMENTS
       channel	   Event channel to check for events.

       event	   Allocated information about the next communication event.

DESCRIPTION
       Retrieves a communication event.	 If no events are pending, by default,
       the call will block until an event is received.

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

NOTES
       The default synchronous behavior of this routine can be changed by mod‐
       ifying  the  file  descriptor  associated  with the given channel.  All
       events  that   are   reported   must   be   acknowledged	  by   calling
       rdma_ack_cm_event.   Destruction	 of  an	 rdma_cm_id  will  block until
       related events have been acknowledged.

EVENT DATA
       Communication event details are returned in  the	 rdma_cm_event	struc‐
       ture.   This  structure is allocated by the rdma_cm and released by the
       rdma_ack_cm_event routine.  Details of the rdma_cm_event structure  are
       given below.

       id	   The	rdma_cm	 identifier associated with the event.	If the
		   event type is RDMA_CM_EVENT_CONNECT_REQUEST, then this ref‐
		   erences a new id for that communication.

       listen_id   For	RDMA_CM_EVENT_CONNECT_REQUEST event types, this refer‐
		   ences the corresponding listening request identifier.

       event	   Specifies the type of communication event  which  occurred.
		   See EVENT TYPES below.

       status	   Returns  any asynchronous error information associated with
		   an event.  The status is zero if the operation was success‐
		   ful,	 otherwise  the status value is non-zero and is either
		   set to an errno or a transport specific value.  For details
		   on  transport  specific  status  values, see the event type
		   information below.

       param	   Provides additional details based on	 the  type  of	event.
		   Users  should  select the conn or ud subfields based on the
		   rdma_port_space  of	the  rdma_cm_id	 associated  with  the
		   event.  See UD EVENT DATA and CONN EVENT DATA below.

UD EVENT DATA
       Event   parameters   related  to	 unreliable  datagram  (UD)  services:
       RDMA_PS_UDP  and	 RDMA_PS_IPOIB.	  The  UD  event  data	is  valid  for
       RDMA_CM_EVENT_ESTABLISHED   and	 RDMA_CM_EVENT_MULTICAST_JOIN  events,
       unless stated otherwise.

       private_data
		   References  any   user-specified   data   associated	  with
		   RDMA_CM_EVENT_CONNECT_REQUEST  or RDMA_CM_EVENT_ESTABLISHED
		   events.  The data referenced by  this  field	 matches  that
		   specified  by  the remote side when calling rdma_connect or
		   rdma_accept.	 This field is NULL  if	 the  event  does  not
		   include  private  data.   The  buffer  referenced  by  this
		   pointer is deallocated when calling rdma_ack_cm_event.

       private_data_len
		   The size of the private data	 buffer.   Users  should  note
		   that the size of the private data buffer may be larger than
		   the amount of private data sent by the  remote  side.   Any
		   additional space in the buffer will be zeroed out.

       ah_attr	   Address  information needed to send data to the remote end‐
		   point(s).  Users should use this structure when  allocating
		   their address handle.

       qp_num	   QP number of the remote endpoint or multicast group.

       qkey	   QKey needed to send data to the remote endpoint(s).

CONN EVENT DATA
       Event  parameters  related  to connected QP services: RDMA_PS_TCP.  The
       connection  related  event  data	 is   valid   for   RDMA_CM_EVENT_CON‐
       NECT_REQUEST and RDMA_CM_EVENT_ESTABLISHED events, unless stated other‐
       wise.

       private_data
		   References any  user-specified  data	 associated  with  the
		   event.   The	 data  referenced  by  this field matches that
		   specified by the remote side when calling  rdma_connect  or
		   rdma_accept.	  This	field  is  NULL	 if the event does not
		   include  private  data.   The  buffer  referenced  by  this
		   pointer is deallocated when calling rdma_ack_cm_event.

       private_data_len
		   The	size  of  the  private data buffer.  Users should note
		   that the size of the private data buffer may be larger than
		   the	amount	of  private data sent by the remote side.  Any
		   additional space in the buffer will be zeroed out.

       responder_resources
		   The number of responder resources requested of the  recipi‐
		   ent.	  This	field matches the initiator depth specified by
		   the remote node when calling rdma_connect and rdma_accept.

       initiator_depth
		   The maximum number of outstanding RDMA  read/atomic	opera‐
		   tions  that the recipient may have outstanding.  This field
		   matches the responder resources  specified  by  the	remote
		   node when calling rdma_connect and rdma_accept.

       flow_control
		   Indicates if hardware level flow control is provided by the
		   sender.

       retry_count For RDMA_CM_EVENT_CONNECT_REQUEST  events  only,  indicates
		   the	number	of  times that the recipient should retry send
		   operations.

       rnr_retry_count
		   The	number	of  times  that	 the  recipient	 should	 retry
		   receiver not ready (RNR) NACK errors.

       srq	   Specifies if the sender is using a shared-receive queue.

       qp_num	   Indicates the remote QP number for the connection.

EVENT TYPES
       The following types of communication events may be reported.

       RDMA_CM_EVENT_ADDR_RESOLVED
	      Address resolution (rdma_resolve_addr) completed successfully.

       RDMA_CM_EVENT_ADDR_ERROR
	      Address resolution (rdma_resolve_addr) failed.

       RDMA_CM_EVENT_ROUTE_RESOLVED
	      Route resolution (rdma_resolve_route) completed successfully.

       RDMA_CM_EVENT_ROUTE_ERROR
	      Route resolution (rdma_resolve_route) failed.

       RDMA_CM_EVENT_CONNECT_REQUEST
	      Generated	 on  the passive side to notify the user of a new con‐
	      nection request.

       RDMA_CM_EVENT_CONNECT_RESPONSE
	      Generated on the active side to notify the user of a  successful
	      response	to  a  connection  request.   It  is only generated on
	      rdma_cm_id's that do not have a QP associated with them.

       RDMA_CM_EVENT_CONNECT_ERROR
	      Indicates that an error has occurred trying to  establish	 or  a
	      connection.  May be generated on the active or passive side of a
	      connection.

       RDMA_CM_EVENT_UNREACHABLE
	      Generated on the active side to notify the user that the	remote
	      server  is  not  reachable  or unable to respond to a connection
	      request.	If this event is generated in response to a UD QP res‐
	      olution  request	over  InfiniBand,  the event status field will
	      contain an errno, if negative, or the status result  carried  in
	      the IB CM SIDR REP message.

       RDMA_CM_EVENT_REJECTED
	      Indicates	 that a connection request or response was rejected by
	      the remote end point.  The event status field will  contain  the
	      transport	 specific  reject  reason if available.	 Under Infini‐
	      Band, this is the reject reason carried in the IB	 CM  REJ  mes‐
	      sage.

       RDMA_CM_EVENT_ESTABLISHED
	      Indicates that a connection has been established with the remote
	      end point.

       RDMA_CM_EVENT_DISCONNECTED
	      The connection has been disconnected.

       RDMA_CM_EVENT_DEVICE_REMOVAL
	      The local RDMA device associated with the	 rdma_cm_id  has  been
	      removed.	 Upon  receiving this event, the user must destroy the
	      related rdma_cm_id.

       RDMA_CM_EVENT_MULTICAST_JOIN
	      The multicast  join  operation  (rdma_join_multicast)  completed
	      successfully.

       RDMA_CM_EVENT_MULTICAST_ERROR
	      An  error	 either occurred joining a multicast group, or, if the
	      group had already been joined, on an existing group.  The speci‐
	      fied  multicast  group  is  no  longer  accessible and should be
	      rejoined, if desired.

       RDMA_CM_EVENT_ADDR_CHANGE
	      The network device associated with this ID through address reso‐
	      lution changed its HW address, eg following of bonding failover.
	      This event can serve as a hint for  applications	who  want  the
	      links  used  for	their  RDMA sessions to align with the network
	      stack.

       RDMA_CM_EVENT_TIMEWAIT_EXIT
	      The QP associated with a	connection  has	 exited	 its  timewait
	      state  and is now ready to be re-used.  After a QP has been dis‐
	      connected, it is maintained in a timewait state to allow any  in
	      flight  packets  to  exit the network.  After the timewait state
	      has completed, the rdma_cm will report this event.

SEE ALSO
       rdma_ack_cm_event(3),			 rdma_create_event_channel(3),
       rdma_resolve_addr(3), rdma_resolve_route(3), rdma_connect(3), rdma_lis‐
       ten(3), rdma_join_multicast(3), rdma_destroy_id(3), rdma_event_str(3)

librdmacm			  2007-10-31		  RDMA_GET_CM_EVENT(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net