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

Inherits C14_017.

Public Member Functions

 C14_017_03 ()
boolean execute () throws TestException

Protected Member Functions

boolean initialize () throws TestException

Detailed Description RESET 1 V1C14-017 M_KEY LEASE PERIOD TIMER

Abstract: Check that M_Key Lease Period timer is properly counts down when M_Key checking fails.

Coverage: v1c14-017, v1c14-019, v1c14-020, v1c14-021

Topology Configuration: SimpleLink: Tester=MAD Tester; Width=1X, 2X, 4X, 8X, or 12X; Speed=SDR, DDR, QDR, FDR, EDR, HDR; DUT=Node.

DUT Qualifiers: None.

Test Case Description


Assertions: v1c14-019#01

Notes: None

Developer: Kevin King

Test Procedure

◆ execute()

boolean execute ( ) throws TestException

Initialization: see Initialization

Test Procedure:

  1. SendMad( SubnGet(NodeInfo) where MADHeader:M_Key=M_KEY_OTHER )

    • Remark: This should result in an M_Key check failure, which causes the Lease Period Timer to start counting down.
    • Remark: This should result in an M_Key check failure, which causes the Lease Period Timer to start counting down.

  2. Wait DUT PortInfo:M_KeyLeasePeriod/2 seconds.

  3. SendMad( SubnGet(NodeInfo) where MADHeader:M_Key=M_KEY_DUT )

    • Remark: This should cause M_Key checking to succeed, which should cause the Lease Period Timer to stop counting down.

  4. ReceiveMad()

  5. Wait DUT PortInfo:M_KeyLeasePeriod/2 seconds.

  6. SendMad( SubnGet(PortInfo) where MADHeader:M_Key=M_KEY_DUT )

  7. SMP_DATA = ReceiveMad( SubnGetResp(PortInfo) )

    • PortInfo:M_KeyProtectBits == 2 or 3 // v1c14-019#01
      • Remark: Note that PortInfo:M_KeyProtectBits was not reset to 0, indicating that Lease Period Timer did not complete counting down to zero.

  8. Reset MKey = 0; ProtectBits = 0 and MKeyViolations = 0"

◆ initialize()

boolean initialize ( ) throws TestException
  1. DUT PortInfo:PortState = Initialize, Armed, or Active.

  2. DUT PortInfo:M_Key = M_KEY_DUT.

  3. DUT PortInfo:M_KeyProtectBits = M_KEY_PROTECT_BITS

  4. DUT PortInfo:M_KeyLeasePeriod = LEASE_PERIOD

  5. PortInfo:M_KeyViolations = M_KEY_VIOLATIONS

  6. SendMad()

  7. ReceiveMad()

  8. Verify MadStatus = 0

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