Preparing an HCA GSI for Use

When a privileged application (i.e., a GSM) wishes to use a port's GSI to transmit and receive GMPs, software activates the port's GSI (i.e., its QP1) by first creating the CQ(s) to be associated with the QP's SQ and RQ (using the Create CQ verb). A GSI QP cannot share a CQ with any QP other than another GSI or an SMI. An attempt to do so results in the return of an immediate Invalid CQ Handle error.

After creation of the required CQ(s), software then executes the Get Special QP verb with the following input parameters:

  • HCA Handle. Identifies the HCA on which the QP is to be activated.

  • HCA port number. Identifies the HCA port whose GSI is being activated.

  • QP type requested. The allowed types are:

    - SMI QP (QP0).

    - GSI QP (QP1). This is the type indicated in this case.

    - Raw IPv6.

    - Raw Ethertype.

  • Protection Domain. Identifies the PD that the QP is to be a member of.

  • The handle(s) of the CQ(s) to be associated with the GSI's SQ and RQ.

  • Requested SQ and RQ size. The maximum number of outstanding WRs software expects to post to the GSI's SQ and RQ.

  • Requested SQ Gather Buffer List size. The maximum number of Gather Buffer List elements software expects to specify in any WR posted to the GSI's SQ.

  • Requested RQ Scatter Buffer List size. The maximum number of Scatter Buffer List elements software expects to specify in any WR posted to the GSI's RQ.

  • The Signaling Type for the GSI's SQ. The valid types are:

    - All WRs posted to the SQ always generate a CQE.

    - In each WR posted to the SQ, software must specify whether to generate a CQE for a successful transfer or only if there is an error.

The output parameters returned to the caller are:

  • QP handle. This handle must used when making any subsequent Query QP, Modify QP, or Destroy QP verb calls.

  • The actual size of the SQ. If an error is not returned, this is guaranteed to be ≥ to the number requested (note that this may require software to increase the size of the SQ's CQ).

  • The actual size of the RQ. If an error is not returned, this is guaranteed to be greater than or equal to the number requested (note that this may require software to increase the size of the RQ's CQ).

  • The actual maximum number of Gather Buffer List elements that can be specified in WRs posted to the SQ. If an error is not returned, this is guaranteed to be ≥ the number requested.

  • The actual maximum number of Scatter Buffer List elements that can be specified in WRs posted to the RQ. If an error is not returned, this is guaranteed to be ≥ the number requested.

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

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