The Reset state is entered on QP creation. When software executes the Create QP verb call, the verb commands the HCA logic to create (or reserve) the basic resources necessary for QP operation (e.g., SQ, RQ, and QP Context data structure). At this point, the QP is in the Reset state and is not ready for operation. Using the Modify QP verb, software can command the QP to enter the Reset state from any other state.
Reset State Operational Characteristics
When a QP is in the Reset state, it has the following operational characteristics:
The QP's SQ and RQ, as well as their respective CQs, are empty. Please note that if the QP shares its CQs with other QPs, those CQs may contain CQEs posted by other QPs.
It's illegal to post WRs to its SQ or RQ. An attempt to do so results in the return of an immediate error.
WQE processing on both queues is disabled.
If any incoming packet targets this QP, it is silently dropped.
Next State (via software command) = Initialized
From the Reset state, the only valid state that software may transition the QP to is the Initialized state. To do so, software executes the Modify QP verb call and supplies the input parameters defined in Table 12-2 on this page.
Enable or disable the ability of the RQ Logic to handle incoming RDMA Reads
RC, RD
Yes
Self-explanatory.
Enable or disable the ability of the RQ Logic to handle incoming RDMA Writes
RC, RD, UD
Yes
Self-explanatory.
Enable or disable the ability of the RQ Logic to handle incoming Atomic requests
RC, RD
Yes
Self-explanatory.
Primary P_Key index
RC, UC, and UD
Yes
Usage on outbound request packets:
Whenever this QP's SQ Logic generates an outbound request packet to its associated HCA port, it provides this value as an index into the port's P_KeyTable attribute. The P_Key contained in the selected entry is inserted into the packet's BTH:P_Key field.
Usage on inbound request packet:
When an inbound request packet is received by the port associated with a QP, the packet's BTH:P_Key is compared to the entry in the port's P_KeyTable attribute selected by the Primary P_Key index value stored in the destination QP's Context.
Not applicable on a non-IBA QP or on a RD
QP.
Q_Key
UD and RD
Yes
Usage on outbound request packets:
When WR posted to RD/UD QP's SQ, software supplies Q_Key assigned to destination QP. Q_Key inserted in outbound request packets:
- If the WR's Q_Key msb = 0, that Q_Key is inserted in packet's BTH:Q_Key field.
- Otherwise, Q_Key of local QP inserted in packet's BTH:Q_Key field.
Usage on inbound request packet:
Packet's BTH:Q_Key compared to destination QP's Q_Key.
HCA port number
RC, UC, UD
Yes
Physical HCA port the QP will use to send and receive messages.