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

Inherits C14_017.

Public Member Functions

 C14_017_04 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.4.5.4 RESET 2

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_04()

24.1.4.5.4 M_KEY LEASE PERIOD TIMER RESET 2

Assertions: v1c14-017#02

Notes: None

Developer: Kevin King

Test Procedure

◆ execute()

boolean execute ( ) throws TestException

Initialization: see Initialization

Test Procedure:

  1. SendMad( SubnSet(PortInfo) 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 DUT PortInfo:M_KeyLeasePeriod/2 seconds.

  3. SendMad( SubnSet(PortInfo) where MADHeader:M_Key=M_KEY_OTHER )

    • Remark: This should result in an M_Key check failure, but still should not cause the Lease Period Timer to re-start counting down.

  4. Wait DUT PortInfo:M_KeyLeasePeriod/4 seconds.

  5. SendMad( SubnSet(PortInfo) where MADHeader:M_Key=M_KEY_OTHER )

    • Remark: This should result in another M_Key check failure, but still should not cause the Lease Period Timer to re-start counting down.

  6. Wait DUT PortInfo:M_KeyLeasePeriod/2 seconds.

  7. SendMad( SubnGet(PortInfo) )

  8. SMP_DATA = ReceiveMad( SubnGetResp(PortInfo) )

  9. Verify SMP_DATA format:

    • PortInfo:M_KeyProtectBits == 0 // v1c14-017#02

  10. 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: