LUM-NC-MIB DEFINITIONS ::= BEGIN

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

lumNcMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The network connection MIB.

        - General

        - Nc status

"

    REVISION
        "201706150000Z" -- June 15th 2017
    DESCRIPTION
        "Changes made for release r29.0:
         - Changed ORGANIZATION and CONTACT-INFO"
    REVISION
        "201104130000Z" -- April 13th 2011
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 39 }


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

lumNcConfs OBJECT IDENTIFIER ::= { lumNcMIB 1 }
lumNcGroups OBJECT IDENTIFIER ::= { lumNcConfs 1 }
lumNcCompl OBJECT IDENTIFIER ::= { lumNcConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the NC MIB
-- ----------------------------------------------------

lumNcMIBObjects OBJECT IDENTIFIER ::= { lumNcMIB 2 }

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

ncGeneral OBJECT IDENTIFIER ::= { lumNcMIBObjects 1 }
ncStatusList OBJECT IDENTIFIER ::= { lumNcMIBObjects 2 }

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

-- n/a

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

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

"
    ::= { ncGeneral 1 }

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

"
    ::= { ncGeneral 2 }

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

"
    ::= { ncGeneral 3 }

-------------------------------------------------------
-- NC status table
-- ----------------------------------------------------

ncStatusTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF NcStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The status list."
    ::= { ncStatusList 1 }

ncStatusEntry OBJECT-TYPE
    SYNTAX      NcStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the status list.

"
    INDEX { ncStatusIndex }
    ::= { ncStatusTable 1 }

NcStatusEntry ::=
    SEQUENCE {
        ncStatusIndex                   Unsigned32,
        ncStatusIncomplete              FaultStatus,
        ncStatusDegraded                FaultStatus,
        ncStatusDown                    FaultStatus }

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

"
   ::= { ncStatusEntry 1 }

ncStatusIncomplete  OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "tbd

"
   ::= { ncStatusEntry 2 }

ncStatusDegraded  OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "tbd

"
   ::= { ncStatusEntry 3 }

ncStatusDown  OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "tbd.

"
   ::= { ncStatusEntry 4 }

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

ncGeneralGroup OBJECT-GROUP
    OBJECTS {
        ncGeneralConfigLastChangeTime,
        ncGeneralStateLastChangeTime,
        ncGeneralStatusTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumNcGroups 1 }

ncStatusGroup OBJECT-GROUP
    OBJECTS {
        ncStatusIndex,
        ncStatusDegraded,
        ncStatusDown,
		ncStatusIncomplete }
    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumNcGroups 2 }

ncStatusGroupV2 OBJECT-GROUP
    OBJECTS {
        ncStatusIndex,
        ncStatusIncomplete }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumNcGroups 3 }

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

lumNcBasicComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the NC MIB V1."
    MODULE
        MANDATORY-GROUPS {
            ncGeneralGroup,
            ncStatusGroup }
    ::= { lumNcCompl 1 }

lumNcBasicComplV2 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the NC MIB (29.0)"
    MODULE
        MANDATORY-GROUPS {
            ncGeneralGroup,
            ncStatusGroupV2 }
    ::= { lumNcCompl 2 }

END

