LUM-OXC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
        FROM SNMPv2-SMI
    OBJECT-GROUP, MODULE-COMPLIANCE
        FROM SNMPv2-CONF
    RowStatus, TestAndIncr, DisplayString, DateAndTime
        FROM SNMPv2-TC
    lumModules, lumOxcMIB
        FROM LUM-REG
    MgmtNameString, SubrackNumber, SlotNumber, PortNumber, FaultStatus, PortType, ObjectProperty
        FROM LUM-TC;

lumOxcMIBModule MODULE-IDENTITY
    LAST-UPDATED
        "201706150000Z" -- June 15th 2017
    ORGANIZATION
        "Infinera Corporation"
    CONTACT-INFO
        "techsupport@infinera.com"
    DESCRIPTION
        "The OXC interface and cross-connection
        definition MIB.

        - General

        - Cross-connect interfaces

        - Cross-connection configuration

"
    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
        "200805120000Z" -- May 12th 2008
    DESCRIPTION
        "Help text improved."
    REVISION
        "200203260000Z" -- March 26th 2002
    DESCRIPTION
        "Deprecated oxcConfOperStatus."
    REVISION
        "200112110000Z" -- December 11th 2001
    DESCRIPTION
        "Updated interface operstatus definitions.
        Removed 'undefined' values."
    REVISION
        "200110300000Z" -- October 30th 2001
    DESCRIPTION
        "TestAndIncr and mib versions hidden - not supported yet.
        Updated conformance."
    REVISION
        "200110110000Z" -- October 11th 2001
    DESCRIPTION
        "OXC configurations are created 'automagically':
        Deprecated rowStatus and changed properties on subrack,
        slot and inPort"
    REVISION
        "200109040000Z" -- September 4th 2001
    DESCRIPTION
        "Changes after review:
        Changed 'right' and 'left' to 'in' and 'out'.
        Default values are now 0 (undefined)."
    REVISION
        "200108240000Z" -- August 24th 2001
    DESCRIPTION
        "The initial revision of this module."
    ::= { lumModules 11 }

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

lumOxcConfs OBJECT IDENTIFIER ::= { lumOxcMIB 1 }
lumOxcGroups OBJECT IDENTIFIER ::= { lumOxcConfs 1 }
lumOxcCompl OBJECT IDENTIFIER ::= { lumOxcConfs 2 }


-- ----------------------------------------------------
-- Root for objects in the oxc MIB
-- ----------------------------------------------------

lumOxcMIBObjects OBJECT IDENTIFIER ::= { lumOxcMIB 2 }


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

oxcGeneral OBJECT IDENTIFIER ::= { lumOxcMIBObjects 1 }
oxcIfList OBJECT IDENTIFIER ::= { lumOxcMIBObjects 2 }
oxcConfList OBJECT IDENTIFIER ::= { lumOxcMIBObjects 3 }


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

-- n/a


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

oxcGeneralTestAndIncr OBJECT-TYPE
    SYNTAX      TestAndIncr
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Note: This object is not supported!

        Protection against simultaneous access from
        multiple managers. See SNMPv2-TC.

"
    ::= { oxcGeneral 1 }

oxcGeneralMibSpecVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Note: This object is no supported!

        The MIB specification version.

        tbd: persistent?

"
    DEFVAL { "" }
    ::= { oxcGeneral 2 }

oxcGeneralMibImplVersion OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Note: This object is no supported!

        The MIB implementation version.

        tbd: persistent?

"
    DEFVAL { "" }
    ::= { oxcGeneral 3 }

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

"
    ::= { oxcGeneral 4 }

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

"
    ::= { oxcGeneral 5 }

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

"
    ::= { oxcGeneral 6 }

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

"
    ::= { oxcGeneral 7 }


-- ----------------------------------------------------
-- OXC interfaces
-- ----------------------------------------------------

oxcIfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF OxcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The interface list."
    ::= { oxcIfList 1 }

oxcIfEntry OBJECT-TYPE
    SYNTAX      OxcIfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the interface list.

"
    INDEX { oxcIfIndex }
    ::= { oxcIfTable 1 }

OxcIfEntry ::=
    SEQUENCE {
        oxcIfIndex                      Unsigned32,
        oxcIfName                       MgmtNameString,
        oxcIfDescr                      DisplayString,
        oxcIfSubrack                    SubrackNumber,
        oxcIfSlot                       SlotNumber,
        oxcIfPort                       PortNumber,
        oxcIfInvPhysIndexOrZero         Unsigned32,
        oxcIfDirection                  PortType,
        oxcIfAdminStatus                INTEGER, -- deprecated
        oxcIfOperStatus                 INTEGER,
        oxcIfIsReserved                 INTEGER,
        oxcIfObjectProperty             ObjectProperty  }

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

