RDMA Aware Networks Programming User Manual
User Manual:
Open the PDF directly: View PDF
Page Count: 216 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- RDMA Aware Networks Programming User Manual
- Table of Contents
- Revision History
- Glossary
- 1 RDMA Architecture Overview
- 2 RDMA-Aware Programming Overview
- 3 VPI Verbs API
- 3.1 Initialization
- 3.2 Device Operations
- 3.3 Verb Context Operations
- 3.4 Protection Domain Operations
- 3.4.1 ibv_reg_mr
- 3.4.2 ibv_dereg_mr
- 3.4.3 ibv_create_qp
- 3.4.4 ibv_destroy_qp
- 3.4.5 ibv_create_srq
- 3.4.6 ibv_modify_srq
- 3.4.7 ibv_destroy_srq
- 3.4.8 ibv_open_xrc_domain
- 3.4.9 ibv_create_xrc_srq
- 3.4.10 ibv_close_xrc_domain
- 3.4.11 ibv_create_xrc_rcv_qp
- 3.4.12 ibv_modify_xrc_rcv_qp
- 3.4.13 ibv_reg_xrc_rcv_qp
- 3.4.14 ibv_unreg_xrc_rcv_qp
- 3.4.15 ibv_create_ah
- 3.4.16 ibv_destroy_ah
- 3.5 Queue Pair Bringup (ibv_modify_qp)
- 3.6 Active Queue Pair Operations
- 3.6.1 ibv_query_qp
- 3.6.2 ibv_query_srq
- 3.6.3 ibv_query_xrc_rcv_qp
- 3.6.4 ibv_post_recv
- 3.6.5 ibv_post_send
- 3.6.6 ibv_post_srq_recv
- 3.6.7 ibv_req_notify_cq
- 3.6.8 ibv_get_cq_event
- 3.6.9 ibv_ack_cq_events
- 3.6.10 ibv_poll_cq
- 3.6.11 ibv_init_ah_from_wc
- 3.6.12 ibv_create_ah_from_wc
- 3.6.13 ibv_attach_mcast
- 3.6.14 ibv_detach_mcast
- 3.7 Event Handling Operations
- 3.8 Experimental APIs
- 4 RDMA_CM API
- 4.1 Event Channel Operations
- 4.2 Connection Manager (CM) ID Operations
- 4.2.1 rdma_create_id
- 4.2.2 rdma_destroy_id
- 4.2.3 rdma_migrate_id
- 4.2.4 rdma_set_option
- 4.2.5 rdma_create_ep
- 4.2.6 rdma_destroy_ep
- 4.2.7 rdma_resolve_addr
- 4.2.8 rdma_bind_addr
- 4.2.9 rdma_resolve_route
- 4.2.10 rdma_listen
- 4.2.11 rdma_connect
- 4.2.12 rdma_get_request
- 4.2.13 rdma_accept
- 4.2.14 rdma_reject
- 4.2.15 rdma_notify
- 4.2.16 rdma_disconnect
- 4.2.17 rdma_get_src_port
- 4.2.18 rdma_get_dst_port
- 4.2.19 rdma_get_local_addr
- 4.2.20 rdma_get_peer_addr
- 4.2.21 rdma_get_devices
- 4.2.22 rdma_free_devices
- 4.2.23 rdma_getaddrinfo
- 4.2.24 rdma_freeaddrinfo
- 4.2.25 rdma_create_qp
- 4.2.26 rdma_destroy_qp
- 4.2.27 rdma_join_multicast
- 4.2.28 rdma_leave_multicast
- 4.3 Event Handling Operations
- 5 RDMA Verbs API
- 6 Events
- 6.1 IBV Events
- 6.1.1 IBV_EVENT_CQ_ERR
- 6.1.2 IBV_EVENT_QP_FATAL
- 6.1.3 IBV_EVENT_QP_REQ_ERR
- 6.1.4 IBV_EVENT_QP_ACCESS_ERR
- 6.1.5 IBV_EVENT_COMM_EST
- 6.1.6 IBV_EVENT_SQ_DRAINED
- 6.1.7 IBV_EVENT_PATH_MIG
- 6.1.8 IBV_EVENT_PATH_MIG_ERR
- 6.1.9 IBV_EVENT_DEVICE_FATAL
- 6.1.10 IBV_EVENT_PORT_ACTIVE
- 6.1.11 IBV_EVENT_PORT_ERR
- 6.1.12 IBV_EVENT_LID_CHANGE
- 6.1.13 IBV_EVENT_PKEY_CHANGE
- 6.1.14 IBV_EVENT_SM_CHANGE
- 6.1.15 IBV_EVENT_SRQ_ERR
- 6.1.16 IBV_EVENT_SRQ_LIMIT_REACHED
- 6.1.17 IBV_EVENT_QP_LAST_WQE_REACHED
- 6.1.18 IBV_EVENT_CLIENT_REREGISTER
- 6.1.19 IBV_EVENT_GID_CHANGE
- 6.2 IBV WC Events
- 6.2.1 IBV_WC_SUCCESS
- 6.2.2 IBV_WC_LOC_LEN_ERR
- 6.2.3 IBV_WC_LOC_QP_OP_ERR
- 6.2.4 IBV_WC_LOC_EEC_OP_ERR
- 6.2.5 IBV_WC_LOC_PROT_ERR
- 6.2.6 IBV_WC_WR_FLUSH_ERR
- 6.2.7 IBV_WC_MW_BIND_ERR
- 6.2.8 IBV_WC_BAD_RESP_ERR
- 6.2.9 IBV_WC_LOC_ACCESS_ERR
- 6.2.10 IBV_WC_REM_INV_REQ_ERR
- 6.2.11 IBV_WC_REM_ACCESS_ERR
- 6.2.12 IBV_WC_REM_OP_ERR
- 6.2.13 IBV_WC_RETRY_EXC_ERR
- 6.2.14 IBV_WC_RNR_RETRY_EXC_ERR
- 6.2.15 IBV_WC_LOC_RDD_VIOL_ERR
- 6.2.16 IBV_WC_REM_INV_RD_REQ_ERR
- 6.2.17 IBV_WC_REM_ABORT_ERR
- 6.2.18 IBV_WC_INV_EECN_ERR
- 6.2.19 IBV_WC_INV_EEC_STATE_ERR
- 6.2.20 IBV_WC_FATAL_ERR
- 6.2.21 IBV_WC_RESP_TIMEOUT_ERR
- 6.2.22 IBV_WC_GENERAL_ERR
- 6.3 RDMA_CM Events
- 6.3.1 RDMA_CM_EVENT_ADDR_RESOLVED
- 6.3.2 RDMA_CM_EVENT_ADDR_ERROR
- 6.3.3 RDMA_CM_EVENT_ROUTE_RESOLVED
- 6.3.4 RDMA_CM_EVENT_ROUTE_ERROR
- 6.3.5 RDMA_CM_EVENT_CONNECT_REQUEST
- 6.3.6 RDMA_CM_EVENT_CONNECT_RESPONSE
- 6.3.7 RDMA_CM_EVENT_CONNECT_ERROR
- 6.3.8 RDMA_CM_EVENT_UNREACHABLE
- 6.3.9 RDMA_CM_EVENT_REJECTED
- 6.3.10 RDMA_CM_EVENT_ESTABLISHED
- 6.3.11 RDMA_CM_EVENT_DISCONNECTED
- 6.3.12 RDMA_CM_EVENT_DEVICE_REMOVAL
- 6.3.13 RDMA_CM_EVENT_MULTICAST_JOIN
- 6.3.14 RDMA_CM_EVENT_MULTICAST_ERROR
- 6.3.15 RDMA_CM_EVENT_ADDR_CHANGE
- 6.3.16 RDMA_CM_EVENT_TIMEWAIT_EXIT
- 6.1 IBV Events
- 7 Programming Examples Using IBV Verbs
- 8 Programming Examples Using RDMA Verbs
- Appendix A: Experimental APIs
- Appendix B: Verbs API for Extended Atomics Support
- Appendix C: User-Mode Memory Registration (UMR)
- Appendix D: Cross-Channel Communications Support