PDs and UD Service

Background On Address Handles

In order to send request packets to an UD QP on a remote CA, the following actions must be accomplished:

  1. Create a local UD QP and assign it to a PD.

  2. Prior to any attempt to send any messages to an UD destination, software must first execute a Create Address Handle verb call, providing the following as input parameters (note that this is a partial list):

    - The LID or GID of the destination port behind which the target UD QP resides.

    - The PD that is being assigned to this destination port.

    - The handle that identifies the HCA on which the Address Handle is to be created.

  3. To send a message to a remote UD QP, software then posts a WR to a local UD QP's SQ and supplies the following as input parameters (note that this is a partial list):

    - The Address Handle that identifies the remote port behind which the destination UD QP resides.

    - The QPN of the destination remote UD QP.

  4. The local UD QP's SQ will not accept the WR (i.e., it will generate an error) if the local QP's PD (assigned when the local QP was created) does not match the PD that was assigned to the destination Address Handle contained in the WR (the PD was assigned to that destination when the Address Handle was created). If the PDs match, the WR is accepted and the WQE will be executed when it reaches the head of the SQ.

PDs and Address Handles

The following rules apply regarding the association of PDs and Address Handles:

  • The PD must be created (i.e., allocated) before the creation of any Address Handle that will be a member of that PD.

  • Each Address Handle is a member of a single PD.

  • Multiple Address Handles can be members of the same PD.

  • A PD cannot be destroyed if any Address Handle (or QP, window, or region) is still a member of that PD.

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

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