-- -----------------------------------------------------------------------------
-- MIB NAME : Eltex MES Flex Links
-- FILE NAME: eltFlexLinks.mib
-- DATE     : 2014/10/9
-- VERSION  : 1.00
-- PURPOSE  : MIB structure of Flex Links feature
-- -----------------------------------------------------------------------------

ELTEX-MES-FLEX-LINKS-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32
                FROM SNMPv2-SMI
            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
            TruthValue
                FROM SNMPv2-TC
            InterfaceIndex, InterfaceIndexOrZero
                FROM IF-MIB
            eltMesMng
                FROM ELTEX-MES;

        eltMesFlexLinksMIB MODULE-IDENTITY
            LAST-UPDATED "201511190000Z"	-- November 19, 2015
            ORGANIZATION "Eltex Ltd."
            CONTACT-INFO
                "http://www.eltex.nsk.ru"
            DESCRIPTION
                "This MIB module is for configuration and status query
                of Flex Links feature on the Eltex device.

                Flex Links are a pair of Layer 2 interfaces, where one
                interface is configured to act as a backup to the other.
                The feature provides an alternative solution to the
                Spanning Tree Protocol (STP), allowing users to turn
                off STP and still provide basic link redundancy.

                Flex Links are typically configured in service provider
                or enterprise networks where users do not want to run
                STP on the device."

            REVISION	 "201511190000Z"	-- November 19, 2015
            DESCRIPTION
                "Deprecate all objects in this module."
        ::= { eltMesMng 5}

eltMesFlexLinksMIBNotifs      OBJECT IDENTIFIER ::=
                                { eltMesFlexLinksMIB 0 }
eltMesFlexLinksMIBObjects     OBJECT IDENTIFIER ::=
                                { eltMesFlexLinksMIB 1 }
eltMesFlexLinksMIBConformance OBJECT IDENTIFIER ::=
                                { eltMesFlexLinksMIB 2 }

eltMesFlConfig                OBJECT IDENTIFIER ::=
                                { eltMesFlexLinksMIBObjects 1 }
eltMesFlStatus                OBJECT IDENTIFIER ::=
                                { eltMesFlexLinksMIBObjects 2 }

-- Flex Links configuration table

eltFlIfConfigTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF EltFlIfConfigEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "This table allows user to configure Flex Links.

                The Flex Links feature requires interface pairs to be
                setup. This table allows user to specify such
                interface pairs.

                An interface can become part of only one such interface
                pair at any given time."
        ::= { eltMesFlConfig 1 }

eltFlIfConfigEntry OBJECT-TYPE
        SYNTAX     EltFlIfConfigEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "An entry containing information about Flex Links
                configuration. Each entry configures a pair of
                interfaces for a Flex Links.

                Only those Layer 2 interfaces which are capable of
                performing Flex Links operation may be configured
                in this table.

                Once an interface is configured as part of a Flex Links
                pair, such an interface, can not be configured as a
                part of other Flex Links pairs."
        INDEX { eltFlIfConfigPrimary }
        ::= { eltFlIfConfigTable 1 }

EltFlIfConfigEntry ::= SEQUENCE {
        eltFlIfConfigPrimary     InterfaceIndex,
        eltFlIfConfigBackUp      InterfaceIndexOrZero
}

eltFlIfConfigPrimary OBJECT-TYPE
        SYNTAX     InterfaceIndex
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "The object indicates the primary interface in this
                Flex Links pair."
    ::= { eltFlIfConfigEntry 1 }

eltFlIfConfigBackUp OBJECT-TYPE
        SYNTAX     InterfaceIndexOrZero
        MAX-ACCESS read-create
        STATUS     deprecated
        DESCRIPTION
                "The object indicates the back up interface in this
                Flex Links pair.

                The value of this object is changed to 0 (zero) if this
                interface is removed from the ifTable. The SNMP agent
                is responsible for updating this object's value once
                the interface is added to the ifTable. The value of
                0 (zero) cannot be set."
    ::= { eltFlIfConfigEntry 2 }

eltFlEnableStatusChangeNotif OBJECT-TYPE
        SYNTAX     TruthValue
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "This variable indicates whether the system
                produces the eltFlIfStatusChangeNotif.

                A value of 'false' will prevent
                eltFlIfStatusChangeNotif."
    ::= { eltMesFlConfig 2 }

-- Flex Links configuration Extension table

eltFlIfConfigExtTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF EltFlIfConfigExtEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "This table contains management information, such as
                of MAC address-table Move Update(MMU), preemption
                mechanism, VLAN load balancing of Flex Links pair,
                of interfaces which are capable of supporting these
                features."
        ::= { eltMesFlConfig 3 }

eltFlIfConfigExtEntry OBJECT-TYPE
        SYNTAX     EltFlIfConfigExtEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "An entry containing Flex Links management information
                for a particular interface."
        INDEX { eltFlIfConfigPrimary }
        ::= { eltFlIfConfigExtTable 1 }

EltFlIfConfigExtEntry ::= SEQUENCE {
        eltFlIfConfigPreemptionMode        INTEGER,
        eltFlIfConfigPreemptionDelay       Unsigned32
}

eltFlIfConfigPreemptionMode OBJECT-TYPE
        SYNTAX     INTEGER {
                       off(1),
                       forced(2),
                       bandwidth(3)
                   }
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "The object specifies the preemption mechanism for
                a Flex Link interface pair.

                off - No preemption happens from active interface
                      to backup interface.

                forced - The active interface always preempts the
                      backup interface.  The preemption occurs
                      after the time specified in
                      eltFlIfConfigPreemptionDelay.

                bandwidth - The interface with higher bandwidth
                      always acts as the active interface."
    ::= { eltFlIfConfigExtEntry 1 }

eltFlIfConfigPreemptionDelay OBJECT-TYPE
        SYNTAX     Unsigned32
        UNITS      "seconds"
        MAX-ACCESS read-write
        STATUS     deprecated
        DESCRIPTION
                "The object specifies the delay time until an
                interface preempts another interface for a
                Flex Link interface pair."
    ::= { eltFlIfConfigExtEntry 2 }

-- Flex Links status table

eltFlIfStatusTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF EltFlIfStatusEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "A list of interfaces which are members of Flex Links."
        ::= { eltMesFlStatus 1 }

eltFlIfStatusEntry OBJECT-TYPE
        SYNTAX     EltFlIfStatusEntry
        MAX-ACCESS not-accessible
        STATUS     deprecated
        DESCRIPTION
                "An entry, containing status information about a
                Flex Links interface.

                Entry is created when an interface is configured as
                a member of a Flex Links. When an entry is created
                in the eltFlIfConfigTable, entries corresponding to
                eltFlIfConfigPrimary and eltFlIfConfigBackUp are created
                in this table.

                Entry is deleted when an interface is removed from
                a Flex Links. When an entry is removed from the
                eltFlIfConfigTable, entries corresponding to
                eltFlIfConfigPrimary and eltFlIfConfigBackUp are deleted
                from this table."
        INDEX { eltFlIfIndex }
        ::= { eltFlIfStatusTable 1 }

EltFlIfStatusEntry ::= SEQUENCE {
        eltFlIfIndex                InterfaceIndex,
        eltFlIfStatus               INTEGER
}

eltFlIfIndex OBJECT-TYPE
        SYNTAX     InterfaceIndex
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The index value which uniquely identifies the
                interface to which this entry is applicable.
                eltFlIfIndex is the same as the ifIndex of the
                interface associated with a Flex Links."
    ::= { eltFlIfStatusEntry 1 }

eltFlIfStatus OBJECT-TYPE
        SYNTAX     INTEGER {
                        forwarding(1),
                        blocking(2),
                        down(3),
                        unknown(4)
                   }
        MAX-ACCESS read-only
        STATUS     deprecated
        DESCRIPTION
                "The status of an interface which is participating in
                Flex Links operation.

                A value of 'forwarding' indicates that, the interface is
                participating in Flex Links operation and is
                actively forwarding traffic.

                A value of 'blocking' indicates that, interface is
                participating in Flex Links operation and is ready
                to forward traffic if the interface it backs up in
                Flex Links operation goes down.

                A value of 'down' indicates that, the interface
                participating in Flex Links operation has gone down.

                A value of 'unknown' indicates that, the interface
                is participating Flex Links operation and has entered
                an unknown state."
    ::= { eltFlIfStatusEntry 2 }

-- Notifications

eltFlIfStatusChangeNotif NOTIFICATION-TYPE
        OBJECTS {
                eltFlIfIndex,
                eltFlIfStatus
        }
        STATUS  deprecated
        DESCRIPTION
                "A eltFlIfStatusChangeNotif is generated when the
                value of eltFlIfStatus changes."
    ::= { eltMesFlexLinksMIBNotifs 1 }

-- Conformance

eltMesFlexLinksMIBCompliances OBJECT IDENTIFIER
                                  ::= { eltMesFlexLinksMIBConformance 1 }
eltMesFlexLinksMIBGroups      OBJECT IDENTIFIER
                                  ::= { eltMesFlexLinksMIBConformance 2 }

eltFlexLinksMIBCompliance MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
                "The compliance statement for entities which implement
                the ELTEX-FLEX-LINKS-MIB."
        MODULE        -- this module
                MANDATORY-GROUPS {
                        eltFlexLinksIfConfigGroup,
                        eltFlexLinksIfStatusGroup,
                        eltFlexLinksEnableNotifGroup,
                        eltFlexLinksNotifGroup
                }
        GROUP           eltFlexLinksPreemptionGroup
        DESCRIPTION
                "This group is mandatory in devices running software
                which support preemption feature."

        OBJECT          eltFlIfConfigBackUp
        MIN-ACCESS      read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT          eltFlEnableStatusChangeNotif
        MIN-ACCESS      read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT          eltFlIfConfigPreemptionMode
        MIN-ACCESS      read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT          eltFlIfConfigPreemptionDelay
        MIN-ACCESS      read-only
        DESCRIPTION
            "Write access is not required."

        ::= { eltMesFlexLinksMIBCompliances 1 }

-- Units of Conformance

eltFlexLinksIfConfigGroup OBJECT-GROUP
        OBJECTS {
                eltFlIfConfigBackUp
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of objects providing interface
                configuration information for Flex Links."
        ::= { eltMesFlexLinksMIBGroups 1 }

eltFlexLinksIfStatusGroup OBJECT-GROUP
        OBJECTS {
                eltFlIfStatus
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of objects providing interface
                status information for Flex Links."
        ::= { eltMesFlexLinksMIBGroups 2 }

eltFlexLinksEnableNotifGroup OBJECT-GROUP
        OBJECTS {
                eltFlEnableStatusChangeNotif
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of objects providing enabling/disabling
                 of the status change notifications for Flex
                 Links."
        ::= { eltMesFlexLinksMIBGroups 3 }

eltFlexLinksNotifGroup NOTIFICATION-GROUP
        NOTIFICATIONS  {
                 eltFlIfStatusChangeNotif
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of notifications providing the status
                 change for Flex Links."
        ::= { eltMesFlexLinksMIBGroups 4 }

eltFlexLinksPreemptionGroup OBJECT-GROUP
        OBJECTS {
                 eltFlIfConfigPreemptionMode,
                 eltFlIfConfigPreemptionDelay
        }
        STATUS deprecated
        DESCRIPTION
                "A collection of objects providing interface
                preemption information of Flex Links."
        ::= { eltMesFlexLinksMIBGroups 5 }

END

