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

Inherits MadTest.

Public Member Functions

 C14_024_06_SW_03 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.17.3 PORTINFO FOR SWITCH ONLY - PART 3

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

24.1.5.17.3 PORTINFO FOR SWITCH ONLY - PART 3

Assertions: v1c13-024#01, 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(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 equals to 1 then Switch Management port is enhanced.

  6. Test setting Read Only fields

  7. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = PORT_NUM, where MADHeader:MADAData = PORT_INFO_DATA1))

  8. SMP_DATA = ReceiveMad(SubnGetResp(PortInfo))

  9. Verify SMP_DATA format

    Remark: A DUT may not return MAD status code when we attempt to write to RO fields so we should not check status

  10. PORT_NFO_DATA1 = PORT_INFO_DATA

  11. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = PORT_NUM, where MADHeader:MADAData = PORT_INFO_DATA1))

  12. SMP_DATA = ReceiveMad (SubnGetResp(POrtInfo))

  13. Verify SMP_DATA format

  14. Resetting all values to their original values with M_Key == 0x1234567812345678L

    Remark This is Step 19 in TCL

  15. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1

  16. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  17. Reset the DUT to its original state


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