|
InfiniBand Test Specification
1.0.38
|
Inherits MadTest.
Public Member Functions | |
| C14_024_05 () | |
| boolean | execute () throws TestException |
Protected Member Functions | |
| boolean | initialize () throws TestException |
24.1.5.3 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - GUIDINFO
Abstract: This test performs checks of GUIDInfo attribute and components. 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=Node.
DUT Qualifiers: None, unless specified in algorithm section.
Notes:
| C14_024_05 | ( | ) |
24.1.5.3.1 GUIDINFO Assertions: v1c13-024#01 (cont), v1c13-024#07, v1c14-024.1.1#05.01, v1c14- 024.1.1#05.02, v1c14-024.1.1#05.03, v1c14-027#01, v1c14-030#01
Notes:
|
protected |
Initialization:
PortInfo:PortState is Initialized, Armed or Active for both MADTester and DUT.
| boolean execute | ( | ) | throws TestException |
Test Procedure:
SendMad (SubnGet(PortInfo))
DUT_GUID_CAP = ReceiveMad (SubnGetResp(PortInfo:GUIDCap)) v1c14-024.1.1#05.01
SendMad (SubnGet(NodeInfo))
SMP_DATA = ReceiveMad ( SubnGetResp(NodeInfo))
DUT_NODE_PORT_GUID = SMP_DATA:PortGUID // v1c14-001#01
SendMad (SubnGet(GUIDInfo where MADHeader:AttributeModifier = 0x0))
SMP_DATA = ReceiveMad ( SubnGetResp(GUIDInfo) ) // v1c14-030#01
RO_GUIDINFO_ELEMENT = SMP_DATA.GUIDInfo[63:0]
Verify SMP_DATA format: // v1c14-024.1.1#05.02
Tester Procedure steps 11 to 29 should be repeated for all Attribute Modifier values within the range of : 0 to 31.
SendMad (SubnGet(GUIDInfo where MADHeader:AttributeModifier as specified))
SMP_DATA = ReceiveMad ( SubnGetResp(GUIDInfo)) // v1c14-030#01, v1c14-024.1.1#05.02
SMP_DATA_1.GUIDInfo = (NOT SMP_DATA.GUIDInfo)
SendMad (SubnSet(GUIDInfo where MADHeader:AttributeModifier as specified, where GUIDInfo = SMP_DATA_1.GUIDInfo))
SMP_DATA = ReceiveMad ( SubnGetResp(GUIDInfo))
Verify SMP_DATA format: // v1c14-024.1.1#05.03
If ATTR_MOD is less than the number of GUID entries
If ATTR_MOD == 0
Else
End If
Verify all GUIDs in this block will contain the value sent in the SUbnSet above
When ATTR_MOD points to the block that has the end of the table, then entries above the GUIDCap must be read back as 0. Entries below the GUIDCap will contain the value sent in the SubnSet
SendMad (SubnGet(GUIDInfo where MADHeader:AttributeModifier as specified))
SMP_DATA = ReceiveMad ( SubnGetResp(GUIDInfo) ) // v1c14-030#01
Verify SMP_DATA format: // v1c14-024.1.1#05.02
When ATTR_MOD is greater than the number of entries supported (as indicated by GUIDCap), then we are beyond the GUIDInfo table and all entries are read back as zero
Verify MADHeader::MadStatus == 7
When ATTR_MOD is less than the number of GUID entries, then all GUIDs in this block will contain the value sent in the SUbnSet above
Verify MADHeader::MadStatus == 0
If Attribute Modifier == 0 MADHeader:MADData bits 63:0 of GUIDInfo must equal RO_GUIDINFO_ELEMENT // v1c14-027#01
When ATTR_MOD points to the block that has the end of the table, then entries above the GUIDCap must be read back as 0. Entries below the GUIDCap will contain the value sent in the SubnSet
Verify MADHeader::MadStatus == 0