LUM-IFSDH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DateAndTime
        FROM SNMPv2-TC
    lumModules, lumIfSdhMIB
        FROM LUM-REG
    Unsigned32WithNA, SignalStatusWithNA, FaultStatusWithNA,
    DisplayStringWithNA, MgmtNameString, EnabledDisabledWithNA
        FROM LUM-TC;

lumIfSdhMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The MIB module for management of sdh parameters on port objects.


        This module describes the regenerator and multiplexing sections
        in ITU G.707 Recommendation.

        References are referring to G.707 (12/2003), G.783 (03/206)

        The tables contained in this MIB are:

        (1) The General group contains some general attributes as time stamps
            and tables sizes.

        (2) The regenerator (rs) group contains information and
            configuration for the regenerator section overhead.

        (3) The multiplexing (ms) group contains information and
	    configuration for the multiplexing overhead.

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201501230000Z" -- January 23rd 2015
    DESCRIPTION
        "Changes made for release r24:
        - Added Tx LOF alarm."
    REVISION
        "201405160000Z" -- May 16th 2014
    DESCRIPTION
        "Changes made for release r23:
        - Changed board name from tp10gotn to tphex10gotn.
        - Added tpmrHL16G board"
    REVISION
        "201311150000Z" -- November 15th 2013
    DESCRIPTION
        "Changes made for release r22:
        - Added tp10gotn board."
    REVISION
        "201305010000Z" -- May 1st 2013
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 52 }


-- ----------------------------------------------------
-- Compliance area, containing groups and compliance
-- specifications.
-- ----------------------------------------------------

