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

Inherits C14_017.

Public Member Functions

 C14_017_05 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.4.5.5 COMPONENT IS 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_05()

24.1.4.5.5 M_KEY LEASE PERIOD TIMER COMPONENT IS ZERO

Assertions: v1c14-021#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.

  2. Wait for a period of time long enough to confirm that the Lease Period Timer doesn't expire.

    • Remark: Worst case is to wait for 0xFFFF+1 seconds (around 18 hours) to confirm that the Lease Period Timer hasn't expired. Alternatively, an out-of band device-specific mechanism may have to be used to check for a non-expiring Lease Period Timer.

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

  4. SMP_DATA = ReceiveMad( SubnGetResp(PortInfo) )

  5. Verify SMP_DATA format:

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

  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: