The QP is fully operational when in the Ready to Send (RTS) state. Messages can be received and sent.
...the RTR, SQD, or SQE state. Software transitions a QP from one of these states to the RTS state using the Modify QP verb call.
When a QP is in the RTS state, it has the following operational characteristics:
For RC, UC, and RD:
- On the CA that initiated the connection establishment, the communications management REQ message must have been sent and the corresponding REP message received before transitioning this QP to the RTS state.
- On the CA that sent the REP message, the RTU message must have been received before transitioning its QP to the RTS state (it will also automatically go to RTS upon receipt of the first request packet from the remote QP's SQ Logic).
Under software control using the Modify QP verb, transition into the RTS state is only possible from the RTR, SQE, and SQD states.
Other than by execution of the Destroy QP verb, the Modify QP verb is the only way software can cause the QP to exit the RTS state. Using the Modify QP verb, software can set the next state to SQD, Error, or Reset.
WRs can be posted to the SQ and RQ.
WQEs on both queues are processed normally.
An incoming message (a Send or an RDMA Write With Immediate) targeting the QP is processed normally by the next RQ WQE. If RC or RD, this includes generating an Ack (or a Nak) for the request packet received.
From the RTS state, software may transition the QP to the SQ Drain (SQD) state in preparation for modifying the QP's operational characteristics. To do so, software executes the Modify QP verb call and supplies the input parameters defined in Table 12-5 on page 249. Note that no optional parameters are permitted. Note that using the Modify QP verb, software can command the QP to enter the Reset or the Error state.
Input Parameter(s) | Applicable QP Types | Required? | Description |
---|---|---|---|
HCA Handle | All | Yes | Returned by earlier Open HCA verb call. |
QP handle | All | Yes | Returned by earlier Create QP verb call. |
Next State | All | Yes | In this case, the SQD state. |
Affiliated Asynchronous Event notification | All | No | See “Event Notification Signals SQ Quiescence” on page 251. |