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

Inherits MadTest.

Public Member Functions

 C14_024_06_CA_01 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.4.1 PORTINFO FOR XCA AND ROUTER ONLY - PART 1

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

24.1.5.4.1 PORTINFO FOR XCA AND ROUTER ONLY - PART 1

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

Notes:

  1. Execute these tests 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 and for case of non-existing port being addressed // v1c14-024.1.1#06.05, v1c14-024.1.1#06.06 Remark: Sending MADs to the same physical port should result in SubnGetResp(PortInfo) with the same values for both the cases where the Attribute- Modifier = 0 or equal to the port which receives the SMP ( unless stated otherwise in the td body) - since both performed on the same port.
  3. Variable PORT_INFO_DATA as structure of PortInfo Attribute which contains all fields as Integers.
  4. SMP_DATA and SMP_DATA1 are variables of type MadPacketSpec
  5. Variable NUM_OF_PORTS is variable of type Integer.

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. 1. SendMad (SubnGet(NodeInfo))

  2. NUM_OF_PORTS = ReceiveMad (SubnGetResp(NodeInfo):NumPorts)

  3. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier > NUM_OF_PORTS))

  4. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  5. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == equal to the one we sent
    • MADHeader:Status.Code == 7 // v1c13-024#07

  6. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier >NUM_OF_PORTS))

  7. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  8. Verify SMP_DATA format:

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == equal to the one we sent
    • MADHeader:Status.Code == 7 // v1c13-024#07

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

    • Remark: Configure AttributeModifier to legal port and send the SMP to the same port. In xCA and routers if the Attribute Modifier contains port number of port different than the one which received the SMP results in PortInfo at- tribute being performed as RO.

  10. SMP_DATA = ReceiveMad (SubnGetResp(PortInfo))

  11. Verify SMP_DATA format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.02, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == equal to the one we sent
    • MADHeader:Status.Code == 0 // v1c13-024#01 (cont)
    • SMP_DATA:MADHeader:SMPData.M_Key == 0
    • SMP_DATA:MADHeader:SMPData.M_KeyProtectBits == 0

  12. Set values for all variables according to current PortInfo attribute content:

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

    • Remark: Configure to 0 while sending MAD to xCA or router results in the operation performed on the port that received the MAD. That is the reason for sending the MAD to the same port as it was sent to in Tester Procedure step 1.

  14. SMP_DATA1 = ReceiveMad (SubnGetResp(PortInfo))

  15. Verify SMP_DATA1 format: // v1c14-024.1.1#06.01, v1c14-024.1.1#06.02, v1c14-024.1.1#06.05, v1c14-024.1.1#06.06, v1c14-030#01

    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == 0
    • MADHeader:Status.Code == 0 // v1c13-024#01 (cont)
    • SMP_DATA1:MADHeader:MADData == PORT_INFO_DATA except for PortInfo:DiagCode and PortInfo:InitType.
    • Remark: PortInfo:DiagCode has vendor specific indication which can change (same applies for InitType if supported).

  16. Reset the DUT


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