DC-OAM-MPLS-MP-MIB DEFINITIONS ::= BEGIN

-- The MPLS MP MIB

-- PRODUCT-SHORT-NAME mplsmp

-- The following Object syntaxes are imported from other asn1 files.
  IMPORTS
    enterprises, MODULE-IDENTITY, OBJECT-TYPE      FROM SNMPv2-SMI

    MODULE-COMPLIANCE,
    OBJECT-GROUP
                                      FROM SNMPv2-CONF

    RowStatus,
    TruthValue
                                      FROM SNMPv2-TC

    AdminStatus,
    BaseOperStatus,
    NumericIndex
                                      FROM DC-MASTER-TC

    oammEntApplIndex
                                      FROM DC-OAMM-MIB;

-- The Mib Identifier for the set of MIBs defined in this asn1 file.
  mplsMpMib MODULE-IDENTITY
    LAST-UPDATED "201412210000Z"  -- December 21, 2014
    ORGANIZATION "MRV Communications."
    CONTACT-INFO
            "For technical support, please contact your service channel"
    DESCRIPTION  "The MIB module for management of MPLS MPs."
    -- Revision history
      REVISION     "201412210000Z"  -- December 21, 2014
      DESCRIPTION
        "Initial edition."
    ::= { opx 16 }
nbase                      OBJECT IDENTIFIER ::= { enterprises 629 }
opx                      OBJECT IDENTIFIER ::= { nbase 10 }

 -- Top level components of this MIB module.

  mplsMpObjects OBJECT IDENTIFIER ::= { mplsMpMib 1 }
  mplsMpConformance OBJECT IDENTIFIER ::= { mplsMpMib 2 }


-- (None)

-------------------------------------------------------------------------------
-- MPLS MP Table
--
-- This table is used to create and manage MPLS Maintenance Points (MPs) for
-- Operations, Administration, and Maintenance (OAM).

  mplsMpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MplsMpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "MPLS Maintenance Point (MP) MIB."
    ::= { mplsMpObjects 2 }

  mplsMpEntry OBJECT-TYPE
    SYNTAX      MplsMpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Each entry represents a Maintenance Point (MP)."
    INDEX { oammEntApplIndex, mplsMpIndex }
    ::= { mplsMpTable 1 }

  MplsMpEntry ::= SEQUENCE {
    mplsMpIndex                 NumericIndex,
    mplsMpRowStatus             RowStatus,
    mplsMpAdminStatus           AdminStatus,
    mplsMpOperStatus            BaseOperStatus,
    mplsMpProactiveBfdContCheck TruthValue,
    mplsMpProactiveBfdConnVerif TruthValue,
    mplsMpLoopback              TruthValue
    }

  mplsMpIndex OBJECT-TYPE
    SYNTAX       NumericIndex
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
            "This index is used to uniquely identify the Maintenance Point
            (MP).  This is the interface index for the Maintenance Point."
    ::= { mplsMpEntry 1 }

  mplsMpRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
            "Used to create and delete an MPLS MP Table entry."
    ::= { mplsMpEntry 2 }

  mplsMpAdminStatus OBJECT-TYPE
    SYNTAX       AdminStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
            "The desired administrative state of the Maintenance Point."
    DEFVAL { adminStatusUp }
    ::= { mplsMpEntry 3 }

  mplsMpOperStatus OBJECT-TYPE
    SYNTAX       BaseOperStatus
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
            "The current operational state of the Maintenance Point.  Note that
             a Maintenance Point can only be operationally up if the DC-OAM
             Entity is operationally up."
    ::= { mplsMpEntry 4 }

  mplsMpProactiveBfdContCheck OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "Proactive BFD Continuity Check (CC) OAM function should be enabled
         for this MP."
    DEFVAL        { false }
    ::= { mplsMpEntry 5 }

  mplsMpProactiveBfdConnVerif OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "BFD Connectivity Verification (CV) OAM function should be enabled
         for this MP."
    DEFVAL        { false }
    ::= { mplsMpEntry 6 }

  mplsMpLoopback OBJECT-TYPE
    SYNTAX        TruthValue
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
        "This MP should be put into loopback mode at this node."
    DEFVAL        { false }
    ::= { mplsMpEntry 100 }

------------------------------------------------------------------
-- Module Conformance Statement
------------------------------------------------------------------

mplsMpGroups
    OBJECT IDENTIFIER ::= { mplsMpConformance 1 }

mplsMpCompliances
    OBJECT IDENTIFIER ::= { mplsMpConformance 2 }

--
-- Full Compliance
--

mplsMpModuleFullCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The Module is implemented with support
        for read-create.  In other
        words, both monitoring and configuration
        are available when using this MODULE-COMPLIANCE."

    MODULE -- this module
        MANDATORY-GROUPS    { mplsMpGeneralGroup
                            }

    ::= { mplsMpCompliances 1 }

--
-- Read-Only Compliance
--

mplsMpModuleReadOnlyCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
        "The Module is implemented with support
        for read-only.  In other words, only monitoring
        is available by implementing this MODULE-COMPLIANCE."

    MODULE -- this module
        MANDATORY-GROUPS    { mplsMpGeneralGroup
                            }

    ::= { mplsMpCompliances 2 }
-- units of conformance

mplsMpGeneralGroup OBJECT-GROUP
    OBJECTS {
    mplsMpRowStatus,
    mplsMpAdminStatus,
    mplsMpOperStatus,
    mplsMpProactiveBfdContCheck,
    mplsMpProactiveBfdConnVerif,
    mplsMpLoopback
    }
    STATUS current
    DESCRIPTION
        "Objects that apply to all MPLS MP MIB implementations."

    ::= { mplsMpGroups 1 }

END
