ELTEX-MES-SYSLOG-MIB DEFINITIONS ::= BEGIN

-- Title:      ELTEX MES SYSLOG Private MIB
-- Version:    2.1
-- Date:       31 Mar 2020
--
-- 11-May-2016 Added eltSyslogCpuRateLimiterTable
-- 31-Mar-2016 Added eltSyslogUserCmdEnable
-- 24-Jul-2019 Added eltMesSnmpSyslogCollector

IMPORTS
    eltMes                                  FROM ELTEX-MES
    OBJECT-TYPE, MODULE-IDENTITY            FROM SNMPv2-SMI
    EltCpuRateLimiterTrafficType            FROM ELTEX-MES-SWITCH-RATE-LIMITER-MIB
    snmpSyslogCollectorEntry                FROM DRAFT-IETF-SYSLOG-DEVICE-MIB
    rlSyslogLogEntry, rlSyslogLogCacheEntry FROM RADLAN-SYSLOG-MIB
    DisplayString, TEXTUAL-CONVENTION,
    TruthValue                              FROM SNMPv2-TC;

eltMesSyslog MODULE-IDENTITY
          LAST-UPDATED "202003310000Z"
          ORGANIZATION "Eltex Ltd."
          CONTACT-INFO
                  "eltex.nsk.ru"
          DESCRIPTION
                  "The private MIB module definition for SYSLOG services in Eltex devices."
          ::= { eltMes 10 }

eltSyslogCpuRateLimiterTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF EltSyslogCpuRateLimiterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION        "Enable/disable logging per CPU rate limiter."
    ::= { eltMesSyslog 1 }

eltSyslogCpuRateLimiterEntry OBJECT-TYPE
    SYNTAX          EltSyslogCpuRateLimiterEntry
    MAX-ACCESS      not-accessible
    STATUS          current
    DESCRIPTION        "An entry containing enable/disable logging settings per CPU rate limiter."
    INDEX           { eltSyslogCpuRateLimiterIndex }
    ::= { eltSyslogCpuRateLimiterTable 1 }

EltSyslogCpuRateLimiterEntry ::= SEQUENCE {
        eltSyslogCpuRateLimiterIndex       EltCpuRateLimiterTrafficType,
        eltSyslogCpuRateLimiterEnabled     TruthValue
}

eltSyslogCpuRateLimiterIndex OBJECT-TYPE
    SYNTAX          EltCpuRateLimiterTrafficType
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION        "Traffic type"
    ::= { eltSyslogCpuRateLimiterEntry 1 }

eltSyslogCpuRateLimiterEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "Enable logging of rate-limiter events"
    ::= { eltSyslogCpuRateLimiterEntry 2 }

--
-- eltMesSyslogEvents
--

eltMesSyslogEvents  OBJECT IDENTIFIER
    ::= { eltMesSyslog 2 }

--
-- eltSyslogEventsStpTable
--

eltSyslogEventsStpTable OBJECT-TYPE
    SYNTAX          SEQUENCE OF EltSyslogEventsStpEntry
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "Enable/disable logging of STP events."
    ::= { eltMesSyslogEvents 2 }

EltSyslogEventsStpEventType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION    "Types of STP events."
    SYNTAX INTEGER {
        eltSyslogEventsStpEventStateChange(1),
        eltSyslogEventsStpEventTopologyChange(2),
        eltSyslogEventsStpEventRootBridgeChange(3),
        eltSyslogEventsStpTcProtectionThresholdReached(4)
}

EltSyslogEventsStpEntry ::= SEQUENCE {
    eltSyslogEventsStpEventIndex        EltSyslogEventsStpEventType,
    eltSyslogEventsStpEventEnabled      TruthValue
}

eltSyslogEventsStpEntry OBJECT-TYPE
    SYNTAX          EltSyslogEventsStpEntry
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION        "An entry containing enable/disable logging of STP events."
    INDEX           { eltSyslogEventsStpEventIndex }
    ::= { eltSyslogEventsStpTable 1 }

eltSyslogEventsStpEventIndex OBJECT-TYPE
    SYNTAX          EltSyslogEventsStpEventType
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION         "Specify the index of STP event."
    ::= { eltSyslogEventsStpEntry 1 }

