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

Inherits MadTest.

Public Member Functions

 C14_024_02 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

14.1.5.1 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - NODEDESCRIPTION

Abstract: This test performs checks of NodeDescription attribute and components. Included are tests for both Read-Only (RO) and Read-Write (RW) attribute components.

Coverage: v1c13-024, v1c14-024.1.1, v1c14-027, v1c14-030

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, unless specified in algorithm section.

Notes:

  1. Additional checking of method/attribute combinations is performed in tests for v1c14-003.
  2. SMP_DATA and SMP_DATA_UPDATE are variables of type MadPacketSpec.

Test Case Description

◆ C14_024_02()

14.1.5.1.1 NODEDESCRIPTION

Assertions: v1c13-024#06, v1c14-024.1.1#02.01, v1c14-024.1.1#02.02, v1c14-024.1.1#02.03, v1c14-027#01, v1c14-030#01

Notes:

  • Variable RO_COMP_LIST is the set of NodeDescription read-only components consisting of:

    • NodeDescription:NodeString

    Developer: Kevin King

Test Procedure

◆ initialize()

boolean initialize ( ) throws TestException
protected

Initialization:

  1. DUT PortInfo:PortState = Initialize, Armed, or Active.

◆ execute()

boolean execute ( ) throws TestException

Test Procedure:

  1. SendMad ( SubnGet(NodeDescription) )

  2. ORIGINAL_NODE_DESCRIPTION = ReceiveMad( SubnGetResp(NodeDescription) )

  3. Verify SMP_DATA format:

    • MADHeader:AttributeID == NodeDescription
    • MADHeader:AttributeModifier == 0x0

  4. SMP_DATA_UPDATE = SMP_DATA

  5. For each component in RO_COMP_LIST do

    • Remark: NodeDecription RO components.
      1. UPDATED_NODE_DESCRIPTION.component={different value from what it currently has}

  6. SendMad( SubnSet(NodeDescription) where MADHeader:SMPData=UPDATED_NODE_DESCRIPTION.NodeDescription )

  7. SMP_DATA_UPDATE = ReceiveMad( SubnGetResp(NodeDescription) )

  8. If CapMask2_IsSetNodeDescriptionSupported = true

    1. VerifyMad( SMP_DATA_UPDATE, MADHeader:Status = 0)

      • Remark: Status was 0 because IsSetNodeDescriptionSupported is true

    2. Verify UPDATED_NODE_DESCRIPTION.IB_NODE_DESC_F == SMP_DATA_UPDATE.IB_NODE_DESC_F

    3. Reboot the DUT

    4. SendMad( SubnSet(NodeDescription) where MADHeader:SMPData=SMP_DATA_UPDATE.NodeDescription )

    5. SMP_DATA = ReceiveMad( SubnGetResp(NodeDescription) )

    6. Verify SMP_DATA.IB_NODE_DESC_F == SMP_DATA_UPDATE.IB_NODE_DESC_F

  9. Else

    1. VerifyMad( SMP_DATA_UPDATE, MADHeader:Status = 3 ) // v1c13-024#06 26

      • Remark: Status was 3 because SubnSet(NodeDescription) is an invalid method/attribute combination.

    2. SendMad ( SubnGet(NodeDescription) )

    3. SMP_DATA_UPDATE = ReceiveMad( SubnGetResp(NodeDescription) )

    4. For each component in RO_COMP_LIST do

      • Remark: NodeDecription RO components.
      • Verify (ORIGINAL_NODE_DESCRIPTION.component == SMP_DATA_UPDATE.component )
      • Remark: Confirm that RO components in Step 2 have not been modified.

  10. End If

  11. Rest NodeDescription to its original value


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