"
    ::= { oxcIfEntry 1 }

oxcIfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The management name of the interface,
        for example 'oxci:1:2:1'.

"
    ::= { oxcIfEntry 2 }

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

"
    DEFVAL { "" }
    ::= { oxcIfEntry 3 }

oxcIfSubrack OBJECT-TYPE
    SYNTAX      SubrackNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the subrack where the interface
        is located.

"
    ::= { oxcIfEntry 4 }

oxcIfSlot OBJECT-TYPE
    SYNTAX      SlotNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the slot where the interface is
        located.

"
    ::= { oxcIfEntry 5 }

oxcIfPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of the port where the interface
        is located.

"
    ::= { oxcIfEntry 6 }

oxcIfInvPhysIndexOrZero OBJECT-TYPE
    SYNTAX      Unsigned32 (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The row in the invPhysTable for this interface.
        Set to 0 if not known.

"
    ::= { oxcIfEntry 7 }

oxcIfDirection OBJECT-TYPE
    SYNTAX      PortType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of signal the interface expects.

        rx - Only ingoing signal.

        tx - Only outgoing signal.

        biDi - Ingoing and outgoing signal on the same
        port. (Not used for OXC interfaces).

"
    ::= { oxcIfEntry 8 }

oxcIfAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    undefined (0),
                    down (1),
                    up (2) }
    MAX-ACCESS  read-write
    STATUS      deprecated
    DESCRIPTION
        "Note: This object is deprecated.

        The administrative state for the interface.

        down - The interface is inactive.

        up - The interface is active.

"
    ::= { oxcIfEntry 9 }

oxcIfOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    notPresent (1),
                    down (2),
                    up (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The operational state for the interface.

        notPresent - The interface is not available.

        down - The interface is not used.

        up - The interface is active.

"
    DEFVAL { notPresent }
    ::= { oxcIfEntry 10 }

oxcIfIsReserved OBJECT-TYPE
    SYNTAX      INTEGER {
                    true (1),
                    false (2) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "States whether the resource is reserved
         by some application.

         When the resource is reserved, there are
         some restrictions for how it can be used.

         In this case, the port can not be used
         in a cross-connection.

        true - The resource is reserved

        false - The resource is not reserved

"
    DEFVAL { false }
    ::= { oxcIfEntry 11 }

oxcIfObjectProperty OBJECT-TYPE
    SYNTAX      ObjectProperty
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Property mask.

"
    ::= { oxcIfEntry 12 }

-- ----------------------------------------------------
-- Cross-connection definitions
-- ----------------------------------------------------

oxcConfTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF OxcConfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The protection group table."
    ::= { oxcConfList 1 }

oxcConfEntry OBJECT-TYPE
    SYNTAX      OxcConfEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the protection group table.

"
    INDEX { oxcConfIndex }
    ::= { oxcConfTable 1 }

OxcConfEntry ::=
    SEQUENCE {
        oxcConfIndex                    Unsigned32,
        oxcConfName                     MgmtNameString,
        oxcConfDescr                    DisplayString,
        oxcConfSubrack                  SubrackNumber,
        oxcConfSlot                     SlotNumber,
        oxcConfInPort                   PortNumber,
        oxcConfOutPort                  PortNumber,
        oxcConfLastChangeTime           DateAndTime,
        oxcConfAdminStatus              INTEGER,
        oxcConfOperStatus               INTEGER, -- deprecated
        oxcConfRowStatus                RowStatus, -- deprecated
        oxcConfServiceFailure           FaultStatus,
        oxcConfObjectProperty           ObjectProperty }

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

"
    ::= { oxcConfEntry 1 }

oxcConfName OBJECT-TYPE
    SYNTAX      MgmtNameString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the object.

"
    ::= { oxcConfEntry 2 }

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

"
    DEFVAL { "" }
    ::= { oxcConfEntry 3 }

oxcConfSubrack OBJECT-TYPE
    SYNTAX      SubrackNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The subrack number for the OXC unit.

"
    ::= { oxcConfEntry 4 }

oxcConfSlot OBJECT-TYPE
    SYNTAX      SlotNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The slot number for the OXC unit.

"
    ::= { oxcConfEntry 5 }

oxcConfInPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The port number for the incoming OXC interface.

"
    ::= { oxcConfEntry 6 }

oxcConfOutPort OBJECT-TYPE
    SYNTAX      PortNumber
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The port number for the outgoing OXC interface.

        Set to 0 to remove connection.
        The tx port should be set between 101 and 108 for oxc8
        and between 101 and 116 for oxc16 when cross-connected.

        This attribute can be written via SNMP.
"
    DEFVAL { 0 }
    ::= { oxcConfEntry 7 }

oxcConfLastChangeTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Note: This object is no supported!

        The time the operational state of the
        cross-connection was last changed.

"
    ::= { oxcConfEntry 8 }

oxcConfAdminStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    down (1),
                    up (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The administrative state for the
        cross-connection.

        down - The connection is in-active.

        up - The connection is active.

"
    DEFVAL { down }
    ::= { oxcConfEntry 9 }

oxcConfOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
                    down (1),
                    up (2) }
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
        "The operational state for the cross-connection.

        down - the cross-connection is in-active

        up - the cross-connection is active

"
    ::= { oxcConfEntry 10 }

oxcConfRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      deprecated
    DESCRIPTION
        "Note: This object is deprecated!

        Manages creation and deletion of conceptual rows.
        See also SNMPv2-TC.

"
    ::= { oxcConfEntry 11 }

oxcConfServiceFailure OBJECT-TYPE
    SYNTAX      FaultStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Note: This object is no supported!

        Cross-connection service failure.

        A: The resource required to set up the the
        cross-connection are not available.

        D: The resource required to set up the the
        cross-connection have become available.

"
    ::= { oxcConfEntry 12 }

oxcConfObjectProperty OBJECT-TYPE
    SYNTAX      ObjectProperty
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Property mask.

"
    ::= { oxcConfEntry 13 }

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

-- n/a


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

oxcGeneralGroup OBJECT-GROUP
    OBJECTS {
        oxcGeneralTestAndIncr,
        oxcGeneralMibSpecVersion,
        oxcGeneralMibImplVersion,
        oxcGeneralLastChangeTime }
    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumOxcGroups 1 }

oxcIfGroup OBJECT-GROUP
    OBJECTS {
        oxcIfIndex,
        oxcIfName,
        oxcIfDescr,
        oxcIfSubrack,
        oxcIfSlot,
        oxcIfPort,
        oxcIfInvPhysIndexOrZero,
        oxcIfDirection,
        oxcIfAdminStatus,
        oxcIfOperStatus }
    STATUS      deprecated
    DESCRIPTION
        "Note: This group is deprecated.

        The oxc interface objects."
    ::= { lumOxcGroups 2 }

oxcConfGroup OBJECT-GROUP
    OBJECTS {
        oxcConfIndex,
        oxcConfName,
        oxcConfDescr,
        oxcConfSubrack,
        oxcConfSlot,
        oxcConfInPort,
        oxcConfOutPort,
        oxcConfLastChangeTime,
        oxcConfAdminStatus,
        oxcConfOperStatus,
        oxcConfRowStatus }
    STATUS      deprecated
    DESCRIPTION
        "Note: This group is deprecated.

        The cross-connection group objects."
    ::= { lumOxcGroups 3 }

oxcIfGroupV2 OBJECT-GROUP
    OBJECTS {
        oxcIfIndex,
        oxcIfName,
        oxcIfDescr,
        oxcIfSubrack,
        oxcIfSlot,
        oxcIfPort,
        oxcIfInvPhysIndexOrZero,
        oxcIfDirection,
        oxcIfOperStatus }
    STATUS      deprecated
    DESCRIPTION
        "The oxc interface objects."
    ::= { lumOxcGroups 4 }

oxcConfGroupV2 OBJECT-GROUP
    OBJECTS {
        oxcConfIndex,
        oxcConfName,
        oxcConfDescr,
        oxcConfSubrack,
        oxcConfSlot,
        oxcConfInPort,
        oxcConfOutPort,
        oxcConfLastChangeTime,
        oxcConfAdminStatus,
        oxcConfOperStatus,
        oxcConfServiceFailure }
    STATUS      deprecated
    DESCRIPTION
        "The cross-connection group objects."
    ::= { lumOxcGroups 5 }


oxcGeneralGroupV2 OBJECT-GROUP
    OBJECTS {
        oxcGeneralLastChangeTime }
    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumOxcGroups 6 }

oxcConfGroupV3 OBJECT-GROUP
    OBJECTS {
        oxcConfIndex,
        oxcConfName,
        oxcConfDescr,
        oxcConfSubrack,
        oxcConfSlot,
        oxcConfInPort,
        oxcConfOutPort,
        oxcConfLastChangeTime,
        oxcConfAdminStatus,
        oxcConfServiceFailure }
    STATUS      deprecated
    DESCRIPTION
        "The cross-connection group objects."
    ::= { lumOxcGroups 7 }

oxcGeneralGroupV3 OBJECT-GROUP
    OBJECTS {
        oxcGeneralLastChangeTime,
        oxcGeneralStateLastChangeTime }
    STATUS      deprecated
    DESCRIPTION
        "The general objects."
    ::= { lumOxcGroups 8 }

oxcIfGroupV3 OBJECT-GROUP
    OBJECTS {
        oxcIfIndex,
        oxcIfName,
        oxcIfDescr,
        oxcIfSubrack,
        oxcIfSlot,
        oxcIfPort,
        oxcIfInvPhysIndexOrZero,
        oxcIfDirection,
        oxcIfOperStatus,
        oxcIfIsReserved }
    STATUS      deprecated
    DESCRIPTION
        "The oxc interface objects (3.1)."
    ::= { lumOxcGroups 9 }

oxcGeneralGroupV4 OBJECT-GROUP
    OBJECTS {
        oxcGeneralLastChangeTime,
        oxcGeneralStateLastChangeTime,
        oxcGeneralOxcIfTableSize,
        oxcGeneralOxcConfTableSize }
    STATUS      current
    DESCRIPTION
        "The general objects."
    ::= { lumOxcGroups 10 }

oxcIfGroupV4 OBJECT-GROUP
    OBJECTS {
        oxcIfIndex,
        oxcIfName,
        oxcIfDescr,
        oxcIfSubrack,
        oxcIfSlot,
        oxcIfPort,
        oxcIfInvPhysIndexOrZero,
        oxcIfDirection,
        oxcIfOperStatus,
        oxcIfIsReserved,
        oxcIfObjectProperty }
    STATUS      current
    DESCRIPTION
        "The oxc interface objects (4.0)."
    ::= { lumOxcGroups 11 }

oxcConfGroupV4 OBJECT-GROUP
    OBJECTS {
        oxcConfIndex,
        oxcConfName,
        oxcConfDescr,
        oxcConfSubrack,
        oxcConfSlot,
        oxcConfInPort,
        oxcConfOutPort,
        oxcConfLastChangeTime,
        oxcConfAdminStatus,
        oxcConfServiceFailure,
        oxcConfObjectProperty }
    STATUS      current
    DESCRIPTION
        "The cross-connection group objects (4.0)."
    ::= { lumOxcGroups 12 }


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

lumOxcBasicComplV1 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Note: This compliance statement is deprecated.

        Basic implementation requirements for the OXC MIB v1."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroup,
            oxcIfGroup,
            oxcConfGroup }
    ::= { lumOxcCompl 1 }

lumOxcBasicComplV2 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the OXC MIB v2."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroup,
            oxcIfGroupV2,
            oxcConfGroupV2 }
    ::= { lumOxcCompl 2 }

lumOxcBasicComplV3 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the OXC MIB v3."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroupV2,
            oxcIfGroupV2,
            oxcConfGroupV2 }
    ::= { lumOxcCompl 3 }

lumOxcBasicComplV4 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the OXC MIB v4."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroupV2,
            oxcIfGroupV2,
            oxcConfGroupV3 }
    ::= { lumOxcCompl 4 }

lumOxcBasicComplV5 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the OXC MIB v5."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroupV3,
            oxcIfGroupV2,
            oxcConfGroupV3 }
    ::= { lumOxcCompl 5 }

lumOxcBasicComplV6 MODULE-COMPLIANCE
    STATUS      deprecated
    DESCRIPTION
        "Basic implementation requirements for the OXC MIB v6 (3.1)."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroupV4,
            oxcIfGroupV3,
            oxcConfGroupV3 }
    ::= { lumOxcCompl 6 }

lumOxcBasicComplV7 MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Basic implementation requirements for the OXC MIB v7 (4.0)."
    MODULE
        MANDATORY-GROUPS {
            oxcGeneralGroupV4,
            oxcIfGroupV4,
            oxcConfGroupV4 }
    ::= { lumOxcCompl 7 }


END