eltSyslogEventsStpEventEnabled OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION         "Enable logging of STP event."
    ::= { eltSyslogEventsStpEntry 2 }

eltSyslogEventsVxlanBumFloodingEnable OBJECT-TYPE
    SYNTAX          TruthValue
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Enable/disable logging events of pushing/pulling VLAN to/from
         default flood domain."
    DEFVAL { true }
    ::= { eltMesSyslogEvents 5 }

eltSyslogUserCmdEnable OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "User commands enter enable for syslog flash, syslog cache and syslog UDP.
         When set to true, generating syslog entry for user commands entered."
    DEFVAL  { false }
    ::= { eltMesSyslog 3 }
    
--
-- eltMesSyslogLogTable
--

eltMesSyslogLog OBJECT IDENTIFIER
    ::= { eltMesSyslog 5 }

eltMesSyslogLogTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltMesSyslogLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing events sent to the system log file."
    ::= { eltMesSyslogLog 1 }

eltMesSyslogLogEntry OBJECT-TYPE
    SYNTAX      EltMesSyslogLogEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A log entry "
    AUGMENTS   { rlSyslogLogEntry }
    ::= { eltMesSyslogLogTable 1 }

EltMesSyslogLogEntry ::=
    SEQUENCE {
        eltMesSyslogLogText1            DisplayString,
        eltMesSyslogLogText2            DisplayString
    }

eltMesSyslogLogText1 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..160))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The text of the logged message without time and date - part 5."
    ::= { eltMesSyslogLogEntry 1 }

eltMesSyslogLogText2 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..160))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The text of the logged message without time and date - part 6."
    ::= { eltMesSyslogLogEntry 2 }

--
-- eltSyslogLogCacheTable
--

eltMesSyslogLogCache OBJECT IDENTIFIER
    ::= { eltMesSyslog 7 }

eltSyslogLogCacheTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltSyslogLogCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing errors registered to system cache."
    ::= { eltMesSyslogLogCache 1 }

eltSyslogLogCacheEntry OBJECT-TYPE
    SYNTAX      EltSyslogLogCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A log history entry"
    AUGMENTS   { rlSyslogLogCacheEntry }
    ::= { eltSyslogLogCacheTable 1 }

EltSyslogLogCacheEntry ::=
    SEQUENCE {
        eltSyslogLogCacheText1            DisplayString,
        eltSyslogLogCacheText2            DisplayString
    }

eltSyslogLogCacheText1 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..160))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The text of the logged message without time and date - part 5."
    ::= { eltSyslogLogCacheEntry 1 }

eltSyslogLogCacheText2 OBJECT-TYPE
    SYNTAX  DisplayString (SIZE(0..160))
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The text of the logged message without time and date - part 6."
    ::= { eltSyslogLogCacheEntry 2 }

--
-- eltSnmpSyslogCollectorTable
--

eltMesSnmpSyslogCollector OBJECT IDENTIFIER
    ::= { eltMesSyslog 4 }

EltSyslogCollectorMsgFormat  ::=  TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Format of messages that will be sent to collectors."
    SYNTAX  INTEGER {
                      default(0),
                      cef(1)
                    }

eltSnmpSyslogCollectorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltSnmpSyslogCollectorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing Syslog collector information."
    ::= { eltMesSnmpSyslogCollector 1 }

eltSnmpSyslogCollectorEntry OBJECT-TYPE
    SYNTAX      EltSnmpSyslogCollectorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Defines the information to generate syslog messages to
         an aggregating agent or collector.

         Entries within this table with an access level of read-
         create MUST be considered non-volatile and MUST be
         maintained across entity resets."
    AUGMENTS   { snmpSyslogCollectorEntry }
    ::= { eltSnmpSyslogCollectorTable 1 }

EltSnmpSyslogCollectorEntry ::=
    SEQUENCE {
        eltSnmpSyslogCollectorMsgFormat
             EltSyslogCollectorMsgFormat
    }

eltSnmpSyslogCollectorMsgFormat OBJECT-TYPE
    SYNTAX      EltSyslogCollectorMsgFormat
    MAX-ACCESS  read-create
    STATUS      current
    DEFVAL      {default}
    DESCRIPTION
        "Format of messages that will be sent to collectors."
    ::= { eltSnmpSyslogCollectorEntry 1 }

END