lumIfSdhConfs OBJECT IDENTIFIER ::= { lumIfSdhMIB 1 }
lumIfSdhGroups OBJECT IDENTIFIER ::= { lumIfSdhConfs 1 }
lumIfSdhCompl OBJECT IDENTIFIER ::= { lumIfSdhConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the IFSDH MIB
-- ----------------------------------------------------

lumIfSdhMIBObjects OBJECT IDENTIFIER ::= { lumIfSdhMIB 2 }


-- ----------------------------------------------------
-- This MIB contains the following groups:
-- ----------------------------------------------------

ifSdhGeneral OBJECT IDENTIFIER ::= { lumIfSdhMIBObjects 1 }
ifSdhRsList OBJECT IDENTIFIER ::= { lumIfSdhMIBObjects 2 }
ifSdhMsList OBJECT IDENTIFIER ::= { lumIfSdhMIBObjects 3 }
ifSdhAuList OBJECT IDENTIFIER ::= { lumIfSdhMIBObjects 4 }
ifSdhVcList OBJECT IDENTIFIER ::= { lumIfSdhMIBObjects 5 }

-- ----------------------------------------------------
-- General group
-- ----------------------------------------------------

ifSdhGeneralConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the MIB was
        last changed.

"
    ::= { ifSdhGeneral 1 }

ifSdhGeneralStateLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the state and/or configuration of the
	MIB was last changed.

"
    ::= { ifSdhGeneral 2 }

ifSdhGeneralIfSdhRsTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of rs table.

"
    ::= { ifSdhGeneral 3 }

ifSdhGeneralIfSdhRsConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the table was
        last changed.

"
    ::= { ifSdhGeneral 4 }

ifSdhGeneralIfSdhRsStateLastChangeTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The time when the state of the table was last
        changed.

"
   ::= { ifSdhGeneral 5 }

ifSdhGeneralIfSdhMsTableSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Size of ms table

"
    ::= { ifSdhGeneral 6 }

ifSdhGeneralIfSdhMsConfigLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time when the configuration of the table was
        last changed.

"
    ::= { ifSdhGeneral 7 }

ifSdhGeneralIfSdhMsStateLastChangeTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The time when the state and/or configuration of the
       table was last changed.

"
   ::= { ifSdhGeneral 8 }

-- ----------------------------------------------------
-- SDH RS group
-- ----------------------------------------------------

ifSdhRsTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfSdhRsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The regenerator (rs) group contains information and
         configuration for the regenerator section (rs)."

    ::= { ifSdhRsList 1 }

ifSdhRsEntry OBJECT-TYPE
    SYNTAX      IfSdhRsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifSdh rs list.

"
    INDEX { ifSdhRsIndex }
    ::= { ifSdhRsTable 1 }

IfSdhRsEntry ::=
    SEQUENCE {
        ifSdhRsIndex                       Unsigned32,
        ifSdhRsName                        MgmtNameString,
        ifSdhRsConnIfBasicIfIndex          Unsigned32WithNA,
        ifSdhRsOhTransparencyBitmask       Unsigned32WithNA,
        ifSdhRsTraceTransmitted            DisplayStringWithNA,
        ifSdhRsTraceReceived               DisplayStringWithNA,
        ifSdhRsTraceExpected               DisplayStringWithNA,
        ifSdhRsTraceAlarmMode              EnabledDisabledWithNA,
        ifSdhRsTxSignalStatus              SignalStatusWithNA,
        ifSdhRsRxSignalStatus              SignalStatusWithNA,
        ifSdhRsTraceMismatch               FaultStatusWithNA,
        ifSdhRsLossOfFrame                 FaultStatusWithNA,
        ifSdhRsTxLossOfFrame               FaultStatusWithNA }

ifSdhRsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { ifSdhRsEntry 1 }

ifSdhRsName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the optical transmission section,
        for example 'rs:1:2:1-2', where the first number indicates
        subrack, the second slot number and the third/fourth
        are the physical port numbers.

"
    ::= { ifSdhRsEntry 2 }

ifSdhRsConnIfBasicIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index that describes to which index in ifBasicIf table
        this object is related.

"
    ::= { ifSdhRsEntry 3 }

ifSdhRsOhTransparencyBitmask   OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION

         "The OH transparency bitmask.
	  Bits:
	  B1     = 0x01
       	  E1     = 0x02
       	  F1     = 0x04
       	  D1-D3  = 0x08
       	  J0     = 0x10

"
    DEFVAL { 0 }
    ::= { ifSdhRsEntry 4 }

ifSdhRsTraceTransmitted   OBJECT-TYPE
    SYNTAX      DisplayStringWithNA (SIZE(0..15))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The trace to be transmitted from this interface.

         Default value:	<IP address>:<subrack>:<slot>:<port>
	     Note that only the last part of the address is used.

         The trace _notApplicable_ is used to tell SNMP clients that
	     attribute is not used in current configuration.

"
    ::= { ifSdhRsEntry 5 }

ifSdhRsTraceReceived OBJECT-TYPE
    SYNTAX      DisplayStringWithNA (SIZE(0..15))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The received trace for this interface.

	     The trace _notApplicable_ is used to tell SNMP clients that
	     attribute is not used in current configuration.

	     The trace _notAvailable_ is used to tell SNMP clients that
	     attribute is not possible to read at the moment.

"
    ::= { ifSdhRsEntry 6 }

ifSdhRsTraceExpected OBJECT-TYPE
    SYNTAX      DisplayStringWithNA (SIZE(0..15))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Trace used for matching against the received trace.

	 The trace _notApplicable_ is used to tell SNMP clients that
	 attribute is not used in current configuration.

"
    DEFVAL { "" }
    ::= { ifSdhRsEntry 7 }

ifSdhRsTraceAlarmMode OBJECT-TYPE
    SYNTAX      EnabledDisabledWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Controls if the trace identifier mismatch alarm
        should be raised if received trace and expected trace
        differs.

        disabled - The alarm is disabled.

        enabled - The alarm is raised if expected trace identifier
        differs from the received trace identifier.

"
    DEFVAL { disabled }
    ::= { ifSdhRsEntry 8 }

ifSdhRsTxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for outgoing (TX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifSdhRsEntry 9 }

ifSdhRsRxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for incoming (RX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifSdhRsEntry 10 }

ifSdhRsTraceMismatch OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Trace identifier mismatch (TIM).

        Indicates if the expected trace identifier differs from the
        received trace identifier.

        Reference: J0: G.707/9.2.2.2, TIM: G.806/2.2.2

        alarm: The received trace identifier differs from
        the expected trace identifier.

        ok: The identifiers match.

"
    ::= { ifSdhRsEntry 11 }

ifSdhRsLossOfFrame OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx RS-Loss of frame (LOF).

        Reference: G.707/9.2.2.1, G.783/2.5.1, G.783/9.3.1.2

        alarm: An RSOH frame cannot be located.

        ok: An RSOH frame can be located.

"
    ::= { ifSdhRsEntry 12 }

ifSdhRsTxLossOfFrame OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx RS-Loss of frame (LOF).

        Reference: G.707/9.2.2.1, G.783/2.5.1, G.783/9.3.1.2

        alarm: An RSOH frame cannot be located.

        ok: An RSOH frame can be located.

"
    ::= { ifSdhRsEntry 13 }

-- ----------------------------------------------------
-- SDH MS group
-- ----------------------------------------------------

ifSdhMsTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF IfSdhMsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The multiplexing (ms) group contains information and
	 configuration for the multiplexing section (ms)."

    ::= { ifSdhMsList 1 }

ifSdhMsEntry OBJECT-TYPE
    SYNTAX      IfSdhMsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifSdh ms list.

"
    INDEX { ifSdhMsIndex }
    ::= { ifSdhMsTable 1 }

IfSdhMsEntry ::=
    SEQUENCE {
        ifSdhMsIndex                       Unsigned32,
        ifSdhMsName                        MgmtNameString,
        ifSdhMsConnIfBasicIfIndex          Unsigned32WithNA,
        ifSdhMsOhTransparencyBitmask       Unsigned32WithNA,
        ifSdhMsTxSignalStatus              SignalStatusWithNA,
        ifSdhMsRxSignalStatus              SignalStatusWithNA,
        ifSdhMsRxAlarmIndicationSignal     FaultStatusWithNA,
        ifSdhMsRemoteDefectIndication      FaultStatusWithNA,
        ifSdhMsTxAlarmIndicationSignal     FaultStatusWithNA }

ifSdhMsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index assigned to each entry.

"
    ::= { ifSdhMsEntry 1 }

ifSdhMsName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the optical transmission section,
        for example 'ms:1:2:1-2', where the first number indicates
        subrack, the second slot number and the third/fourth
        are the physical port numbers.

"
    ::= { ifSdhMsEntry 2 }

ifSdhMsConnIfBasicIfIndex OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An index that describes to which index in ifBasicIf table
        this object is related.

"
    ::= { ifSdhMsEntry 3 }

ifSdhMsOhTransparencyBitmask   OBJECT-TYPE
    SYNTAX      Unsigned32WithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION

         "The OH transparency bitmask.
	      Bits:
	      B2     = 0x01
       	  E2     = 0x02
       	  D4-D12 = 0x04
       	  K1-K2  = 0x08

"
    DEFVAL { 0 }
    ::= { ifSdhMsEntry 4 }

ifSdhMsTxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for outgoing (TX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifSdhMsEntry 5 }

ifSdhMsRxSignalStatus OBJECT-TYPE
    SYNTAX      SignalStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The state for incoming (RX) signal
        of the interface.

        down - A major fault has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { ifSdhMsEntry 6 }

ifSdhMsRxAlarmIndicationSignal OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx MS-Alarm indication signal (AIS).

        Reference: G.806/6.2.6.2, G.806/6.3.1, G.806/Appendix III

        alarm: An MS AIS signal is detected.

        ok: The MS AIS is cleared.

"
    ::= { ifSdhMsEntry 7 }

ifSdhMsRemoteDefectIndication OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Rx MS-Remote defect indication (RDI).

        Reference: G1: G.707/9.3.1.4, G.806/6.2.6.3, G.806/6.3.2

        alarm: RDI indication (in frame) active.

        ok: RDI indication inactive.

"
    ::= { ifSdhMsEntry 8 }

ifSdhMsTxAlarmIndicationSignal OBJECT-TYPE
    SYNTAX      FaultStatusWithNA
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx MS-Alarm indication signal (AIS).

        Reference: G.806/6.2.6.2, G.806/6.3.1, G.806/Appendix III

        alarm: An MS AIS signal is detected.

        ok: The MS AIS is cleared.

"
    ::= { ifSdhMsEntry 9 }

-- ----------------------------------------------------
-- Notifications
-- ----------------------------------------------------


-- ----------------------------------------------------
-- Object and event groups
-- ----------------------------------------------------

ifSdhGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        ifSdhGeneralConfigLastChangeTime,
        ifSdhGeneralStateLastChangeTime,
        ifSdhGeneralIfSdhRsTableSize,
        ifSdhGeneralIfSdhRsConfigLastChangeTime,
        ifSdhGeneralIfSdhRsStateLastChangeTime,
	    ifSdhGeneralIfSdhMsTableSize,
	    ifSdhGeneralIfSdhMsConfigLastChangeTime,
        ifSdhGeneralIfSdhMsStateLastChangeTime }

    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumIfSdhGroups 1 }

