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

Inherits MadTest.

Public Member Functions

 C14_024_06_SW_05 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.17.5 PORTINFO FOR SWITCH ONLY - PART 5

24.1.5.17 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - PORTINFO FOR SWITCH ONLY

Abstract: This test performs checks of PortInfo attribute and components for the Switch only. 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=Switch.

DUT Qualifiers: None, unless specified in algorithm section.

Notes: Additional checking of method/attribute combinations is performed in tests for v1c14-003.

Test Case Description

◆ C14_024_06_SW_05()

24.1.5.17.5 PORTINFO FOR SWITCH ONLY - PART 5

Assertions: v1c13-024#01 (cont), v1c14-024.1.1#06.01, v1c14-024.1.1#06.02, v1c14-024.1.1#06.04, v1c14-030#01

Notes:

  1. This part of the test is for Enhanced Switch port 0 ( Enh. SP0) Only.
  2. This TD tests the RW fields which had special operation with specific values (legal values).
  3. Variable ENHANCED_PORT_0 of type Integer.
  4. Variable PORT_INFO_DATA and PORT_INFO_DATA1 as structures of Port-Info Attribute structure which contains all fields as Integers.
  5. Variable SMP_DATA of type MadPacketSpec

Developer: Kevin King

Test Procedure

◆ initialize()

boolean initialize ( ) throws TestException
protected

Initialization:

  1. PortInfo:PortState is Initialized, Armed or Active for both MADTester and DUT.

  2. DUT PortInfo:M_Key = 0 on all ports.
  3. DUT PortInfo:M_KeyProtectBits = 0 on all ports.

◆ execute()

boolean execute ( ) throws TestException

Tester Procedure:

  1. SendMad (SubnGet(SwitchInfo))

  2. ENHANCED_PORT_0 = ReceiveMad (SubnGetResp(Switch-Info):EnhancedPort0) // v1c14-030#01

  3. SendMad (SubnGet(PortInfo))

  4. PORT_INFO_DATA = ReceiveMad (SubnGetResp(PortInfo):MADHeader:MADData)// v1c14-024.1.1#06.02, v1c14-030#01

  5. Verify ENHANCED_PORT_0 == 1

    Remark: If this field is equal to 1 then Switch Management port is enhanced.

  6. PORT_INFO_DATA1 = PORT_INFO_DATA

    Remark: Change RW fields of PORT_INFO_DATA1 which have special cases in PortInfo.

    • PORT_INFO_DATA1.LinkWidthEnabled = 0
    • PORT_INFO_DATA1.PortState = 0
    • PORT_INFO_DATA1.PortPhysicalState = 0
    • PORT_INFO_DATA1.LinkDownDefaultState = 0
    • PORT_INFO_DATA1.LinkSpeedEnabled = 0
    • PORT_INFO_DATA1.OperationalVLs = 0

  7. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))

    Remark: Test RW fields of PortInfo - Previous values should not be changed.

  8. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  9. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0. // v1c13-024#01
    • SMP_DATA:MADHeader:SMPData == PORT_INFO_DATA // v1c14-024.1.1#06.04

  10. PORT_INFO_DATA1 = PORT_INFO_DATA

    Remark: Change RW fields of PORT_INFO_DATA1 which have special cases in PortInfo.

    • PORT_INFO_DATA1.LinkWidthEnabled = 255
    • PORT_INFO_DATA1.LinkSpeedEnabled = 15 Remark: These values in these specific fields should be returned with the Supported values of the same items.

  11. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))

  12. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  13. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0. // v1c13-024#01 (cont)
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == SMP_DATA:MADHeader:SMPData.LinkWidthSupported // v1c14-024.1.1#06.04
    • SMP_DATA:MADHeader:SMPData.LinkSpeedEnabled == SMP_DATA:MADHeader:SMPData.LinkSpeedSupported // v1c14-024.1.1#06.04

  14. Reset the DUT's PortInfo fields.

  15. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0)

  16. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  17. If (SMP_DATA:MADHeader:SMPData.CapabilityMask.IsReinitSupported == 0)

    Then // v1c14-024.1.1#06.01, v1c14-024.1.1#06.02, v1c14-030#01

    • Verify that SMP_DATA:MADHeader:SMPData.InitType == 0
    • Verify that SMP_DATA:MADHeader:SMPData.InitTypeReply == 0 Remark: Both fields Shall be 0 if not implemented.

  18. Else

    • PORT_INFO_DATA1 = PORT_INFO_DATA

    Remark: Change RW field InitTypeReply of PORT_INFO_DATA1 which has special case in PortInfo.

    • PORT_INFO_DATA1.InitTypeReply = any valid value which is not equal to the same value currently in this field and not larger than 8
    • SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1)
    • SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
    • Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-030#01
    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0. // v1c13-024#01 (cont)
    • SMP_DATA:MADHeader:SMPData.InitTypeReply == as was sent


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