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

Inherits MadTest.

Public Member Functions

 C14_024_10_02 ()
 
boolean execute () throws TestException
 

Protected Member Functions

boolean initialize () throws TestException
 

Detailed Description

24.1.5.13.2 LINEAR FORWARDING TABLE TEST FOR SUPPORTED ATTRIBUTE AND VALID SWITCH PORTS

24.1.5.13 V1C14-024.1.1 SUBNET MANAGEMENT ATTRIBUTE - LINEARFORWARDINGTABLE

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

Coverage: v1c13-024, v1c14-024.1.1

Topology Configuration: SimpleLink: Tester=MAD Tester; Width=1X, 2X, 4X, 8X, or 12X; Speed=SDR, DDR, QDR, FDR, EDR, HDR; 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. this TD should be executed for switches only since the attribute is not applicable to xCAs and routers

Test Case Description

◆ C14_024_10_02()

24.1.5.13.2 LINEAR FORWARDING TABLE TEST FOR SUPPORTED ATTRIBUTE AND VALID SWITCH PORTS

NOTE: TCL has this as C14-024#10.01 which does not match TD

Assertions: v1c13-024#01, v1c13-024#07, v1c14-024.1.1#10.01, v1c14-024.1.1#10.02, v1c14-024.1.1#10.03, v1c14-024.1.1#10.04, v1c14-024.1.1#10.05

Notes:

  1. Variable DUT_FDB_LIN_CAP of type integer
  2. Variable DUT_FDB_RANDOM_CAP of type integer
  3. SMP_DATA is variable of type MadPacketSpec

Developer: Llolsten Kaonga

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

  2. NUM_PORTS = ReceiveMad (SubnGetResp(NodeInfo):NumPorts)

  3. SendMad (SubnGet(SwitchInfo))

  4. SMP_DATA = ReceiveMad (SubnGetResp(SwitchInfo))

  5. DUT_FDB_LIN_CAP = SMP_DATA:LinearFDBCap

  6. DUT_FDB_RANDOM_CAP = SMP_DATA:RandomFDBCap

  7. DUT_FDB_LIN_TOP = SMP_DATA:LinearFDBTop

  8. Verify (DUT_FDB_LIN_CAP != 0) // v1c14-024.1.1#10.01

    • Remark: Linear forwarding Table supported by this switch.

  9. Verify DUT_FDB_RANDOM_CAP == 0. // v1c14-024.1.1#10.02

    • Remark: If Linear forwarding Table is supported by the switch Random forwarding Table must not be supported by the same switch.

  10. Verify DUT_FDB_LIN_CAP > DUT_FDB_LIN_TOP // v1c14-024.1.1#10.05

    • Remark: Switch might declare supporting less than device functionality.

  11. Tester Procedure steps 12 to 21 should be repeated for all LinearForwardingTable attribute legal values 0 to 767.
  12. SendMad( SubnGet(LinearForwardingTable) where AttributeModifier = attrMod [as specified])
  13. SMP_DATA = ReceiveMad(SubnGetResp(LinearForwardingTable)) // Assertion v1c14-024#10.03
  14. SMP_DATA_1 = (NOT SMP_DATA)
    • Remark: Changing the content of all the PortBlockElements in-order to test SubnSet functionality. All entries in this block will be set to valid ports (0 through NodeInfo:NumPorts)
  15. SendMad ( SubnSet(LinearForwardingTable) ) where Attribute Modifier = 0xattrMod
  16. ReceiveMad(SubnGetResp(LinearForwardingtable))
  17. Verify SMP_DATA format:
    • MADHeader:AttributeID == PortInfo
    • MADHeader:AttributeModifier == as specified
    • MADHeader:Status.Code == 0 // v1c13-024#01
  18. If (MADHeader:AttributeModifier == (DUT_FDB_LIN_TOP / 64)) Then
    • Remark: If AttributeModifier is equal to (DUT_FDB_LIN_TOP / 64) it implies that not all the LIDs in this 64 LIDs block might be supported by the device - and they be handled differently then others.
    • MADHeader:Status.code == 0 // v1c13-024#01
    • If the LID in the block is supported , means (LID MODULO 64) <= (DUT_FDB_LIN_TOP MODULO 64), then MADHeader:MADData.LID == SMP_DATA_1.LinearForwardingTable.LID.
  19. Else verify port entries are valid

    • Remark: Valid LinearForwardingTable entry according to LinearForwardingTop - returned values should not be Zero unless configured to be so.
    • MADHeader:MADData == SMP_DATA_1.LinearForwardingTable.
    • MADHeader:Status.code == 0 // v1c13-024#01.


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