ifSdhRsGroupV1 OBJECT-GROUP
    OBJECTS {
        ifSdhRsIndex,
        ifSdhRsName,
        ifSdhRsConnIfBasicIfIndex,
	    ifSdhRsOhTransparencyBitmask,
	    ifSdhRsTraceTransmitted,
	    ifSdhRsTraceReceived,
	    ifSdhRsTraceExpected,
	    ifSdhRsTraceAlarmMode,
	    ifSdhRsTxSignalStatus,
        ifSdhRsRxSignalStatus,
        ifSdhRsTraceMismatch,
        ifSdhRsLossOfFrame }

    STATUS      deprecated
    DESCRIPTION
        "The ifSdh RS objects (R20.0)."
    ::= { lumIfSdhGroups 2 }

ifSdhMsGroupV1 OBJECT-GROUP
    OBJECTS {
        ifSdhMsIndex,
        ifSdhMsName,
        ifSdhMsConnIfBasicIfIndex,
        ifSdhMsOhTransparencyBitmask,
        ifSdhMsTxSignalStatus,
        ifSdhMsRxSignalStatus,
        ifSdhMsRxAlarmIndicationSignal,
        ifSdhMsRemoteDefectIndication }

    STATUS      deprecated
    DESCRIPTION
        "The ifSdh MS objects (R20.0)."
    ::= { lumIfSdhGroups 3 }

