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

Inherits MadTest.

Public Member Functions

 C14_024_03 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Private Member Functions

void TestField (final Field field, final long value) throws TestException
 

Detailed Description

24.1.5.2 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - NODEINFO

Abstract: This test performs checks of NodeInfo 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_03()

24.1.5.2.1 SUBNET MANAGEMENT ATTRIBUTE - NODEINFO Assertions: v1c13-024#06, v1c14-024.1.1#03.01, v1c14-024.1.1#03.02, v1c14-024.1.1#03.03, v1c14-024.1.1#03.04, v1c14-024.1.1#03.05, v1c14-024.1.1#03.06, v1c14-027#01, v1c14-030#01

Notes:

  1. Test should be repeated upon all ports of the Node, content of the attribute shall be verified to be equal on all ports of a switch but LocalPortNum and shall be equal in all fields but PortGUID and LocalPortNum on all ports of an xCA or Router. // v1c14-024.1.1#03.04, v1c14-024.1.1#03.05, v1c14-024.1.1#03.06
  2. Variable RO_COMP_LIST is the set of NodeInfo read-only components consisting of:
  • NodeInfo:BaseVersion
  • NodeInfo:ClassVersion
  • NodeInfo:NodeType
  • NodeInfo:NumPorts
  • NodeInfo:SystemImageGUID
  • NodeInfo:NodeGUID
  • NodeInfo:PortGUID
  • NodeInfo:PartitionCap
  • NodeInfo:DeviceID
  • NodeInfo:Revision
  • NodeInfo:LocalPortNum
  • NodeInfo:VendorID

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

  2. SMP_DATA = ReceiveMad( SubnGetResp(NodeInfo) )

  3. Verify SMP_DATA format:

    • MADHeader:AttributeID == NodeInfo // v1c14-024.1.1#03.01
    • MADHeader:AttributeModifier == 0x0
    • MADHeader:SMPData.BaseVersion == 1
    • MADHeader:SMPData.ClassVersion == 1
    • If ( DUT == xCA ) Then
      • MADHeader:SMPData.NodeType == 1
    • EndIf
    • If ( DUT == Switch ) Then
      • MADHeader:SMPData.NodeType == 2
    • EndIf
    • If ( DUT == Router ) Then
      • MADHeader:SMPData.NodeType == 3
    • EndIf

  4. SMP_DATA_UPDATE = SMP_DATA

  5. For each COMP in RO_COMP_LIST do:

  6. For each port do:

    1. SendMad ( SubnGet(NodeInfo) )

    2. SMP_DATA = ReceiveMad()

    3. PortNum = SMP_DATA.IB_NODE_LOCAL_PORT

    4. NodeInfos[PortNum] = SMP_DATA

  7. If Device Type is not a Switch do

    1. Verify all port GUIDs are different

  8. Verify NodeInfo is the same on all ports

◆ TestField()

void TestField ( final Field  field,
final long  value 
) throws TestException
private
  1. SendMad( SubnSet(NodeInfo) where MADHeader:SMPData=SMP_DATA_UPDATE.NodeInfo )

  2. SMP_DATA_UPDATE = ReceiveMad( SubnGetResp(NodeInfo) )

  3. VerifyMad( SMP_DATA_UPDATE, MADHeader:Status == 3 ) v1c13-024#06 Remark: Status was 3 because SubnSet(NodeInfo) is an invalid method/attribute combination.

  4. SendMad ( SubnGet(NodeInfo) )

  5. SMP_DATA_UPDATE = ReceiveMad( SubnGetResp(NodeInfo) )

  6. Verify (SMP_DATA_UPDATE.component == SMP_DATA.component ) v1c14-024.1.1#03.02, v1c14-024.1.1#03.03, v1c14-027#01, v1c14-030#01

    Remark: Confirm that RO components in Step 2 have not been modified.


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