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

Inherits MadTest.

Public Member Functions

 C14_024_08_03 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.18.1 SLTOVLMAPPINGTABLE FOR SWITCH ONLY - SUPPORTED ATTRIBUTE 1

24.1.5.18 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - SLTOVLMAPPINGTABLE FOR SWITCH ONLY

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

Coverage: v1c14-024.1.1

Topology Configuration: SimpleLink: Tester=MAD Tester; Width=1X, 2X, 4X, 8X, or 12X; Speed=SDR, DDR, r QDR; DUT=Switch.

DUT Qualifiers: None, unless specified in algorithm section.

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

Test Case Description

◆ C14_024_08_03()

24.1.5.18.1 SLTOVLMAPPINGTABLE FOR SWITCH ONLY - SUPPORTED ATTRIBUTE 1

Assertions: v1c14-024.1.1#08.01, v1c14-024.1.1#08.03, v1c14-024.1.1#08.04

Notes: Execute this test for Switch Only (including Switch Management Port).

  1. Test for operation using legal values when attribute supported.
  2. NUMBER_OF_PORTS is variable of type Integer.
  3. PORT_VL_CAP is variable of type Integer.
  4. ENHANCED_PORT_0_SUPPORTED is variable of type Integer.
  5. SL_TO_VL_BLOCK, SL_TO_VL_BLOCK1 are variables of 16 entries of type Integer.
  6. SMP_DATA is variable 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.

◆ execute()

boolean execute ( ) throws TestException

Test Procedure:

  1. SendMad (SubnGet(NodeInfo))

  2. SMP_DATA = ReceiveMad (SubnGetResp(NodeInfo))

  3. NUMBER_OF_PORTS = ReceiveMad (SubnGetResp(NodeInfo):NumPorts)

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

  5. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  6. Verify SMP_DATA:CapabilityMask[IsSLMappingSupported] == 1

    • Remark: SL Mapping should be supported by the switch, if not supported terminate the test.

  7. SendMad (SubnGet(SwitchInfo))

  8. If (ReceiveMad (SubnGetResp(SwitchInfo):EnhancedPort0) == 1) Then

  9. Tester Procedure steps 12 to 21 should be repeated for all legal values of both fields in SLtoVLMappingTable AttributeModifier (AttributeModifier[15:8] gets 0 to number of switch physical ports, AttributeModifier[7:0] gets ENHANCED_PORT_0_SUPPORTED to number of switch physical ports) and any values in SLtoVL entries(means in or out of the range set for the port in the PORT_VL_CAP - there is no meaning to these values in the attribute aspect).

  10. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified))

  11. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  12. PORT_VL_CAP = SMP_DATA:VLCap

  13. SendMad (SubnGet(SLtoVLMappingTable where MADHeader:Attribute-Modifier[7:0] = ENHANCED_PORT_0_SUPPORTED - NUMBER_OF_PORTS , where MADHeader:AttributeModifier[15:8] = 0 - NUMBER_OF_PORTS , MADHeader:AttributeModifier[31:16] = 0 ))

    • Remark: Configure to legal input port and legal output port.(port number '0' assigned to Switch Management Port).

  14. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))

  15. Verify SMP_DATA format: // v1c14-024.1.1#08.01, v1c14-024.1.1#08.03

    • MADHeader:AttributeID == SLtoVLMappingTable
    • MADHeader:AttributeModifier[7:0] as specified above
    • MADHeader:AttributeModifier[15:8] as specified above
    • MADHeader:AttributeModifier[31:16] == 0
    • MADHeader:Status.Code == 0 Remark: Status was zero because all entries are supported.

  16. SL_TO_VL_BLOCK1 = MADHeader:MADData.

  17. SendMad (SubnSet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] as specified above , where MADHeader:AttributeModifier[15:8] as specified above , MADHeader:AttributeModifier[31:16] as specified above ))

    • Remark: Configure to legal input port and legal output port.(port number '0' assigned to Switch Management Port).
    • SL_TO_VL_BLOCK set to any values where SL_TO_VL_BLOCK not equal to SL_TO_VL_BLOCK1.

  18. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))

  19. Verify SMP_DATA format: // v1c14-024.1.1#08.01, v1c14-024.1.1#08.04

    • MADHeader:AttributeID == SLtoVLMappingTable
    • MADHeader:AttributeModifier[7:0] as specified above
    • MADHeader:AttributeModifier[15:8] as specified above
    • MADHeader:AttributeModifier[31:16] == 0
    • MADHeader:Status.Code == 0
    • Remark: Status was zero because all entries are supported.
    • MADHeader:MADData == SL_TO_VL_BLOCK.
    • Remark: If SL_TO_VL_BLOCK contain any entry which is above the PortInfo:OperationalVLs then this entry may be equal to the entry in the SL_TO_VL_BLOCK or to VL15.

  20. Reset the DUT to its original state


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