ifSdhMsGroupV2 OBJECT-GROUP
    OBJECTS {
        ifSdhMsIndex,
        ifSdhMsName,
        ifSdhMsConnIfBasicIfIndex,
        ifSdhMsOhTransparencyBitmask,
        ifSdhMsTxSignalStatus,
        ifSdhMsRxSignalStatus,
        ifSdhMsRxAlarmIndicationSignal,
        ifSdhMsRemoteDefectIndication,
        ifSdhMsTxAlarmIndicationSignal }

    STATUS      current
    DESCRIPTION
        "The ifSdh MS objects (R24.0)."
    ::= { lumIfSdhGroups 4 }

ifSdhRsGroupV2 OBJECT-GROUP
    OBJECTS {
        ifSdhRsIndex,
        ifSdhRsName,
        ifSdhRsConnIfBasicIfIndex,
	    ifSdhRsOhTransparencyBitmask,
	    ifSdhRsTraceTransmitted,
	    ifSdhRsTraceReceived,
	    ifSdhRsTraceExpected,
	    ifSdhRsTraceAlarmMode,
	    ifSdhRsTxSignalStatus,
        ifSdhRsRxSignalStatus,
        ifSdhRsTraceMismatch,
        ifSdhRsLossOfFrame,
        ifSdhRsTxLossOfFrame }

    STATUS      current
    DESCRIPTION
        "The ifSdh RS objects (R24.0)."
    ::= { lumIfSdhGroups 5 }

-- ----------------------------------------------------
-- Compliance
-- ----------------------------------------------------

lumIfSdhComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifSdh MIB. (R20.0)"
    MODULE
        MANDATORY-GROUPS {
            ifSdhGeneralGroupV1,
            ifSdhRsGroupV1,
            ifSdhMsGroupV1 }
    ::= { lumIfSdhCompl 1 }

lumIfSdhComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the ifSdh MIB. (R24.0)"
MODULE
    MANDATORY-GROUPS {
        ifSdhGeneralGroupV1,
        ifSdhRsGroupV1,
        ifSdhMsGroupV2 }
::= { lumIfSdhCompl 2 }

lumIfSdhComplV3 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
    "Basic implementation requirements for the ifSdh MIB. (R24.0)"
MODULE
    MANDATORY-GROUPS {
        ifSdhGeneralGroupV1,
        ifSdhRsGroupV2,
        ifSdhMsGroupV2 }
::= { lumIfSdhCompl 3 }

END

