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

Inherits C14_024_04_SW_RW.

Public Member Functions

 C14_024_04_SW_02 ()
 
boolean execute () throws TestException
 

Protected Member Functions

void SubnSetRWFields (final String strField, final Field field, final long value) throws TestException
 
void SubnSetRWFields (final String strField, final Field field, final long value, int expectedStatus) throws TestException
 
boolean initialize () throws TestException
 

Detailed Description

24.1.5.11.2 READ WRITE COMPONENTS PART 1

24.1.5.11 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - SWITCHINFO

Abstract: This test performs checks of SwitchInfo attribute and components, except for SwitchInfo:PortStateChange. 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 or EDR; DUT=Switch.

DUT Qualifiers: None, unless specified in algorithm section.

Notes:

  1. Additional checking of method/attribute combinations is performed in tests for v1c14-003.
  2. SMP_DATA and SMP_DATA_UPDATE are variables of type MadPacketSpec

Test Case Description

◆ C14_024_04_SW_02()

24.1.5.11.2 SWITCHINFO READ WRITE COMPONENTS PART 1

Assertions: v1c13-024#01, v1c14-024.1.1#04.01, v1c14-024.1.1#04.02, v1c14-024.1.1#04.03, v1c14-027#01, v1c14-030#01

Notes:

  1. Variable RW_COMP_LIST is the set of SwitchInfo read-write components consisting of:
    • SwitchInfo:LinearFDBTop
    • SwitchInfo:DeafultPort
    • SwitchInfo:DefaultMulticastPrimaryPort
    • SwitchInfo:DefaultMulticastNotPrimaryPort
    • SwitchInfo:LifeTimeValue
  2. SwitchInfo:LinearFDBTop may not be supported by switches that have SwitchInfo:LinearFDBCap == 0, that is, switches which do not have a Linear Forwarding Table.Behavior associated with setting SwitchInfo:LinearFDBTop when a switch does not have a Linear Forwarding Table is undefined.
  3. SwitchInfo:DefaultPort may not be supported by switches which have SwitchInfo:RandomFDBCap == 0, that is, switches which do not have a Random Forwarding Table. Behavior associated with setting SwitchInfo:DefaultPort when a switch does not have a Random Forwarding Table is undefined.

Developer: Llolsten Kaonga

Test Procedure

◆ execute()

boolean execute ( ) throws TestException

Initialization: see Initialization

Test Procedure:

  1. SendMad (SubnGet(SwitchInfo))

  2. SMP_DATA = ReceiveMad()

  3. Verify SMP Data format and FDBCap

    • MADHeader:AttributeID == SwitchInfo V1c14-024.1.1#04.01
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 7

  4. For each component in RW_COMP_LIST do:

    1. SMP_DATA_UPDATE.component = (different legal value from what it currently has (if passable))

    2. See SubnSetRWFields(final String strField, final Field field, final long value, int expectedStatus) for steps 5 - 8

    3. Verify (SWITCH_INFO_DATA.component == SMP_DATA.component ) // v1c14-024.1.1#04.04, v1c14-030#01

    4. Verify MadStatus == 0

  5. Reset DUT SwitchInfo fields to original values

◆ SubnSetRWFields() [1/2]

void SubnSetRWFields ( final String  strField,
final Field  field,
final long  value 
) throws TestException
protectedinherited

SubnSetRWFields

◆ SubnSetRWFields() [2/2]

void SubnSetRWFields ( final String  strField,
final Field  field,
final long  value,
int  expectedStatus 
) throws TestException
protectedinherited

SubnSetRWFields

  1. SendMad( SubnSet(SwitchInfo) where MADHeader:SMPData=SWITCH_INFO_DATA1)

  2. SMP_DATA = ReceiveMad(SubnGetResp(PortInfo))

  3. SendMad ( SubnGet(SwitchInfo) ) Remark: This SubnGet() is not necessary because SubnGetResp() in Step 6 should return result of SubnSet(). Additional SubnGet() is employed to detect any failures in the processing SubnSet().

  4. SMP_DATA = ReceiveMad( SubnGetResp(SwitchInfo))

◆ initialize()

boolean initialize ( ) throws TestException
protectedinherited

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.

  4. Get Number of Ports


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