-- ***************************************************************
-- INFINERA-ENTITY-MFM-MIB
-- Copyright (c) 2008-2017 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-ENTITY-MFM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Unsigned32       FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE                FROM SNMPv2-CONF
    TruthValue, DisplayString                      FROM SNMPv2-TC
    entPhysicalIndex                               FROM ENTITY-MIB
    equipment                                      FROM INFINERA-REG-MIB
    InfnOPMSwitchPosition, InfnEnableDisableType,
    InfnOPMScanGranularity, InfnASEIdlerMuxOprMode,
    InfnEqptType                                   FROM INFINERA-TC-MIB;

mfmMIB MODULE-IDENTITY
    LAST-UPDATED  "201703200000Z"
    ORGANIZATION
        "Infinera"
    CONTACT-INFO
        "Infinera
                1322 Bordeaux Drive
                Sunnyvale, CA - 94089
                Contact : Technical Support
                Email   : support@infinera.com
                Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "
::= { equipment 58 }


-- Conformance Statements

mfmConformance       OBJECT IDENTIFIER ::= { mfmMIB 3 }
mfmCompliances       OBJECT IDENTIFIER ::= { mfmConformance 1 }
mfmGroups            OBJECT IDENTIFIER ::= { mfmConformance 2 }

mfmTable  OBJECT-TYPE
    SYNTAX SEQUENCE OF MfmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of MFM entries. Each entry is uniquely identified by the value
                of entPhysicalIndex."
    ::= { mfmMIB 1 }

mfmEntry  OBJECT-TYPE
    SYNTAX     MfmEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A MFM entry containing information pertaining to
            Infinera MFM modules. Entries will exist in this table for
            entPhysicalEntries of type MFM."
    INDEX { entPhysicalIndex }
    ::= { mfmTable 1 }

MfmEntry ::= SEQUENCE {
    mfmMoId                          DisplayString,
    mfmProvEqptType                  InfnEqptType,
    mfmAssociatedDegree              DisplayString,
    mfmOPMSwitchSelector             InfnOPMSwitchPosition,
    mfmOPMScanGranularity            InfnOPMScanGranularity,
    mfmScheduledOPMScan              InfnEnableDisableType,
    mfmScheduledOPMScanTime          Unsigned32,
    mfmScheduledOPMScanGranularity   InfnOPMScanGranularity,
    mfmASEIdlerMuxOprMode            InfnASEIdlerMuxOprMode
}

mfmMoId     OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 1 }

mfmProvEqptType OBJECT-TYPE
    SYNTAX      InfnEqptType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 2 }

mfmAssociatedDegree   OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry  3 }

mfmOPMSwitchSelector   OBJECT-TYPE
    SYNTAX      InfnOPMSwitchPosition
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 4 }

mfmOPMScanGranularity   OBJECT-TYPE
    SYNTAX      InfnOPMScanGranularity
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 5 }

mfmScheduledOPMScan   OBJECT-TYPE
    SYNTAX      InfnEnableDisableType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 6 }

mfmScheduledOPMScanTime   OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 7 }

mfmScheduledOPMScanGranularity   OBJECT-TYPE
    SYNTAX      InfnOPMScanGranularity
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 8 }

mfmASEIdlerMuxOprMode   OBJECT-TYPE
    SYNTAX      InfnASEIdlerMuxOprMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { mfmEntry 9 }


mfmCompliance  MODULE-COMPLIANCE
    STATUS     current
    DESCRIPTION
        "Describes the requirements for conformance to the MFM-MIB"
    MODULE
        MANDATORY-GROUPS { mfmGroup }
    ::= { mfmCompliances 1 }

mfmGroup  OBJECT-GROUP
    OBJECTS {
        mfmMoId,
        mfmProvEqptType,
        mfmAssociatedDegree,
        mfmOPMSwitchSelector,
        mfmOPMScanGranularity,
        mfmScheduledOPMScan,
        mfmScheduledOPMScanTime,
        mfmScheduledOPMScanGranularity,
        mfmASEIdlerMuxOprMode
    }
    STATUS     current
    DESCRIPTION
        " A collection of objects for managing a MFM module"
    ::= { mfmGroups 1 }
END

