LUM-IFIWDM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    DateAndTime
        FROM SNMPv2-TC
    lumModules, lumIfIwdmMIB
        FROM LUM-REG
    MgmtNameString
        FROM LUM-TC;

lumIfIwdmMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201501230000Z" -- January 23rd 2015
    ORGANIZATION
        "Transmode Systems AB"
    CONTACT-INFO
        "support@transmode.com"
    DESCRIPTION
        "The MIB module the new iWDM mib. iWDM is a proprietary line 
        format of Transmode. Similar to SDH it has two layers of overhead:
        iWDM regenerator section OH (iWDM-rs) and iWDM multiplex section
        OH (iWDM-ms). The management plane aspects of those two layers are 
        specified in this MIB.

        The tables contained in this MIB are:

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

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

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

"
    REVISION
        "201501230000Z" -- January 23rd 2015
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 63 }


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

lumIfIwdmConfs OBJECT IDENTIFIER ::= { lumIfIwdmMIB 1 }
lumIfIwdmGroups OBJECT IDENTIFIER ::= { lumIfIwdmConfs 1 }
lumIfIwdmCompl OBJECT IDENTIFIER ::= { lumIfIwdmConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the IFIWDM MIB
-- ----------------------------------------------------

lumIfIwdmMIBObjects OBJECT IDENTIFIER ::= { lumIfIwdmMIB 2 }


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

ifIwdmGeneral OBJECT IDENTIFIER ::= { lumIfIwdmMIBObjects 1 } 
ifIwdmRsList OBJECT IDENTIFIER ::= { lumIfIwdmMIBObjects 2 }
ifIwdmMsList OBJECT IDENTIFIER ::= { lumIfIwdmMIBObjects 3 }

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

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

"
    ::= { ifIwdmGeneral 1 }

ifIwdmGeneralStateLastChangeTime 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.

"
    ::= { ifIwdmGeneral 2 }

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

"
    ::= { ifIwdmGeneral 3 }

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

"
    ::= { ifIwdmGeneral 4 }

ifIwdmGeneralIfIwdmRsStateLastChangeTime 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.

"
   ::= { ifIwdmGeneral 5 }

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

"
    ::= { ifIwdmGeneral 6 }

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

"
    ::= { ifIwdmGeneral 7 }

ifIwdmGeneralIfIwdmMsStateLastChangeTime 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.

"
   ::= { ifIwdmGeneral 8 }

-- ----------------------------------------------------
-- IWDM RS group
-- ----------------------------------------------------

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

    ::= { ifIwdmRsList 1 }

ifIwdmRsEntry OBJECT-TYPE
    SYNTAX      IfIwdmRsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifIwdm rs list.

"
    INDEX { ifIwdmRsIndex }
    ::= { ifIwdmRsTable 1 }

IfIwdmRsEntry ::=
    SEQUENCE {
        ifIwdmRsIndex                       Unsigned32,
        ifIwdmRsName                        MgmtNameString }

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

"
    ::= { ifIwdmRsEntry 1 }

ifIwdmRsName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the iWDM Rs,
        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.

"
    ::= { ifIwdmRsEntry 2 }

-- ----------------------------------------------------
-- IWDM MS group
-- ----------------------------------------------------

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

    ::= { ifIwdmMsList 1 }

ifIwdmMsEntry OBJECT-TYPE
    SYNTAX      IfIwdmMsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the ifIwdm ms list.

"
    INDEX { ifIwdmMsIndex }
    ::= { ifIwdmMsTable 1 }

IfIwdmMsEntry ::=
    SEQUENCE {
        ifIwdmMsIndex                       Unsigned32,
        ifIwdmMsName                        MgmtNameString }

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

"
    ::= { ifIwdmMsEntry 1 }

ifIwdmMsName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the iWDM Ms,
        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.

"
    ::= { ifIwdmMsEntry 2 }

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


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

ifIwdmGeneralGroupV1 OBJECT-GROUP
    OBJECTS {
        ifIwdmGeneralConfigLastChangeTime,
        ifIwdmGeneralStateLastChangeTime,
        ifIwdmGeneralIfIwdmRsTableSize,
        ifIwdmGeneralIfIwdmRsConfigLastChangeTime,
        ifIwdmGeneralIfIwdmRsStateLastChangeTime,
	    ifIwdmGeneralIfIwdmMsTableSize,
	    ifIwdmGeneralIfIwdmMsConfigLastChangeTime,
        ifIwdmGeneralIfIwdmMsStateLastChangeTime }

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

ifIwdmRsGroupV1 OBJECT-GROUP
    OBJECTS {
        ifIwdmRsIndex,
        ifIwdmRsName }

    STATUS      current
    DESCRIPTION
        "The ifIwdm RS objects (R25.0)."
    ::= { lumIfIwdmGroups 2 }

ifIwdmMsGroupV1 OBJECT-GROUP
    OBJECTS {
        ifIwdmMsIndex,
        ifIwdmMsName }

    STATUS      current
    DESCRIPTION
        "The ifIwdm MS objects (R25.0)."
    ::= { lumIfIwdmGroups 3 }

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

lumIfIwdmComplV1 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the ifIwdm MIB. (R25.0)"
    MODULE
        MANDATORY-GROUPS {
            ifIwdmGeneralGroupV1,
            ifIwdmRsGroupV1,
            ifIwdmMsGroupV1 }
    ::= { lumIfIwdmCompl 1 }

END
