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

Inherits MadTest.

Public Member Functions

 C14_024_06_CA_03 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.4.3 PORTINFO FOR XCA AND ROUTER ONLY - PART 3

24.1.5.4 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - PORTINFO

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

Coverage: v1c13-024, v1c14-024.1.1, v1c14-027, v1c14-028, v1c14-029, v1c14-030

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

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

24.1.5.4.3 PORTINFO FOR XCA AND ROUTER ONLY - PART 3

Assertions: v1c13-024#07, v1c14-024.1.1#06.01, v1c14-024.1.1#06.02, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

Notes:

  1. Execute this test for xCA devices and router ONLY.
  2. This TD refers only to the test cases in which AttributeModifier is 0 or equal to the port whose receiving the SMP. // v1c14-024.1.1#06.05, v1c14-024.1.1#06.06
  3. This TD tests the RW fields which are being tested with illegal values.
  4. Repeat all steps with Attribute Modifier from 0 to NUM_PORTS and equal to the port which the MAD is sent to (apart from 0). Repeat for all legal ports of the xCA or routers ( 1 to number of ports as noted in NodeInfo:NumPorts).
  5. Variable PORT_INFO_DATA and PORT_INFO_DATA1 as structures of Port-Info Attribute which contains all fields as Integers.
  6. 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

Test Procedure:

  1. SendMad (SubnGet(PortInfo))

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

    • Remark: Change RW field Lid to reserved and illegal value ( with in multicast range).

  3. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.Lid = 0

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

  5. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  6. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  7. PORT_INFO_DATA1 = PORT_INFO_DATA

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

  9. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  10. Verify SMP_DATA format: // v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.Lid == PORT_INFO_DATA.Lid

  11. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.Lid = any value within multicast Lids range

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

  13. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  14. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04,v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  15. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  16. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  17. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.Lid == PORT_INFO_DATA.Lid
    • Remark: Change RW field .MasterSMLid to reserved and illegal value ( within multicast range).
  18. ORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1..MasterSMLid = 0

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

  20. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  21. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  22. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  23. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  24. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData..MasterSMLid == PORT_INFO_DATA..MasterSMLid

  25. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1..MasterSMLid = any value within multicast Lids range

  26. endMad (SubnSet(PortInfo where MADHeader:AttributeModifier = as specified, where MADHeader:MADData = PORT_INFO_DATA1))

  27. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  28. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  29. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  30. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  31. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.MasterSM.Lid == PORT_INFO_DATA.MasterSMLid
    • Remark: Change RW field LinkWidthEnabled to illegal value - reserved value and greater than LinkWidthSupported.
  32. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.LinkWidthEnabled = reserved value

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

  34. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  35. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  36. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  37. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  38. Verify SMP_DATA format:

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

  39. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.LinkWidthEnabled = value greater than LinkWidth-Supported

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

  41. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  42. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04,v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  43. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  44. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  45. Verify SMP_DATA format:

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

  46. PORT_INFO_DATA1 = PORT_INFO_DATA

    • Remark: Change RW fields of PORT_INFO_DATA1 which have special cases in PortInfo.
    • PORT_INFO_DATA1.PortState = non-legal transition from PORT_INFO_DATA.PortState

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

  48. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  49. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07
    • Remark: Only legal transitions are valid.
  50. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  51. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  52. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.PortState == PORT_INFO_DATA.PortState
    • Remark: Change RW field PortPhysicalState to illegal value - reserved and greater than 3.
  53. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.PortPhysicalState = reserved value

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

  55. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  56. 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 == 7 // v1c13-024#07
    • Remark: Only Valid values are treated - value shall not change.
  57. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  58. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  59. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.PortPhysicalState == PORT_INFO_DATA.PortPhysicalState

  60. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.PortPhysicalState = value greater than 3 which is not reserved

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

  62. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  63. 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 == 7 // v1c13-024#07
    • Remark: Only Valid values are treated - value shall not change.
  64. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  65. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  66. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.PortPhysicalState == PORT_INFO_DATA.PortPhysicalState

  67. PORT_INFO_DATA1 = PORT_INFO_DATA

    • Remark: Change RW fields of PORT_INFO_DATA1 which have special cases in PortInfo.
    • PORT_INFO_DATA1.LinkDownDefaultState = reserve value

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

  69. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  70. 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 == 7 // v1c13-024#07
    • Remark: Only Valid values are treated - value shall not change.
  71. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  72. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  73. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkDownDefaultState == PORT_INFO_DATA.LinkDownDefaultState
    • Remark: Change RW field LinkSpeedEnabled to illegal values - reserved value and greater than LinkSpeedSupported values.
  74. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.LinkSpeedEnabled = reserve value

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

  76. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  77. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  78. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  79. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  80. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkSpeedEnabled == PORT_INFO_DATA.LinkSpeedEnabled

  81. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.LinkSpeedEnabled = value greater than Link-SpeedSupported

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

  83. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  84. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04,v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  85. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  86. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  87. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.LinkSpeedEnabled == PORT_INFO_DATA.LinkSpeedEnabled
    • Remark: Change RW field NeighborMTU to illegal value - reserved value and greater than MTUCap value.
  88. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.NeighborMTU = reserve value

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

  90. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  91. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  92. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  93. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  94. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.NeighborMTU == PORT_INFO_DATA.NeighborMTU

  95. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.NeighborMTU = value greater than MTUCap

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

  97. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  98. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04,v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  99. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  100. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  101. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.NeighborMTU == PORT_INFO_DATA.NeighborMTU

  102. SendMad (SubnGet(PortInfo))

  103. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  104. If (SMP_DATA:MADHeader:SMPData.CapabilityMask.IsReinitSupported == 1) Then

    • PORT_INFO_DATA1 = PORT_INFO_DATA
    • Remark: Change RW field InitTypeReply of PORT_INFO_DATA1 to value greater than 8 - trying to address reserved bit within the field.
    • PORT_INFO_DATA1.InitTypeReply = any value which is larger than 8
    • SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = 0, where MADHeader:MADData = PORT_INFO_DATA1)
    • SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))
    • Verify SMP_DATA format:
    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 7 // v1c13-024#07

  105. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  106. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  107. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.InitTypeReply == PORT_INFO_DATA.InitTypeReply

  108. EndIf

    • Remark: Change RW field OperationalVLs to illegal value - reserved value and greater than VLCap.
  109. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.OperationalVLs = reserve value

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

  111. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  112. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  113. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  114. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  115. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.OperationalVLs == PORT_INFO_DATA.OperationalVLs

  116. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.OperationalVLs = value greater than VLCap 6-15 are reserved values so always just set to 6

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

  118. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  119. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  120. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  121. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  122. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0
    • SMP_DATA:MADHeader:SMPData.OperationalVLs == PORT_INFO_DATA.OperationalVLs
    • Remark: Change RW field ClientReregister to be value other of zero when not supported.
  123. If (PORT_INFO_DATA.CapabilityMask.IsClientReregistrationSupported == 0) Then ...

  124. PORT_INFO_DATA1 = PORT_INFO_DATA

    • PORT_INFO_DATA1.ClientReregister = any value other then zero

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

  126. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  127. Verify SMP_DATA format: // v1c14-024.1.1#06.01,v1c14-024.1.1#06.04, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7 // v1c13-024#07

  128. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA1))

  129. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  130. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0

  131. SMP_DATA:MADHeader:SMPData.ClientReregister == PORT_INFO_DATA.ClientReregister

  132. End If


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