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

Inherits MadTest.

Public Member Functions

 C14_024_07_01 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.5.1 P_KEYTABLE FOR XCA AND SWITCH MANAGEMENT PORT

24.1.5.5 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - PARTITIONTABLE

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

Coverage: v1c14-024.1.1, v1c14-027

Topology Configuration: SimpleLink: Tester=MAD Tester; Width=1X, 2X, 4X, 8X, or 12X; Speed=SDR, DDR, QDR, FDR, EDR, HDR; DUT=xCA, Switch Management Port

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

24.1.5.5.1 P_KEYTABLE FOR XCA AND SWITCH MANAGEMENT PORT <p.

Assertions: v1c14-024.1.1#07.01, v1c14-024.1.1#07.02, v1c14-024.1.1#07.03, v1c14-027#01

Notes:

  1. This Part of the test is for xCA Devices and Switch Management Port Only, one entry should always be supported (no unsupported case). // v1c14-024.1.1#07.01
  2. Variable PARTITION_CAP of type Integer.
  3. 32 variables P_KEY_BLOCK[i] of type Integer.(i as index to P_KeyTableBlock)
  4. 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

Tester Procedure:

  1. SendMad (SubnGet(NodeInfo))

  2. PARTITION_CAP = ReceiveMad (SubnGetResp(NodeInfo).PartitionCap) //v1c14-024.1.1#07.01

  3. Tester Procedure steps 4 to 9 should be repeated for illegal entries in the attribute - means with values larger then ((PARTITION_CAP / 32) + 1) and smaller or equal to 2047.

  4. SendMad (SubnSet(P_KeyTable where MADHeader:AttributeModifier[15:0] = as specified ))

    • All P_KeyBlockElements set to 1's.

  5. SMP_DATA = ReceiveMad (SubnGetResp(P_KeyTable))

  6. Verify SMP_DATA format: // v1c14-024.1.1#07.03

    • MADHeader:AttributeID == P_KeyTable
    • MADHeader:AttributeModifier[15:0] - equal to the one we sent
    • MADHeader:Status == 7

  7. SendMad (SubnGet(P_KeyTable where MADHeader:AttributeID = P_KeyTable , where MADHeader:AttributeModifier[15:0] = as specified ))

  8. SMP_DATA = ReceiveMad (SubnGetResp(P_KeyTable))

  9. Verify SMP_DATA format: // v1c14-024.1.1#07.02

    • MADHeader:AttributeID == P_KeyTable
    • MADHeader:AttributeModifier[15-0] - equal to the one we sent
    • MADHeader:Status == 7
    • All P_KeyBlockElements are 0's. Remark: Any entries beyond the end of the P_KeyTable are read back as zero.

  10. Tester Procedure steps 11 to 16 should be repeated for all values of legal entries in the attribute - means with values smaller than ((PARTITION_CAP / 32) + 1).

  11. SendMad (SubnSet(P_KeyTable where MADHeader:AttributeModifier[15:0] = as specified ))

    • Remark: Configure to legal entry, test all values smaller than/equal to values supported by node.
    • All P_KEY_BLOCK set to 1's.

  12. SMP_DATA = ReceiveMad (SubnGetResp(P_KeyTable))

  13. Verify SMP_DATA format: // v1c14-024.1.1#07.03

    • MADHeader:AttributeID == P_KeyTable
    • MADHeader:AttributeModifier[15:0] - equal to the one we sent
    • MADHeader:Status == 0
    • All P_KeyTableBlock.P_KeyBlockElements set to 1's.

  14. SendMad (SubnGet(P_KeyTable where MADHeader:AttributeModifier[15:0] = as specified ))

    • Remark: Configure to legal entry, test all values smaller then/equal to sup- ported by node.

  15. SMP_DATA = ReceiveMad (SubnGetResp(P_KeyTable))

  16. Verify SMP_DATA format: // v1c14-024.1.1#07.02

    • MADHeader:AttributeID == P_KeyTable
    • MADHeader:AttributeModifier[15-0] - equal to the one we send
    • MADHeader:Status == 0
    • All P_KeyTableBlock.P_KeyBlockElements set to 1's.


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