Reset State

Under Software Control, Reset Is Entered From...

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.

Table 12-2. Reset-to-Initialized Modify QP Input Parameters
Input ParameterApplicable QP TypesRequired?Description
HCA HandleAllYesReturned by earlier Open HCA verb call.
QP HandleAllYesReturned by earlier Create QP verb call.
Next StateAllYesIn this case, the Initialized state.
Enable or disable the ability of the RQ Logic to handle incoming RDMA ReadsRC, RDYesSelf-explanatory.
Enable or disable the ability of the RQ Logic to handle incoming RDMA WritesRC, RD, UDYesSelf-explanatory.
Enable or disable the ability of the RQ Logic to handle incoming Atomic requestsRC, RDYesSelf-explanatory.
Primary P_Key indexRC, UC, and UDYes
  • 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_KeyUD and RDYes
  • 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 numberRC, UC, UDYesPhysical HCA port the QP will use to send and receive messages.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset