ELTEX-MES-ISS-MST-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, Integer32
            FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue
            FROM SNMPv2-TC
    eltMesIssBridgeMIBObjects
            FROM ELTEX-MES-ISS-BRIDGE-MIB
    fsMstMstiPortEntry
            FROM ARICENT-MST-MIB;


eltMesIssMstMIB MODULE-IDENTITY
    LAST-UPDATED "202009220000Z"
    ORGANIZATION "Eltex Enterprise, Ltd."
    CONTACT-INFO
            "eltex-co.ru"
    DESCRIPTION
            "MIB extensions for MST protocol."
    REVISION "202009220000Z"
    DESCRIPTION "Added eltMesIssMstMstiPortTable object."
    REVISION "201906030000Z"
    DESCRIPTION "Initial revision."
    ::= { eltMesIssBridgeMIBObjects 1 }

-- Textual Conventions

EltMesIssMstPendingConfigAction ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Action for pending changes in Mstp configuration.
         commit - Apply changes.
         revert - Delete all pending changes."
    SYNTAX INTEGER {
        commit(1),
        revert(2)
    }

-- Top level MIB structure

eltMesIssMstMIBObjects      OBJECT IDENTIFIER ::= { eltMesIssMstMIB 1 }

-- MIB Groups

eltMesIssMstGlobals         OBJECT IDENTIFIER ::= { eltMesIssMstMIBObjects 1 }

eltMesIssMstConfigPending   OBJECT IDENTIFIER ::= { eltMesIssMstGlobals 1 }
eltMesIssMstMstiConfig      OBJECT IDENTIFIER ::= { eltMesIssMstGlobals 2 }

-- MST Global objects

eltMesIssMstPendingConfigAction OBJECT-TYPE
    SYNTAX      EltMesIssMstPendingConfigAction
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This variable applies changes done in MSTP Configuration."
    ::= { eltMesIssMstConfigPending 1 }

eltMesIssMstRegnNamePending OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..32))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The pending Name for Region's configuration."
    ::= { eltMesIssMstConfigPending 2 }

eltMesIssMstRegnVersionPending OBJECT-TYPE
    SYNTAX      Integer32 (0..65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The pending Region Version."
    ::= { eltMesIssMstConfigPending 3 }

-- Low level Mib structure

-- --------------------------------------------------------------------------
-- MST pending table
-- --------------------------------------------------------------------------

eltMesIssMstVlanMapPendingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesIssMstVlanMapPendingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains one entry for each pending changed MST instance."
    ::= { eltMesIssMstConfigPending 4 }

eltMesIssMstVlanMapPendingEntry OBJECT-TYPE
    SYNTAX      EltMesIssMstVlanMapPendingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A row containing the pending vlan list to instance mapping."
    INDEX { eltMesIssMstInstanceId }
    ::= { eltMesIssMstVlanMapPendingTable 1 }

EltMesIssMstVlanMapPendingEntry ::=
    SEQUENCE {
        eltMesIssMstInstanceId
            Integer32,
        eltMesIssMstVlanMapPending
            OCTET STRING,
        eltMesIssMstVlanMap2kPending
            OCTET STRING,
        eltMesIssMstVlanMap3kPending
            OCTET STRING,
        eltMesIssMstVlanMap4kPending
            OCTET STRING
    }

eltMesIssMstInstanceId OBJECT-TYPE
    SYNTAX      Integer32 (1..64|4094)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The Instance index within the range from 1 to the Value of
         Max Instance Number."
    ::= { eltMesIssMstVlanMapPendingEntry 1 }

eltMesIssMstVlanMapPending OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The octet string containing the first 1k Vlans in
         Vlan to Instance Mapping. The first octet corresponds
         to VLANs with VlanIndex values 1 through 8;
         the second octet to VLANs 9 through 16 etc."
    ::= { eltMesIssMstVlanMapPendingEntry 2 }


eltMesIssMstVlanMap2kPending OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The octet string containing the second 1k Vlans in
         Vlan to Instance Mapping. The first octet corresponds
         to VLANs with VlanIndex values 1025 through 1032;
         the second octet to VLANs 1033 through 1040 etc."
    ::= { eltMesIssMstVlanMapPendingEntry 3 }

eltMesIssMstVlanMap3kPending OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The octet string containing the third 1k Vlans in
         Vlan to Instance Mapping. The first octet corresponds
         to VLANs with VlanIndex values 2049 through 2056;
         the second octet to VLANs 1033 through 1040 etc."
    ::= { eltMesIssMstVlanMapPendingEntry 4 }

eltMesIssMstVlanMap4kPending OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..128))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The octet string containing the forth 1k Vlans in
         Vlan to Instance Mapping. The first octet corresponds
         to VLANs with VlanIndex values 1025 through 1032;
         the second octet to VLANs 1033 through 1040 etc."
    ::= { eltMesIssMstVlanMapPendingEntry 5 }

-- --------------------------------------------------------------------------
--  MST MSTI port table
-- --------------------------------------------------------------------------

eltMesIssMstMstiPortTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesIssMstMstiPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains MSTP specific information."
    ::= { eltMesIssMstMstiConfig 1 }

eltMesIssMstMstiPortEntry OBJECT-TYPE
    SYNTAX      EltMesIssMstMstiPortEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of information maintained by every port for each
         spanning tree instance."
    AUGMENTS { fsMstMstiPortEntry }
    ::= { eltMesIssMstMstiPortTable 1 }

EltMesIssMstMstiPortEntry ::=
    SEQUENCE {
        eltMesIssMstMstiRootGuard
            TruthValue
    }

eltMesIssMstMstiRootGuard OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Current state of the root guard on specific port and
         MSTP instance"
        ::= { eltMesIssMstMstiPortEntry 1 }
END
