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

Inherits C14_024_04_SW_RW.

Public Member Functions

 C14_024_04_SW_03 ()
 
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.3 READ WRITE COMPONENTS PART 2

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.

  1. SMP_DATA and SMP_DATA_UPDATE are variables of type MadPacketSpec

Test Case Description

◆ C14_024_04_SW_03()

24.1.5.11.3 SWITCHINFO READ WRITE COMPONENTS PART 2

Assertions: v1c13-024#01, v1c13-024#07, v1c14-024.1.1#04.04, v1c14-030#01

Notes:

  1. This TD tests the RW fields with illegal values
  2. SwitchInfo:LinearFDBTop may not be supported by switches which 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.
  4. Variable SWITCH_INFO_DATA amd SWITCH_INFO_DATA1 are structures of SwitchInfo Attribute which contains all fields as integers.
  5. NUM_PORTS is a variable of type integer

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

  4. If (SWITCH_INFO_DATA.LinearFDBCap != 0 then

    • Remark: Linear FDB supported on this switch.
    • Remark: Change RW field LinearFDBTop to illegal value - greater than LinearFDBCap.
      • SWITCH_INFO_DATA1.LinearFDBTop = value greater than LinearFDBCap
    1. See SubnSetRWFields(final String strField, final Field field, final long value, int expectedStatus) for steps 5 - 8

    2. Verify:

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

    3. For each SwitchInfo:RW_Field, verify that the field has changed ...

      • Verify that the RW field LinearFDBTop has not changed

  5. Else

    • Remark: Random FDB supported on this switch.
    • Remark: Change RW field DefaultPort to illegal value - greater than NUM_PORTS.
      • SWITCH_INFO_DATA1.DefaultPort = value greater than NUM_PORTS
    1. See SubnSetRWFields(final String strField, final Field field, final long value, int expectedStatus) for steps 13 - 16

    2. Verify:

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

  6. End If

◆ 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: