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

Inherits MadTest.

Public Member Functions

 C14_024_06_SW_06 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.17.6 PORTINFO FOR SWITCH ONLY - PART 6

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

24.1.5.17.6 PORTINFO FOR SWITCH ONLY - PART 6

Assertions: v1c13-024#07, 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 taken for Enhanced Switch port 0 ( Enh. SP0) Only.
  2. This TD tests the RW fields which are being testing with illegal 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. Remark: Change RW field LinkWidthEnabled to illegal value - reserved value and greater than LinkWidthSupported.

    If ENHANCED_PORT_0 == 0, test is NA

  6. ENHANCED_PORT_0 != 0

  7. PORT_INFO_DATA1 = PORT_INFO_DATA with PORT_INFO_DATA1.LinkWidthEnabled = reserved value
  8. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  9. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  10. 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 == 7 // v1c13-024#07

  11. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  12. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  13. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

    If LinkWidthSupported == 11, skip steps 14 - 20

  14. PORT_INFO_DATA1 = PORT_INFO_DATA with PORT_INFO_DATA1.LinkWidthEnabled = 8
    • Set it t0 12x
  15. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  16. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  17. 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 == 7 // v1c13-024#07

  18. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  19. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  20. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  21. PORT_INFO_DATA1.PortState = non-legal transaction from PORT_INFO_DATA.PortState
  22. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  23. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  24. 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 == 7 // v1c13-024#07

  25. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  26. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  27. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  28. Change RW field PortPhysicalState to illegal value - reserved value and greater than 3 (means 4, 5 or 6)
  29. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  30. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  31. 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 == 7 // v1c13-024#07

  32. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  33. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  34. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  35. PORT_INFO_DATA1.PortPhysicalState = value greater than 3
  36. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  37. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  38. 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 == 7 // v1c13-024#07

  39. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  40. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  41. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  42. PORT_INFO_DATA1.LinkDownDefaultState = reserved value
  43. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  44. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  45. 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 == 7 // v1c13-024#07

  46. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  47. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  48. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  49. PORT_INFO_DATA1.LinkSpeedEnabled = reserved value
  50. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  51. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  52. 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 == 7 // v1c13-024#07

  53. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  54. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  55. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  56. Change RW field NeighborMTU to illegal value - reserved value
  57. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  58. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  59. 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 == 7 // v1c13-024#07

  60. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  61. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  62. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

    Remark: If MTUCap supports max MTU (4 Kbyte) then skip this check.

  63. Change PORT_INFO_DATA1.NeighborMTU = value greater than MTUCap
  64. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  65. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  66. 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 == 7 // v1c13-024#07

  67. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  68. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  69. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  70. SendMad (SubnGet(PortInfo))

    • Remark: The above step and the following can be skipped since we can just check PORT_INFO_DATA1 which has not changed

  71. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

    Remark: If InitTypeReply is not supported then skip this check.

  72. Change PORT_INFO_DATA1.InitTypeReply = any value which is larger than 8
  73. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  74. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  75. 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 == 7 // v1c13-024#07

  76. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  77. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  78. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

  79. Change RW field OperationalVLs to illegal value - reserved value
  80. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  81. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  82. 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 == 7 // v1c13-024#07

  83. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  84. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  85. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled

    Remark: If VLCap supports all options (means : VL0 - VL14) then skip this check.

  86. PORT_INFO_DATA1.OperationalVLs = value greater than VLCap
  87. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1))
  88. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  89. 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 == 7 // v1c13-024#07

  90. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = 0 ))
  91. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
  92. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkWidthEnabled == PORT_INFO_DATA.LinkWidthEnabled


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