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

Inherits MadTest.

Public Member Functions

 C14_024_06_SW_01 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.17.1 PORTINFO FOR SWITCH ONLY - PART 1

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

24.1.5.17.1 PORTINFO FOR SWITCH ONLY - PART 1

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

Notes:

  1. This part of the test is for Switch External ports Only.
  2. This TD tests the RW and RO fields and handling of non-existing port.
  3. Repeat all steps 9 - 22 with Attribute Modifier larger than 0 ( Attribute Modifier should not be equal to 0 ) and smaller than/equal to number of device ports ( as noted in NodeInfo:NumPorts).
  4. Variable PORT_INFO_DATA and PORT_INFO_DATA1 are structures of PortInfo Attribute structure which contains all fields as Integers.
  5. Variable SMP_DATA of type MadPacketSpec
  6. Variable NUM_OF_PORTS is of type Integer

Developer: Llolsten Kaonga

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

  2. PORT_INFO_DATA = ReceiveMad (SubnGetResp(PortInfo):MAD- Header:MADData)// v1c14-024.1.1#06.02, v1c14-030#01

    Remark: Change RW field LinkWidthEnabled to illegal value - reserved value and value which is not supported according to LinkWidthSupported.

  3. PORT_NFO_DATA1 = PORT_INFO_DATA

  4. SendMad (SubnSet(PortInfowhere MADHeader::AttributeModifier = as specified and MADHeader:MADData = PORT_INFO_DATA1))

  5. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  6. Verify SMP_DATA format: v1c14-024.1.1#6.01, v1c14-27#01, v1c14-030#01

  7. Verify SMP_DATA format: v1c14-024.1.1#6.01, v1c14-27#01, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0 // Assertion v1c13-024#01

  8. Reset DUT PortInfo fields to original values

  9. PORT_NFO_DATA1 = PORT_INFO_DATA

  10. SendMad(SubnSet(PortInfo))

  11. SMP_DATA = ReceiveMad(SubnGetResp(PortInfo))

  12. Verify SMP_DATA format: v1c14-024.1.1#6.01, v1c14-27#01, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0 // Assertion v1c13-024#01

  13. Verifying RW fields changed

  14. Reset DUT PortInfo fields to original values

  15. PORT_INFO_DATA1 = PORT_INFO_DATA

  16. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = as specified, where MADHeader:MADData = PORT_INFO_DATA1))

    Remark: Test RW fields of PortInfo - Initialize all values as default and test all RW fields for changing correctly.

  17. SMP_DATA = ReceiveMad( SubnGetResp(PortInfo))

    Remark: If a SubnGetResp(PortInfo) is not received, then a subsequent SubnGet(PortInfo) will be issued, and a SubnGetResp(PortInfo) should be expected.

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

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0. // v1c13-024#01 (cont)
    • SMP_DATA:MADHeader:SMPData.PortPhysicalState == PORT_INFO_DATA.PortPhysicalState // v1c14-024.1.1#06.04

  19. Reset DUT PortInfo fields to original values


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