InfiniBand Test Specification  1.0.38
Public Member Functions | Protected Member Functions | List of all members
C09_060_05_01

Inherits TransportTest.

Public Member Functions

 C09_060_05_01 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

9.7.0.1 V1C09-060 RELIABLE SERVICE COMPLETION RULES

Abstract: This test verifies the completion rules for Reliable Services.

Coverage: v1c09-060

Topology Configuration: SimpleLink: Tester=Transport Tester; Width=1X, 4X, or 12X; DUT=xCA

Test Case Description

◆ C09_060_05_01()

9.7.0.1.5 V1C09-060 RC RDMA Read Case (inverted requester/responder)

Assertions: V1c09-060#05

Notes:

  • The TT (as requester) will post a RC RDMA Read request expecting RDMA Read responses from the DUT (as responder)
  • Variable CC as structure of type ChannelContext_t
  • Variable READWQE as structure of type RcReadDut_t
  • Variables PACKET_IN, PACKET_OUT as structure of type PacketType_t
  • Variable COMPLETE as structure of type PollDut_t
  • Variable N of type Integer for loops

Developer: Llolsten Kaonga

Test Procedure

◆ initialize()

boolean initialize ( ) throws TestException
protected

Initialization:

  1. OpenRcChannel( CC ) // (reliable connection)

◆ execute()

boolean execute ( ) throws TestException

Test Procedure:

  1. Register memory region for receiving remote packets

  2. Post one receive request for each expected packet from DUT

  3. Transmit 2 RDMA Read Request WQEs from TT at size (3 * PMTU). Each response message from DUT will contain 3 packets.

  4. Transmit RDMA Read Request Packet

    • PACKET_OUT.HeaderMask = LOCAL | RDMA_READ_REQ
    • PACKET_OUT.BTH_OpCode = RDMA_READ_REQ
    • CC.TT_TxReqPSN = Mod( CC.Start_PSN + 0, 2^24)
    • PACKET_OUT.BTH_AckReq = 1
    • PACKET_OUT.RETH_vaddr = DUT buffer address
    • PACKET_OUT.RETH_rkey = DUT rkey
    • PACKET_OUT.RETH_dmaLength = PMTU * 3
    • TransportTxPacket( CC, PACKET_OUT )

  5. Transmit RDMA Read Request Packet

    • PACKET_OUT.HeaderMask = LOCAL | RDMA_READ_REQ
    • PACKET_OUT.BTH_OpCode = RDMA_READ_REQ
    • CC.TT_TxReqPSN = Mod( CC.Start_PSN + 3, 2^24)
    • PACKET_OUT.BTH_AckReq = 1
    • PACKET_OUT.RETH_vaddr = DUT buffer address
    • PACKET_OUT.RETH_rkey = DUT rkey
    • PACKET_OUT.RETH_dmaLength = PMTU * 3
    • TransportTxPacket( CC, PACKET_OUT )

  6. Receive all expected packets

  7. Verify all packets were received and were valid

  8. Verify each packet contains the correct number of bytes (PMTU)

  9. Verify RDMA Read Response First and Last packets contain properly formatted AETH and Middle packets do not contain an AETH

  10. CloseRcChannel( CC )

    • Remark: Flush unacknowledged WQE.


The documentation for this class was generated from the following file: