LUM-SDHPDH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DisplayString, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumSdhpdhMIB
        FROM LUM-REG
    FaultStatus, MgmtNameString, BoardOrInterfaceAdminStatus,
    BoardOrInterfaceOperStatus, CommandString
        FROM LUM-TC;

lumSdhpdhMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The SDHPDH interface and protection group MIB.

        - General

        - E1T1 interfaces

"
    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201601110000Z" -- Jan 11th 2016
    DESCRIPTION
        "Added default value notPresent for operStatus."
    REVISION
        "201106150000Z" -- June 15th 2011
    DESCRIPTION
        "Updates for R17.0."
    REVISION
        "200906150000Z" -- June 15th 2009
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 35 }


-- ----------------------------------------------------
-- Conformance area, containing groups and complicance
-- specifications.
-- ----------------------------------------------------

lumSdhpdhConfs OBJECT IDENTIFIER ::= { lumSdhpdhMIB 1 }
lumSdhpdhGroups OBJECT IDENTIFIER ::= { lumSdhpdhConfs 1 }
lumSdhpdhCompl OBJECT IDENTIFIER ::= { lumSdhpdhConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the sdhpdh MIB
-- ----------------------------------------------------

lumSdhpdhMIBObjects OBJECT IDENTIFIER ::= { lumSdhpdhMIB 2 }


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

sdhpdhGeneral OBJECT IDENTIFIER ::= { lumSdhpdhMIBObjects 1 }
sdhpdhE1t1List OBJECT IDENTIFIER ::= { lumSdhpdhMIBObjects 2}
sdhpdhEquipmentList OBJECT IDENTIFIER ::= { lumSdhpdhMIBObjects 3}

-- ----------------------------------------------------
-- Textual Conventions
-- ----------------------------------------------------

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

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

"
    ::= { sdhpdhGeneral 1 }

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

"
    ::= { sdhpdhGeneral 2 }

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

"
    ::= { sdhpdhGeneral 3 }

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

"
    ::= { sdhpdhGeneral 4 }

-- ----------------------------------------------------
-- Sdhpdh E1T1 definitions
-- ----------------------------------------------------

sdhpdhE1t1Table  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SdhpdhE1t1Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The SDHPDH table."
    ::= { sdhpdhE1t1List 1 }

sdhpdhE1t1Entry OBJECT-TYPE
    SYNTAX      SdhpdhE1t1Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the SDHPDH table.
"
    INDEX { sdhpdhE1t1Index }
    ::= { sdhpdhE1t1Table 1 }

SdhpdhE1t1Entry ::=
    SEQUENCE {
    sdhpdhE1t1Index			  Unsigned32,
    sdhpdhE1t1Name  		          MgmtNameString,
    sdhpdhE1t1Descr			  DisplayString,
    sdhpdhE1t1AdminStatus		  INTEGER,
    sdhpdhE1t1OperStatus		  INTEGER,
    sdhpdhE1t1AlarmIndicationSignalW2C    FaultStatus,
    sdhpdhE1t1AlarmIndicationSignalC2W    FaultStatus,
    sdhpdhE1t1LossOfFrameC2W              FaultStatus,
    sdhpdhE1t1LossOfFrameW2C              FaultStatus,
    sdhpdhE1t1UnEquipped                  FaultStatus,
    sdhpdhE1t1ConnectionStatus            DisplayString,
    sdhpdhE1t1SubChannelId                Unsigned32,
    sdhpdhE1t1MultiplexingInformation     DisplayString,
    sdhpdhE1t1RxSignalStatus              INTEGER,
    sdhpdhE1t1TxSignalStatus    	  INTEGER,
    sdhpdhE1t1VcIndex                     Unsigned32,
    sdhpdhE1t1ClockDomain                 DisplayString,
    sdhpdhE1t1TuAlarmIndicationSignalC2W  FaultStatus,
    sdhpdhE1t1TuLossOfPointerC2W          FaultStatus,
    sdhpdhE1t1FrameFormat                 INTEGER,
    sdhpdhE1t1EquipmentIndex              Unsigned32,
    sdhpdhE1t1SignalLabel                 INTEGER
    }

sdhpdhE1t1Index OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
    ::= { sdhpdhE1t1Entry 1 }

sdhpdhE1t1Name OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	"The name of the object, for example
	'e1t1:1:2:1-2:1', where the numbers indicate the
	subrack, slot, port numbers and e1t1 index.

"
    DEFVAL { "" }
    ::= { sdhpdhE1t1Entry 2 }

sdhpdhE1t1Descr OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User configurable label.

"
    DEFVAL { "" }
    ::= { sdhpdhE1t1Entry 6 }

sdhpdhE1t1AdminStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceAdminStatus
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state for the interface.

        down - The interface should be inactive.

        service - The object is activated but alarms
        are suppressed. Intended for use during service
        or re-configuration. When service is concluded
        adminStatus should be set to 'up' again. Note that
        there is no difference between 'up' and 'service',
        if no alarms can be raised from this object.

        up - The interface should be activated when
        it becomes available. Alarms are not suppressed.

"
    DEFVAL { up }
    ::= { sdhpdhE1t1Entry 7 }

sdhpdhE1t1OperStatus OBJECT-TYPE
    SYNTAX      BoardOrInterfaceOperStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for the interface.

        notPresent - The interface is not available.

        down - The interface is de-activated or there are
        faults preventing it from going to the 'up'-state.

        up - The interface is active.

"
    DEFVAL { notPresent }
    ::= { sdhpdhE1t1Entry 8 }


sdhpdhE1t1AlarmIndicationSignalW2C OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm indication signal.

        A: An 'all ones' signal is detected.

        D: Signal recovered.

"
    ::= { sdhpdhE1t1Entry 9 }

sdhpdhE1t1AlarmIndicationSignalC2W OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm indication signal.

        A: An 'all ones'  signal is detected.

        D: Signal recovered.

"
    ::= { sdhpdhE1t1Entry 10 }

sdhpdhE1t1LossOfFrameC2W OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of frame.
        All forms of sync loss.

"
    ::= { sdhpdhE1t1Entry 11 }

sdhpdhE1t1LossOfFrameW2C OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of frame.
        All forms of sync loss.

"
    ::= { sdhpdhE1t1Entry 12 }

sdhpdhE1t1UnEquipped OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows whether the E1T1 has payload or not.

	A: No payload.
	
	D: Has payload

"
    ::= { sdhpdhE1t1Entry 13 }

sdhpdhE1t1ConnectionStatus OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows the name of the wdm port and
	possible subchannel that it is connected to
	or Unconnected if not connected.

"
    DEFVAL { "Not connected" }
    ::= { sdhpdhE1t1Entry 14 }

sdhpdhE1t1SubChannelId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Channel number.

         For E1: according to MLK (ITU-T G.707 Figure 7-27)
         For T1: TBD.

"
    ::= { sdhpdhE1t1Entry 15 }

sdhpdhE1t1MultiplexingInformation OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Channels are numbered 1.1.1, 2.1.1, 3.1.1, 1.2.1, ....

         The digits are called  K, L and M: K.L.M

         SDH/E1
         ======
         Refer to G.707 7.3
             K = TUG3 number
             L = TUG2 number
             M = TU-1 number

         MLK

         ITU-T defines a linear numbering where the K-part is always
         changed between two subsequent numbers. Refer to G.707 Figure 7-27:
              K L M
          1 = 1.1.1
          2 = 2.1.1
          3 = 3.1.1
          4 = 1.2.1
          5 = 2.2.1
         We call this MLK/ITU-T numbering

         The objects are normally listed in MLK-order in the XTM Series.

         KLM
         There is another numbering called KLM where K is most significant
         and M is changed between two subsequent numbers
              K L M
          1 = 1.1.1
          2 = 1.1.2
          3 = 1.1.3
          4 = 1.2.1
          5 = 1.2.2

        SONET/T1
        ========
             K = STS-1-SPE
             L = VTG
             M = VT1.5

"
    DEFVAL { "" }
    ::= { sdhpdhE1t1Entry 16 }

sdhpdhE1t1RxSignalStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        down (1),
                        degraded (2),
                        up (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for incoming (RX) signal
        of the interface.

        down - A fault that would lead to a protection
        switch has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { sdhpdhE1t1Entry 17 }

sdhpdhE1t1TxSignalStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                        down (1),
                        degraded (2),
                        up (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for outgoing (TX) signal
        of the interface.

        down - A fault that would lead to a protection
        switch has occurred.

        degraded - The signal quality is impaired.

        up - The signal is OK.

"
    ::= { sdhpdhE1t1Entry 18 }

sdhpdhE1t1VcIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows what index corresponding
	VC3/VC4 has in clientVc4 table.

"
    ::= { sdhpdhE1t1Entry 19 }

sdhpdhE1t1ClockDomain OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows the origin of the clock received from
         the hub.

"
    ::= { sdhpdhE1t1Entry 20 }

sdhpdhE1t1TuAlarmIndicationSignalC2W OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Alarm indication signal.

        A: An 'all ones'  signal is detected.

        D: Signal recovered.

"
    ::= { sdhpdhE1t1Entry 21 }

sdhpdhE1t1TuLossOfPointerC2W OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Loss of pointer.
        All forms of sync loss.

"
    ::= { sdhpdhE1t1Entry 22 }

sdhpdhE1t1FrameFormat OBJECT-TYPE
    SYNTAX      INTEGER {
                        sf (1),
                        esf (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Select the frame format for T1 signals

         esf - Extended Super Frame (ESF) is a T1 framing standard,
               sometimes called D5 framing. It is preferred to its
               predecessor, Super Frame, because it includes a cyclic
               redundancy check (CRC) and 4000 bit/s channel capacity for a
               data link channel.

         sf  - Super Frame is an older framing standard for T1. Also called
               D4 or D3/D4 framing.

"
    DEFVAL { esf }
    ::= { sdhpdhE1t1Entry 23 }

sdhpdhE1t1EquipmentIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows what index corresponding
	equipment has in equipment table.

"
    ::= { sdhpdhE1t1Entry 24 }

sdhpdhE1t1SignalLabel OBJECT-TYPE
    SYNTAX      INTEGER {
                        unequipped (0),
                        equippedNonspecific (1),
                        asynchronous (2),
                        bitSynchronous (3),
			byteSynchronous (4),
			reserved (5),
			testSignal (6),
			vcAis (7) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Shows synchronous status of the
	incoming signal.

"
    ::= { sdhpdhE1t1Entry 25 }


-- ----------------------------------------------------
-- Sdhpdh Equipment definitions
-- ----------------------------------------------------

sdhpdhEquipmentTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SdhpdhEquipmentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The SDHPDH table."
    ::= { sdhpdhEquipmentList 1 }

sdhpdhEquipmentEntry OBJECT-TYPE
    SYNTAX      SdhpdhEquipmentEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the SDHPDH table.
"
    INDEX { sdhpdhEquipmentIndex }
    ::= { sdhpdhEquipmentTable 1 }

SdhpdhEquipmentEntry ::=
    SEQUENCE {
    sdhpdhEquipmentIndex			    Unsigned32,
    sdhpdhEquipmentName                             MgmtNameString,
    sdhpdhEquipmentMultiplexingStructure            INTEGER,
    sdhpdhEquipmentChangeMultiplexStructureCommand  CommandString }

sdhpdhEquipmentIndex OBJECT-TYPE
    SYNTAX      Unsigned32 (1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "An arbitrary index assigned to each entry.

"
    ::= { sdhpdhEquipmentEntry 1 }

sdhpdhEquipmentName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface, for example
         'sdhpdheq:1:2:1' (sdhpdheq:[subrack]:[slot]).

"
    ::= { sdhpdhEquipmentEntry 2 }

sdhpdhEquipmentMultiplexingStructure OBJECT-TYPE
    SYNTAX      INTEGER {
     		    vc3 (1),
		    vc4 (2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
	"Choose if vc3 or vc4 is used

"
    DEFVAL { vc4 }
    ::= { sdhpdhEquipmentEntry 3 }

sdhpdhEquipmentChangeMultiplexStructureCommand OBJECT-TYPE
    SYNTAX      CommandString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Command to change the multiplexing structure

"
    ::= { sdhpdhEquipmentEntry 4 }

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

sdhpdhGeneralGroup OBJECT-GROUP
    OBJECTS {
       sdhpdhGeneralLastChangeTime,
       sdhpdhGeneralStateLastChangeTime,
       sdhpdhGeneralE1t1TableSize,
       sdhpdhGeneralEquipmentTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumSdhpdhGroups 1 }

sdhpdhE1t1Group OBJECT-GROUP
    OBJECTS {
        sdhpdhE1t1Index,
        sdhpdhE1t1Name,
        sdhpdhE1t1Descr,
        sdhpdhE1t1AdminStatus,
	sdhpdhE1t1OperStatus,
        sdhpdhE1t1AlarmIndicationSignalW2C,
	sdhpdhE1t1AlarmIndicationSignalC2W,
	sdhpdhE1t1LossOfFrameC2W,
	sdhpdhE1t1LossOfFrameW2C,
	sdhpdhE1t1UnEquipped,
	sdhpdhE1t1ConnectionStatus,
	sdhpdhE1t1SubChannelId,
	sdhpdhE1t1MultiplexingInformation,
	sdhpdhE1t1RxSignalStatus,
	sdhpdhE1t1TxSignalStatus,
	sdhpdhE1t1VcIndex,
        sdhpdhE1t1ClockDomain,
	sdhpdhE1t1TuAlarmIndicationSignalC2W,
	sdhpdhE1t1TuLossOfPointerC2W,
	sdhpdhE1t1FrameFormat }
    STATUS      deprecated
    DESCRIPTION
        "The SDHPDH E1T1 objects. (15.0) "
    ::= { lumSdhpdhGroups 2 }

sdhpdhEquipmentGroup OBJECT-GROUP
    OBJECTS {
        sdhpdhEquipmentIndex,
	sdhpdhEquipmentName,
        sdhpdhEquipmentMultiplexingStructure,
	sdhpdhEquipmentChangeMultiplexStructureCommand }
    STATUS      current
    DESCRIPTION
        "The SDHPDH Equipment objects. (16.0) "
    ::= { lumSdhpdhGroups 3 }

sdhpdhE1t1GroupV2 OBJECT-GROUP
    OBJECTS {
        sdhpdhE1t1Index,
        sdhpdhE1t1Name,
        sdhpdhE1t1Descr,
        sdhpdhE1t1AdminStatus,
	sdhpdhE1t1OperStatus,
        sdhpdhE1t1AlarmIndicationSignalW2C,
	sdhpdhE1t1AlarmIndicationSignalC2W,
	sdhpdhE1t1LossOfFrameC2W,
	sdhpdhE1t1LossOfFrameW2C,
	sdhpdhE1t1UnEquipped,
	sdhpdhE1t1ConnectionStatus,
	sdhpdhE1t1SubChannelId,
	sdhpdhE1t1MultiplexingInformation,
	sdhpdhE1t1RxSignalStatus,
	sdhpdhE1t1TxSignalStatus,
	sdhpdhE1t1VcIndex,
        sdhpdhE1t1ClockDomain,
	sdhpdhE1t1TuAlarmIndicationSignalC2W,
	sdhpdhE1t1TuLossOfPointerC2W,
	sdhpdhE1t1FrameFormat,
	sdhpdhE1t1EquipmentIndex,
	sdhpdhE1t1SignalLabel }
    STATUS      current
    DESCRIPTION
        "The SDHPDH E1T1 objects. (17.0) "
    ::= { lumSdhpdhGroups 4 }

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

lumSdhpdhBasicCompl1 MODULE-COMPLIANCE
    STATUS     deprecated
    DESCRIPTION
        "Basic implementation requirements for the SDHPDH MIB V1. (15.0)"
    MODULE
        MANDATORY-GROUPS {
	    sdhpdhGeneralGroup,
            sdhpdhE1t1Group,
	    sdhpdhEquipmentGroup
 }
 ::= { lumSdhpdhCompl 1 }

lumSdhpdhBasicCompl2 MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "Basic implementation requirements for the SDHPDH MIB V2. (16.0)"
    MODULE
        MANDATORY-GROUPS {
	    sdhpdhGeneralGroup,
            sdhpdhE1t1GroupV2,
	    sdhpdhEquipmentGroup
 }
 ::= { lumSdhpdhCompl 2 }


END



