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

Inherits MadTest.

Public Member Functions

 C14_024_08_05 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.18.3 SLTOVLMAPPINGTABLE FOR SWITCH ONLY TEST FOR SUPPORTED ATTRIBUTE 2

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

24.1.5.18.3 SLTOVLMAPPINGTABLE FOR SWITCH ONLY TEST FOR SUPPORTED ATTRIBUTE 2

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. NUMBER_OF_PORTS is variable of type Integer.
  2. PORT_VL_CAP is variable of type Integer.
  3. ENHANCED_PORT_0_SUPPORTED is variable of type Integer.
  4. SL_TO_VL_BLOCK, SL_TO_VL_BLOCK1 are variables of 16 entries of type Integer.
  5. 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 not be supported by the switch, if supported terminate the test.

  7. SendMad (SubnGet(SwitchInfo))

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

  9. Set ENHANCED_PORT_0_SUPPORTED = EP0SUPP

    • Remark: It should be the opposite of IB_SW_ENHANCED_PORT0_F

  10. Tester Procedure steps 11 to 21 should be repeated for illegal values of SLtoVLMappingTable

    • AttributeModifier[15:8] (AttributeModifier[15:8] gets value
    • greater than number of switch physical ports), legal values of for SLtoVLMappingTable
    • AttributeModifier[7:0] ( 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).

  11. Repeating Tester Procedure steps 12 to 21 for illegal AM (bits 8:15) values and any SL2VL entries

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

    • Lower AM is the output port and the VLCap on the output port is used to determine the VL (based on the SL) for the next hop...

  13. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  14. PORT_VL_CAP = SMP_DATA:VLCap

    • The AM for a SubnGet/SubnSet SL2VLMappingTable is a combination of input/output ports.
    • Remark: Status should be 7 because input port in AttributeModifier is illegal

  15. SendMad (SubnGet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] == ENHANCED_PORT_0_SUPPORTED - NUMBER_OF_PORTS, where MADHeader:AttributeModifier[15:8] > NUMBER_OF_PORTS, where MADHeader:AttributeModifier[31:16] = 0))
    • Remark: Configure to illegal input port and legal output port.(port number '0' assigned to Switch Management Port and is legal for all switches as input port).
  16. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))
  17. 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 == expectedStatus
    • Remark: Status should be 7 because output and input ports in AttributeModifier are illegal values

  18. SL_TO_VL_BLOCK1 = MADHeader:MADData

  19. SendMad (SubnSet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] as specified above
    • MADHeader:AttributeModifier[15:8] as specified above, where MADHeader:AttributeModifier[31:16] = 0))
    • Remark: Configure to illegal input port and legal output port.(port number '0'
    • assigned to Switch Management Port and is legal for all switches as input port).
    • SL_TO_VL_BLOCK set to any values which are not-equal to SL_TO_VL_BLOCK1.
  20. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))
  21. Verify SMP_DATA format: // v1c14-024.1.1#08.01, v1c14-024.1.1#08.04

    • MADHeader:AttributeID == SLtoVLMappingTable
    • MADHeader:Status.Code == expectedStatus
    • Remark: Status should be 7 because output and input ports in AttributeModifier are illegal values

  22. Tester Procedure steps 22 to 29 should be repeated for illegal values of SLtoVLMappingTable

    • AttributeModifier[7:0] (AttributeModifier[7:0] gets value greater than number of switch physical ports or '0' only if switch does not support Enhanced-Management-Port), legal values of for SLtoVLMappingTable AttributeModifier[15:8] ( AttributeModifier[15:8] gets 0 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 asspect).
    • Remark: Status should be 7 because input port in AttributeModifier is illegal

  23. SendMad (SubnGet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] == ENHANCED_PORT_0_SUPPORTED - NUMBER_OF_PORTS, where MADHeader:AttributeModifier[15:8] > NUMBER_OF_PORTS, where MADHeader:AttributeModifier[31:16] = 0))
    • Remark: Configure to illegal input port and legal output port.(port number '0' assigned to Switch Management Port and is legal for all switches as input port).
  24. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))
  25. 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 == expectedStatus
    • Remark: Status should be 7 because output and input ports in AttributeModifier are illegal values

  26. SL_TO_VL_BLOCK1 = MADHeader:MADData

  27. SendMad (SubnSet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] as specified above
    • MADHeader:AttributeModifier[15:8] as specified above, where MADHeader:AttributeModifier[31:16] = 0))
    • Remark: Configure to illegal input port and legal output port.(port number '0' assigned to Switch Management Port and is legal for all switches as input port).
    • SL_TO_VL_BLOCK set to any values which are not-equal to SL_TO_VL_BLOCK1.
  28. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))
  29. Verify SMP_DATA format: // v1c14-024.1.1#08.01, v1c14-024.1.1#08.04

    • MADHeader:AttributeID == SLtoVLMappingTable
    • MADHeader:Status.Code == expectedStatus
    • Remark: Status should be 7 because output and input ports in AttributeModifier are illegal values

  30. Repeating Tester Procedure steps 31 to 37 for illegal AM values and any SL2VL entries

  31. SendMad (SubnGet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] == ENHANCED_PORT_0_SUPPORTED - NUMBER_OF_PORTS, where MADHeader:AttributeModifier[15:8] > NUMBER_OF_PORTS, where MADHeader:AttributeModifier[31:16] = 0))
    • Remark: Configure to illegal input port and legal output port.(port number '0' assigned to Switch Management Port and is legal for all switches as input port).
  32. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))
  33. 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 == expectedStatus
    • Remark: Status should be 7 because output and input ports in AttributeModifier are illegal values

  34. SL_TO_VL_BLOCK1 = MADHeader:MADData

  35. SendMad (SubnSet(SLtoVLMappingTable where MADHeader:AttributeModifier[7:0] as specified above
    • MADHeader:AttributeModifier[15:8] as specified above, where MADHeader:AttributeModifier[31:16] = 0))
    • Remark: Configure to illegal input port and legal output port.(port number '0'
    • assigned to Switch Management Port and is legal for all switches as input port).
    • SL_TO_VL_BLOCK set to any values which are not-equal to SL_TO_VL_BLOCK1.
  36. SMP_DATA = ReceiveMad (SubnGetResp(SLtoVLMappingTable))
  37. Verify SMP_DATA format: // v1c14-024.1.1#08.01, v1c14-024.1.1#08.04

    • MADHeader:AttributeID == SLtoVLMappingTable
    • MADHeader:Status.Code == expectedStatus
    • Remark: Status should be 7 because output and input ports in AttributeModifier are illegal values


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