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

Inherits C14_017.

Public Member Functions

 C14_017_01 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.4.5.1 COUNTS DOWN TO ZERO

24.1.4.5 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

◆ C14_017_01()

24.1.4.5.1 M_KEY LEASE PERIOD TIMER COUNTS DOWN TO ZERO

Assertions: v1c14-017#01, v1c14-020#01

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.

  2. Wait for Lease Period Timer to count down to zero, which should be DUT PortInfo:M_KeyLeasePeriod seconds.

  3. SendMad( SubnGet(PortInfo) )

  4. SMP_DATA = ReceiveMad( SubnGetResp(PortInfo) )

  5. Verify SMP_DATA format:

    • PortInfo:M_KeyProtectBits == 0 // v1c14-017#01, v1c14-020#01
      • Remark: Note that PortInfo:M_KeyProtectBits is now 0 (was initially 2 or 3), indicating that Lease Period Timer counted down to zero.
    • PortInfo:M_KeyViolations = 1

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

◆ initialize()

boolean initialize ( ) throws TestException
protectedinherited
  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: