ENTERASYS-ETH-OAM-EXT-MIB DEFINITIONS ::= BEGIN

--  enterasys-eth-oam-extensions-mib.txt
--
--  Part Number:
--
--
--  This module provides authoritative definitions for Enterasys
--  Networks Ethernet OAM Extensions functionality.
--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Enterasys Networks products.

--  Copyright October, 2010-2012 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Unsigned32, Counter32, TimeTicks, 
    Gauge32
        FROM SNMPv2-SMI
    TruthValue, TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    ifIndex
        FROM IF-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES;

etsysEthOamExtMIB MODULE-IDENTITY
    LAST-UPDATED "201202071454Z"  -- Tue Feb  7 14:54 UTC 2012
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"

    DESCRIPTION
        "The Enterasys Networks Proprietary MIB module for entities 
         implementing Ethernet OAM.
       
         This MIB provides read-write access to configuration objects
         not provided in the IEEE Standard Ethernet IEEE8023-DOT3-OAM-MIB
         [DOT3-OAM-MIB]."

    REVISION    "201202071454Z"  -- Tue Feb  7 14:54 UTC 2012
    DESCRIPTION "Added support for Unidirectional Link Detection (ULD)."

    REVISION    "201011231900Z"  -- Tue Nov 23 19:00 UTC 2010
    DESCRIPTION "Initial version of this MIB module."

    ::= { etsysModules 78 }

EtsysOamExtErrActions   ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "OAM actions to be taken when various link problems occur. When
         a threshold that would cause an Event Notification is reached,
         these OAM actions will be preformed.

          syslog
            - A syslog message will be displayed when this event occurs.

          disable
            - The port will be taken down when this event occurs."

    SYNTAX BITS {
      syslog(0),
      disable(1)
    }

-- -------------------------------------------------------------
-- Ethernet OAM Extension MIB Groups
-- -------------------------------------------------------------

etsysEthOamExtObjects     OBJECT IDENTIFIER ::= { etsysEthOamExtMIB 1 }
etsysEthOamExtConformance OBJECT IDENTIFIER ::= { etsysEthOamExtMIB 2 }

-- -------------------------------------------------------------
-- Ethernet OAM Objects Extension Table
-- -------------------------------------------------------------

-- ***************************************************************
--
-- Ethernet OAM Extended Peer group
--
-- ***************************************************************

etsysEthOamExtTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF EtsysEthOamExtEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "This table contains detailed information about OAM capabilities
          for each Ethernet-like interface. There is only one entry per
          Ethernet-like interface allowed."
    ::= { etsysEthOamExtObjects 1 }

etsysEthOamExtEntry OBJECT-TYPE
     SYNTAX      EtsysEthOamExtEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
         "An entry in the OAM table containing detailed information
          about the OAM function. Each Ethernet-like interface is only
          allowed one peer OAM entity. Entries are auotmatically created."
     INDEX { ifIndex }
     ::= { etsysEthOamExtTable 1 }

EtsysEthOamExtEntry ::=
     SEQUENCE {
       etsysEthOamExtOperStatus           INTEGER
     }

etsysEthOamExtOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
       operational(1),
       disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value defines the operational status for the Ethernet-like
         interface. If the link is operating normally, the value is
         operational(1). State disabled(2) is entered if an error occurs.
         Errors that will cause this state are Symbol Period error, Frame
         Period error, Frame error, and Frame Seconds Summary error. Setting
         the state to operational(1) when it is in state disabled(2) will
         cause all violation errors to be cleared. Any other write of this
         object will have no effect.

         This value SHOULD NOT be maintained across reboot."
    ::= { etsysEthOamExtEntry 1 }

-- ***************************************************************
--
-- Ethernet OAM Extended Event Configuration group
--
-- ***************************************************************

etsysEthOamExtEventConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysEthOamExtEventConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that controls extended configuration of Ethernet
         OAM Event Notification. This table contains the mechanisms
         to define actions to be taken when error thresholds are
         reached. There is only one entry per Ethernet-like interface
         allowed."
    ::= { etsysEthOamExtObjects 2 }

etsysEthOamExtEventConfigEntry OBJECT-TYPE
    SYNTAX      EtsysEthOamExtEventConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the OAM Event Configuration table containing
         information on actions to be taken when various link problems
         arise. Each Ethernet-like interface is only allowed one entry and
         is automatically created."
     INDEX { ifIndex }
     ::= { etsysEthOamExtEventConfigTable 1 }

EtsysEthOamExtEventConfigEntry ::=
     SEQUENCE {
       etsysEthOamExtEventConfigErrSymPeriodActions      BITS,
       etsysEthOamExtEventConfigErrFramePeriodActions    BITS,
       etsysEthOamExtEventConfigErrFrameActions          BITS,
       etsysEthOamExtEventConfigErrFrameSecsActions      BITS,
       etsysEthOamExtEventConfigErrNotifRetry            Unsigned32
     }

etsysEthOamExtEventConfigErrSymPeriodActions OBJECT-TYPE
    SYNTAX      EtsysOamExtErrActions
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bitmap value used to identify which actions should be taken
         when a Symbol Period error is triggered."
    DEFVAL { 0 }
    ::= { etsysEthOamExtEventConfigEntry 1 }

etsysEthOamExtEventConfigErrFramePeriodActions OBJECT-TYPE
    SYNTAX      EtsysOamExtErrActions
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bitmap value used to identify which actions should be taken
         when a Frame Period error is triggered."
    DEFVAL { 0 }
    ::= { etsysEthOamExtEventConfigEntry 2 }

etsysEthOamExtEventConfigErrFrameActions OBJECT-TYPE
    SYNTAX      EtsysOamExtErrActions
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bitmap value used to identify which actions should be taken
         when a Frame error is triggered."
    DEFVAL { 0 }
    ::= { etsysEthOamExtEventConfigEntry 3 }

etsysEthOamExtEventConfigErrFrameSecsActions OBJECT-TYPE
    SYNTAX      EtsysOamExtErrActions
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bitmap value used to identify which actions should be taken
         when a Frame Seconds error is triggered."
    DEFVAL { 0 }
    ::= { etsysEthOamExtEventConfigEntry 4 }

etsysEthOamExtEventConfigErrNotifRetry OBJECT-TYPE
    SYNTAX      Unsigned32 (0..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of times to retry an OAM error Event Notification that
         has not been answered."
    DEFVAL { 0 }
    ::= { etsysEthOamExtEventConfigEntry 5 }

-- ***************************************************************
--
-- Ethernet OAM Extended Port ULD Configuration group
--
-- ***************************************************************

etsysEthOamExtUld OBJECT IDENTIFIER ::= { etsysEthOamExtObjects 3 }

etsysEthOamExtUldGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysEthOamExtUldGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "A table of objects for Ethernet OAM Unidirectional Link
         Detection (ULD) which apply to a group of ports that share
         common system resources."
    ::= { etsysEthOamExtUld 1 }

etsysEthOamExtUldGroupEntry OBJECT-TYPE
    SYNTAX      EtsysEthOamExtUldGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the OAM ULD group table containing a group index
         and values to support per group limits on ULD configuration."
     INDEX { etsysEthOamExtUldGroupIndex }
     ::= { etsysEthOamExtUldGroupTable 1 }

EtsysEthOamExtUldGroupEntry ::=
     SEQUENCE {
       etsysEthOamExtUldGroupIndex              Unsigned32,
       etsysEthOamExtUldGroupMaxFastPorts       Unsigned32,
       etsysEthOamExtUldGroupFastPortsInUse     Gauge32
     }

etsysEthOamExtUldGroupIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique identifier for this ULD port group status."
    ::= { etsysEthOamExtUldGroupEntry 1 }    

etsysEthOamExtUldGroupMaxFastPorts OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of ports in the ULD port group that can be
         configured for ULD in the FAST mode."
    ::= { etsysEthOamExtUldGroupEntry 2 }

etsysEthOamExtUldGroupFastPortsInUse OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current number of ports in the ULD port group that are 
         configured for ULD in the FAST mode."
    ::= { etsysEthOamExtUldGroupEntry 3 }  

etsysEthOamExtUldPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EtsysEthOamExtUldPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table that controls extended configuration of Ethernet
         OAM Unidirectional Link Detection (ULD). This table 
         contains the mechanisms to define the ULD mode and the
         actions to be taken when a unidirectional link is detected"
    ::= { etsysEthOamExtUld 2 }

etsysEthOamExtUldPortEntry OBJECT-TYPE
    SYNTAX      EtsysEthOamExtUldPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the OAM ULD Port table containing ULD mode, 
         information on actions to be taken when a unidirectional link
         is detected, and the current status of the ULD configuration. 
         Each Ethernet-like interface is only allowed one entry and
         is automatically created."
     INDEX { ifIndex }
     ::= { etsysEthOamExtUldPortTable 1 }

EtsysEthOamExtUldPortEntry ::=
     SEQUENCE {
       etsysEthOamExtUldPortMode                INTEGER,
       etsysEthOamExtUldPortAction              INTEGER,
       etsysEthOamExtUldPortActiveStatus        INTEGER,
       etsysEthOamExtUldPortFastTimerConfig     Unsigned32,
       etsysEthOamExtUldPortActiveFastTimer     Unsigned32,
       etsysEthOamExtUldPortActiveFastStatus    INTEGER,
       etsysEthOamExtUldPortOperStatus          INTEGER,
       etsysEthOamExtUldPortFastTxCount         Counter32,
       etsysEthOamExtUldPortFastRxCount         Counter32,
       etsysEthOamExtUldPortFastRxErrorCount    Counter32,
       etsysEthOamExtUldPortLastFastRxTime      TimeTicks,
       etsysEthOamExtUldPortGroupIndex          Unsigned32,
       etsysEthOamExtUldPortActiveOamMode       INTEGER
     }

etsysEthOamExtUldPortMode OBJECT-TYPE
    SYNTAX      INTEGER {
        disabled(1),
        standard(2),
        fast(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value defines the mode in which OAM Unidirectional
         Link Detection (ULD) will operate on the port.  If disabled, 
         OAM ULD will not operate on the port.  In standard mode, 
         OAM will use the standard OAM Discovery state machine to
         detect a unidirectional link.  In fast mode, OAM will use
         the Enterasys Fast ULD state machine to detect a 
         unidirectional link.  In both standard and fast modes, OAM
         peers must be fully discovered before ULD is active.  In
         standard mode, a unidirectional link is detected after 5
         seconds of becoming unidirectional.  In fast mode, a 
         unidirectional link is detected in 3 times the active fast
         timer interval (as fast as 600ms)."
    DEFVAL { disabled }
    ::= { etsysEthOamExtUldPortEntry 1 }

etsysEthOamExtUldPortAction OBJECT-TYPE
    SYNTAX      INTEGER {
        syslogOnly(1),
        disablePort(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value defines the administrative action taken by
         OAM if a unidirectional link is detected.  If the action
         is syslogOnly, OAM will generate a syslog message.  If 
         the action is disablePort, OAM will generate a syslog 
         message and disable the port."
    DEFVAL { syslogOnly }
    ::= { etsysEthOamExtUldPortEntry 2 }

etsysEthOamExtUldPortActiveStatus OBJECT-TYPE
    SYNTAX      TruthValue 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The active status of ULD on the port.  The active status
         depends on the state of the OAM Discovery state machine.
         It is active when the OAM Discovery state machine is in 
         the SEND_ANY state.  The ULD action is only performed if
         the ULD status is active." 
    ::= { etsysEthOamExtUldPortEntry 3 }

etsysEthOamExtUldPortFastTimerConfig OBJECT-TYPE
    SYNTAX      Unsigned32(2..10)
    UNITS       "deciseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The time in 100 millisecond tics between transmits of
         Fast ULD OAMPDUs to use for the local OAM peer.
         This value will be advertised by the local OAM peer
         in the Local Fast ULD Information TLV when the Fast
         ULD state machine is in the SEND_SLOW state.  This
         value will be used by the OAM peers to negotiate 
         the active fast timer which will be used when the
         Fast ULD state machine is in the SEND_FAST state."
    ::= { etsysEthOamExtUldPortEntry 4 }

etsysEthOamExtUldPortActiveFastTimer OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "deciseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The time in 100 millisecond tics between transmits of
         Fast ULD OAMPDUs that is being used by both the
         local and remote OAM peers when the Fast ULD state
         machine is in the SEND_FAST state.  This time is
         negotiated by the OAM peers while the Fast ULD 
         state machine is in the SEND_SLOW state.
         The value of this interval is used to compute the
         Fast ULD timeout interval.  The Fast ULD timeout
         Interval is three times the transmit interval of
         the Fast ULD OAMPDUs to ensure that at least three 
         packets must be dropped before determining that 
         there is a unidirectional link."
    ::= { etsysEthOamExtUldPortEntry 5 }

etsysEthOamExtUldPortActiveFastStatus OBJECT-TYPE
    SYNTAX      INTEGER {
       notActive(1),
       activeSlow(2),
       activeFast(3),
       faultDetected(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The active status of Fast ULD on the port.  The
         active status of Fast ULD depends on the configured
         ULD mode, the state of the OAM Discovery state machine,
         and the state of the Fast ULD state machine.  Fast ULD
         is notActive(1) if ULD is not configured in the Fast
         mode.  If ULD is configured in Fast mode and ULD is
         active, the active status will reflect the state of
         the Fast ULD state machine.  In the SEND_SLOW state
         the active status is activeSlow(2), in the SEND_FAST
         state the active status is activeFast(3), in the
         FAULT state the active status is faultDetected(4).  
         In the RESET state, the status is notActive(1)."
    ::= { etsysEthOamExtUldPortEntry 6 }

etsysEthOamExtUldPortOperStatus OBJECT-TYPE
    SYNTAX      INTEGER {
       operational(1),
       disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The operational status of the port with respect to ULD.
         The status is disabled(2) only if the disablePort action 
         is configured and a unidirectional link is detected.
         Otherswise, the status is operational(1).  Setting the 
         status to operational(1) when the status is disabled(2) 
         will clear a unidirectional link error. Any other write
         of this object will have no effect.

         This value SHOULD NOT be maintained across reboot."
    ::= { etsysEthOamExtUldPortEntry 7 }

etsysEthOamExtUldPortFastTxCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of Information OAMPDUs with Fast ULD
         Information TLVs transmitted by the port OAM peer since 
         reboot.
         
         This value SHOULD NOT be maintained across reboot."
    ::= { etsysEthOamExtUldPortEntry 8 }

etsysEthOamExtUldPortFastRxCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of Information OAMPDUs with a Fast ULD
         Information TLVs received by this port's OAM peer since
         reboot.

         This value SHOULD NOT be maintained across reboot."
    ::= { etsysEthOamExtUldPortEntry 9 }

etsysEthOamExtUldPortFastRxErrorCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of Information OAMPDUs with an Invalid
         Fast ULD Information TLV received by this port's OAM 
         peer since reboot.

         This value SHOULD NOT be maintained across reboot."
    ::= { etsysEthOamExtUldPortEntry 10 }

etsysEthOamExtUldPortLastFastRxTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of aTimeSinceSystemReset (F.2.1) when the last 
         Information OAMPDU with a Fast ULD Information TLV  was 
         received by this port's OAM peer.

         This value SHOULD NOT be maintained across reboot."
    ::= { etsysEthOamExtUldPortEntry 11 }

etsysEthOamExtUldPortGroupIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "The ULD port group index for this port."
    ::= { etsysEthOamExtUldPortEntry 12 }

etsysEthOamExtUldPortActiveOamMode OBJECT-TYPE
    SYNTAX  INTEGER {
        passive(1),
        active(2)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The active OAM mode for the port.  When a port is 
         configured in the passive OAM mode and ULD is enabled
         in the standard or fast ULD mode, the passive mode is
         superceeded by this value.  The port will operate as
         though it is configured in the active OAM mode.  If
         the port is configured in the passive mode and ULD is
         disabled, the value is passive(1) and OAM will operate in
         the passive mode.  Otherwise, the value is active(2) and
         OAM will operate in the active mode.  This enforces the
         requirement for ULD that both peers must operate as
         active OAM clients."
    ::= { etsysEthOamExtUldPortEntry 13 }


-- -------------------------------------------------------------
-- Conformance Information
-- -------------------------------------------------------------

etsysEthOamExtGroups      OBJECT IDENTIFIER 
          ::= { etsysEthOamExtConformance 1 }

etsysEthOamExtCompliances OBJECT IDENTIFIER 
          ::= { etsysEthOamExtConformance 2 }

-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------

etsysEthOamExtGroup OBJECT-GROUP
    OBJECTS {
        etsysEthOamExtOperStatus
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing information about
         the Ethernet OAM function."
    ::= { etsysEthOamExtGroups 1 }

etsysEthOamExtEventConfigGroup OBJECT-GROUP
    OBJECTS {
        etsysEthOamExtEventConfigErrSymPeriodActions,
        etsysEthOamExtEventConfigErrFramePeriodActions,
        etsysEthOamExtEventConfigErrFrameActions,
        etsysEthOamExtEventConfigErrFrameSecsActions,
        etsysEthOamExtEventConfigErrNotifRetry
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing peer information of
         a peer Ethernet OAM entity."
    ::= { etsysEthOamExtGroups 2 }

etsysEthOamExtUldConfigGroup OBJECT-GROUP
    OBJECTS {
        etsysEthOamExtUldGroupMaxFastPorts,
        etsysEthOamExtUldGroupFastPortsInUse,
        etsysEthOamExtUldPortMode,
        etsysEthOamExtUldPortAction,
        etsysEthOamExtUldPortActiveStatus,
        etsysEthOamExtUldPortFastTimerConfig,
        etsysEthOamExtUldPortActiveFastTimer,
        etsysEthOamExtUldPortActiveFastStatus,
        etsysEthOamExtUldPortOperStatus,
        etsysEthOamExtUldPortFastTxCount,
        etsysEthOamExtUldPortFastRxCount,
        etsysEthOamExtUldPortFastRxErrorCount,
        etsysEthOamExtUldPortLastFastRxTime,
        etsysEthOamExtUldPortGroupIndex,
        etsysEthOamExtUldPortActiveOamMode
    }
    STATUS      current
    DESCRIPTION
        "A collection of objects providing configuration for
         peer Unidirectional Link Detection for Ethernet OAM."
    ::= { etsysEthOamExtGroups 3 }

-- -------------------------------------------------------------
-- Compliance statements
-- -------------------------------------------------------------

etsysEthOamExtCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for devices that support 
         etsysEthOamExtMIB."

    MODULE
        GROUP       etsysEthOamExtGroup
        DESCRIPTION
            "This group is REQUIRED for devices supporting Ethernet OAM
             operations."

        GROUP       etsysEthOamExtEventConfigGroup
        DESCRIPTION
            "This group is REQUIRED for devices supporting operation
             of a Ethernet OAM."

        GROUP       etsysEthOamExtUldConfigGroup
        DESCRIPTION
            "This group is REQUIRED for devices supporting ULD operations
             of a Ethernet OAM."
    
    ::= { etsysEthOamExtCompliances 1 }

END
