Transport Modes
There are several different transport modes you may select from when establishing a QP. Operations available in each mode are shown below in the table below. RD is not supported by this API.
Operation | UD | UC | RC | RD |
Send (with immediate) | + | + | + | + |
Receive | + | + | + | + |
RDMA Write (with immediate) | + | + | + | |
RDMA Read | + | + | ||
Atomic: Fetch and Add/ Cmp and Swap | + | + | ||
Max message size | MTU | 1GB | 1GB | 1GB |
Queue Pair is associated with only one other QP. Messages transmitted by the send queue of one QP are reliably delivered to receive queue of the other QP. Packets are delivered in order. A RC connection is very similar to a TCP connection.
A Queue Pair is associated with only one other QP. The connection is not reliable so packets may be lost. Messages with errors are not retried by the transport, and error handling must be provided by a higher level protocol.
A Queue Pair may transmit and receive single-packet messages to/from any other UD QP. Ordering and delivery are not guaranteed, and delivered packets may be dropped by the receiver. Multicast messages are supported (one to many). A UD connection is very similar to a UDP connection.