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

Inherits MadTest.

Public Member Functions

 C14_024_06_CA_04 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.4.4 PORTINFO FOR XCA AND ROUTER ONLY - PART 4

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

24.1.5.4.4 PORTINFO FOR XCA AND ROUTER ONLY - PART 4

Assertions: v1c14-024.1.1#06.01, v1c14-024.1.1#06.02, v1c14-024.1.1#06.07, v1c14-024.1.1#06.08, v1c14-029#01.02, v1c14-029#02.02, v1c14-030#01

Notes:

  1. Execute this test for xCA devices and router ONLY. // v1c14-024.1.1#06.01
  2. This TD refers only to the test cases in which AttributeModifier is not- equal to the port whose receiving the SMP. // v1c14-024.1.1#06.07, v1c14-024.1.1#06.08
  3. This TD verifies that the M_Key check is performed on both ports ( receive port and the port specified in AttributeModifier).
  4. This test is NA for devices that declare only 1 port ( due to the need for 2 ports at least).
  5. A timeout occurs based on the rules of Volume 1 Section 13.4.6.2 Timers and Timeouts.
  6. Repeat all steps with Attribute Modifier as all legal ports and differ from the port which the MAD is sent to. Repeat for all legal ports of the xCA or routers ( 1 to number of ports as noted in NodeInfo:NumPorts).
  7. Variable M_KEY_VIOLATIONS and M_KEY_VIOLATIONS1 are variables of type Integer.
  8. Variable PORT_INFO_DATA as structure of PortInfo Attribute which contains all fields as Integers.

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

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

  3. Get the M_KeyViolations value of the local port which participates in the iteration to M_KEY_VIOLATIONS.

  4. Set local port PortInfo:M_Key to the same value as all remote ports Port-Info:M_Key.

  5. Get the M_KeyViolations value of the remote port which participates in the iteration to M_KEY_VIOLATIONS1.

  6. Set local port PortInfo:M_Key to value different than all remote ports Port-Info:M_Key.

  7. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = as specified, where MADHeader:MADData = PORT_INFO_DATA))

    • Remark: Configure to legal port and send to port other than specified in the AttributeModifier. In xCAs and routers if Attribute Modifier contains number of port different than the one we entered through then M_Key checking shall be performed on both ports.
    • MADHeader:M_Key shall not be equal to the local port and shall be equal to the remote ports PortInfo:M_Key .
    • Remark: M_Key check shall result in mismatch to verify M_KeyViolations was increased on the local port .

  8. VerifyNoReceiveMad(SubnGetResp(PortInfo)) // v1c14-029#02.02, v1c14-024.1.1#06.08

  9. Verify M_KeyViolations increased (in compare to M_KEY_VIOLATIONS) on the local port , which had mismatch in M_Key check. // v1c14-024.1.1#06.08 Remark: Due to the try to access the port with invalid M_Key.

    • Get the M_KeyViolations value of the local port which participate in the iteration.
    • Verify the local port M_KeyViolations equals M_KEY_VIOLATIONS + 1.
    • Set M_KEY_VIOLATIONS to current local port PortInfo:M_KeyViolations

  10. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = as specified, where MADHeader:MADData = PORT_INFO_DATA))

    • Remark: Configure to legal port and send to port other than specified in the AttributeModifier. In xCAs and routers if Attribute Modifier contains number of port different than the one we entered through then M_Key checking shall be performed on both ports.
    • MADHeader:M_Key shall not be equal to the remote port as specified in the AttributeModifier and shall be equal to the local port PortInfo:M_Key.
    • Remark: M_Key check shall result in mismatch to verify M_KeyViolations was increased on the remote port.

  11. VerifyNoReceiveMad(SubnGetResp(PortInfo)) // v1c14-029#02.02, v1c14-024.1.1#06.08

    • Remark: Waiting the appropriate time out

  12. Verify M_KeyViolations increased (in compare to M_KEY_VIOLATIONS1) on the remote port , which had mismatch in M_Key check. // v1c14-024.1.1#06.08

    • Remark: Due to the try to access the ports with invalid M_Key.
    • Set local port PortInfo:M_Key to the same value as all remote ports Port-Info:M_Key.
    • Get the M_KeyViolations value of the remote port which participate in the iteration.
    • Verify the remote port M_KeyViolations equals M_KEY_VIOLATIONS1 + 1.
    • Set M_KEY_VIOLATIONS1 to current remote port Port-Info:M_KeyViolations
    • Set local port PortInfo:M_Key to value different than all remote ports PortInfo:M_Key.

  13. // 13. SendMad (SubnSet(PortInfo where MADHeader:AttributeModifier = as specified, where MADHeader:MADData = PORT_INFO_DATA))

    • Remark: Configure to legal port and send to port other than specified in the AttributeModifier. In xCAs and routers if Attribute Modifier contains number of port different than the one we entered through then M_Key checking shall be performed on both ports.
    • MADHeader:M_Key shall not be equal to the relevant ports (the port specified in the AttributeModifier field and the port which received the MAD).
    • Remark: M_Key check shall result in mismatch to verify M_KeyViolations was increased on the ports which the mismatch occurred on.

  14. VerifyNoReceiveMad(SubnGetResp(PortInfo)) // v1c14-029#02.02, v1c14-024.1.1#06.08

    • Remark: Waiting the appropriate time out

  15. Verify M_KeyViolations increased (in compare to M_KEY_VIOLATIONS and M_KEY_VIOLATIONS1) on the ports which had mismatch in M_Key check. v1c14-024.1.1#06.08

    • Remark: Due to the try to access the ports with invalid M_Key.
    • Get the M_KeyViolations value of the local port which participate in the iteration.
    • Verify the local port M_KeyViolations equals M_KEY_VIOLATIONS + 1.
    • Set M_KEY_VIOLATIONS to current local port PortInfo:M_KeyViolations
    • Set local port PortInfo:M_Key to the same value as all remote ports Port-Info:M_Key.
    • Get the M_KeyViolations value of the remote port which participate in the iteration.
    • Verify the remote port M_KeyViolations equals M_KEY_VIOLATIONS1 + 1.
    • Set M_KEY_VIOLATIONS1 to current remote port Port-Info:M_KeyViolations
    • Set local port PortInfo:M_Key to value different than all remote ports PortInfo:M_Key.

  16. SendMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA))

    • Remark: Configure to legal port and send to port other than specified in the AttributeModifier. In xCAs and routers if Attribute Modifier contains number of port different than the one we entered through then M_Key checking shall be performed on both ports.
    • MADHeader:M_Key shall not be equal to the local port and shall be equal to the remote ports PortInfo:M_Key .
    • Remark: M_Key check shall result in mismatch to verify M_KeyViolations was increased on the local port .

  17. VerifyNoReceiveMad(SubnGetResp(PortInfo)) // v1c14-029#01.02, v1c14-024.1.1#06.08

    • Remark: Waiting the appropriate time out

  18. Verify M_KeyViolations increased (in compare to M_KEY_VIOLATIONS) on the local port , which had mismatch in M_Key check. // v1c14-024.1.1#06.08

    • Remark: Due to the try to access the port with invalid M_Key.
    • Get the M_KeyViolations value of the local port which participate in the iteration.
    • Verify the local port M_KeyViolations equals M_KEY_VIOLATIONS + 1.
    • Set M_KEY_VIOLATIONS to current local port PortInfo:M_KeyViolations

  19. endMad (SubnGet(PortInfo where MADHeader:AttributeModifier = as specified , where MADHeader:MADData = PORT_INFO_DATA))

    • Remark: Configure to legal port and send to port other than specified in the AttributeModifier. In xCAs and routers if Attribute Modifier contains number of port different than the one we entered through then M_Key checking shall be performed on both ports.
    • MADHeader:M_Key shall not be equal to the remote port as specified in the AttributeModifier and shall be equal to the local port PortInfo:M_Key.
    • Remark: M_Key check shall result in mismatch to verify M_KeyViolations was increased on the remote port.

  20. VerifyNoReceiveMad(SubnGetResp(PortInfo)) // v1c14-029#01.02, v1c14-024.1.1#06.08

    • Remark: Waiting the appropriate time out

  21. Verify M_KeyViolations increased (in compare to M_KEY_VIOLATIONS1) on the remote port , which had mismatch in M_Key check. // v1c14-024.1.1#06.08

    • Remark: Due to the try to access the ports with invalid M_Key.
    • Set local port PortInfo:M_Key to the same value as all remote ports Port-Info:M_Key.
    • Get the M_KeyViolations value of the remote port which participate in the iteration.
    • Verify the remote port M_KeyViolations equals M_KEY_VIOLATIONS1 +1.
    • Set M_KEY_VIOLATIONS1 to current remote port Port-Info:M_KeyViolations
    • Set local port PortInfo:M_Key to value different than all remote portsPortInfo:M_Key.

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

    • Remark: Configure to legal port and send to port other than specified in the AttributeModifier. In xCAs and routers if Attribute Modifier contains number of port different than the one we entered through then M_Key checking shall be performed on both ports.
    • MADHeader:M_Key shall not be equal to the relevant ports (the port specified in the AttributeModifier field and the port which received theMAD).
    • Remark: M_Key check shall result in mismatch to verify M_KeyViolations was increased on the ports which the mismatch occurred on.

  23. VerifyNoReceiveMad(SubnGetResp(PortInfo)) // v1c14-029#01.02, v1c14-024.1.1#06.08

    • Remark: Waiting the appropriate time out

  24. Verify M_KeyViolations increased (in compare to M_KEY_VIOLATIONS and M_KEY_VIOLATIONS1) on the ports which had mismatch in M_Key check. v1c14-024.1.1#06.08

    • Remark: Due to the try to access the ports with invalid M_Key.
    • Get the M_KeyViolations value of the local port which participate in the iteration.
    • Verify the local port M_KeyViolations equals M_KEY_VIOLATIONS + 1.
    • Set local port PortInfo:M_Key to the same value as all remote ports Port-Info:M_Key.
    • Get the M_KeyViolations value of the remote port which participate in the iteration.
    • Verify the remote port M_KeyViolations equals M_KEY_VIOLATIONS1 + 1.


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