ELTEX-MSDP-MIB DEFINITIONS ::= BEGIN

  IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32,
    Integer32,
    Counter32,
    Gauge32,
    IpAddress,
    TimeTicks
      FROM SNMPv2-SMI

    TEXTUAL-CONVENTION,
    DisplayString,
    TruthValue,
    RowStatus,
    TimeStamp
      FROM SNMPv2-TC

    eltexLtd
      FROM ELTEX-SMI-ACTUAL;

  eltexMsdpMIB MODULE-IDENTITY
    LAST-UPDATED "201810250000Z" -- Mon Oct 25 00:00:00 GMT 2018
    ORGANIZATION "Eltex Enterprise Co, Ltd."
    CONTACT-INFO 
        "www.eltex.nsk.ru"
    DESCRIPTION  
        "The MIB module for management of the MSDP protocol."

  ::= { eltexLtd 51 }

-------------------------------------------------------------------------------
EltexMsdpSAFilterDirection ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION  "SA filter direction"
    SYNTAX       INTEGER {
                   in      (1),  -- Ingress (to local cache)
                   out     (2)   -- Egress  (to remote peer)
                 }
                 
EltexMsdpSAFilterAction ::= TEXTUAL-CONVENTION
    STATUS       current
    DESCRIPTION  "SA filter action"
    SYNTAX       INTEGER {
                   permit  (1),
                   deny    (2)
                 }
-------------------------------------------------------------------------------

eltexMsdpObjects    OBJECT IDENTIFIER ::= { eltexMsdpMIB 1 }

eltexMsdp           OBJECT IDENTIFIER ::= { eltexMsdpObjects 1 }

--eltexMsdpEnabled OBJECT-TYPE
--    SYNTAX     TruthValue
--    MAX-ACCESS read-write
--    STATUS     current
--    DESCRIPTION
--           "The state of MSDP on this MSDP speaker - globally enabled
--            or disabled."
--    ::= { eltexMsdp 1 }

eltexMsdpCacheLifetime OBJECT-TYPE
    SYNTAX     Integer32 (150..3600)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The lifetime given to SA cache entries when created or
            refreshed."
    REFERENCE "RFC 3618 section 5.3"
    DEFVAL { 150 }
    ::= { eltexMsdp 2 }

--eltexMsdpNumSACacheEntries OBJECT-TYPE
--    SYNTAX     Gauge32
--    MAX-ACCESS read-only
--    STATUS     current
--    DESCRIPTION
--           "The total number of entries in the SA Cache table."
--    ::= { eltexMsdp 3 }

eltexMsdpRPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The Rendezvous Point (RP) address used when sourcing
            MSDP SA messages."
    ::= { eltexMsdp 11 }

eltexMsdpHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (3..150)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "Time interval, in seconds, for the [HoldTime-Period]
            configured for this MSDP speaker"
    REFERENCE "RFC 3618 section 5.4"
    DEFVAL { 75 }
    ::= { eltexMsdp 100 }

eltexMsdpKeepAlive OBJECT-TYPE
    SYNTAX     Integer32 (1..60)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "Time interval, in seconds, for the [KeepAlive-Period]
            configured for this MSDP speaker."
    REFERENCE "RFC 3618 section 5.5"
    DEFVAL { 30 }
    ::= { eltexMsdp 101 }

eltexMsdpLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The local IP address used for MSDP TCP connection."
    ::= { eltexMsdp 102 }

eltexMsdpPeerCountersClear OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "By setting the scalar to remote MSDP peer address, all counters
            of this peer are set to zero.
            To clear the counters for ALL peer set the scalar to 0.0.0.0"
    ::= { eltexMsdp 103 }

--
-- The MSDP Peer table
--

eltexMsdpPeerTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF EltexMsdpPeerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The table listing the MSDP speaker's peers."
    ::= { eltexMsdp 10 }

eltexMsdpPeerEntry OBJECT-TYPE
    SYNTAX     EltexMsdpPeerEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry representing an MSDP peer."
    INDEX      { eltexMsdpPeerRemoteAddress }
    ::= { eltexMsdpPeerTable 1 }

EltexMsdpPeerEntry ::= SEQUENCE {
        eltexMsdpPeerRemoteAddress         IpAddress,
        eltexMsdpPeerState                 INTEGER,
        eltexMsdpPeerRPFFailures           Counter32,
        eltexMsdpPeerInSAs                 Counter32,
        eltexMsdpPeerOutSAs                Counter32,
        eltexMsdpPeerInSARequests          Counter32,
        eltexMsdpPeerOutSARequests         Counter32,
        eltexMsdpPeerInSAResponses         Counter32,
        eltexMsdpPeerOutSAResponses        Counter32,
        eltexMsdpPeerInControlMessages     Counter32,
        eltexMsdpPeerOutControlMessages    Counter32,
        eltexMsdpPeerLocalAddress          IpAddress,
        eltexMsdpPeerFsmEstablishedTime    TimeStamp,
        eltexMsdpPeerInMessageTime         TimeStamp,
        eltexMsdpPeerRowStatus             RowStatus,
        eltexMsdpPeerConnectionAttempts    Counter32,
        eltexMsdpPeerEnabled               TruthValue,
        eltexMsdpPeerDescription           DisplayString,
        eltexMsdpPeerFsmLastChangeTime     TimeStamp,
        eltexMsdpPeerNumSACacheEntries     Gauge32
    }

eltexMsdpPeerRemoteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The address of the remote MSDP peer."
    ::= { eltexMsdpPeerEntry 1 }

eltexMsdpPeerState OBJECT-TYPE
    SYNTAX     INTEGER {
                         inactive(1),
                         listen(2),
                         connecting(3),
                         established(4),
                         disabled(5)
                       }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The state of the MSDP TCP connection with this peer."
    ::= { eltexMsdpPeerEntry 3 }

eltexMsdpPeerRPFFailures OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of SA messages received from this peer that
            failed the Peer-RPF check."
    ::= { eltexMsdpPeerEntry 4 }

eltexMsdpPeerInSAs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of MSDP SA messages received on this
            TCP connection."
    ::= { eltexMsdpPeerEntry 5 }

eltexMsdpPeerOutSAs OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of MSDP SA messages transmitted on this
            TCP connection."
    ::= { eltexMsdpPeerEntry 6 }

eltexMsdpPeerInSARequests OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of MSDP SA-Request messages received on this
            TCP connection."
    ::= { eltexMsdpPeerEntry 7 }

eltexMsdpPeerOutSARequests OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of MSDP SA-Request messages transmitted on
            this TCP connection."
    ::= { eltexMsdpPeerEntry 8 }

eltexMsdpPeerInSAResponses OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of MSDP SA-Response messages received on this
            TCP connection."
    ::= { eltexMsdpPeerEntry 9 }

eltexMsdpPeerOutSAResponses OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of MSDP SA Response messages transmitted on
            this TCP connection."
    ::= { eltexMsdpPeerEntry 10 }

eltexMsdpPeerInControlMessages OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of MSDP messages received on this 
            TCP connection."
    ::= { eltexMsdpPeerEntry 11 }

eltexMsdpPeerOutControlMessages OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The total number of MSDP messages transmitted on this 
            TCP connection."
    ::= { eltexMsdpPeerEntry 12 }

eltexMsdpPeerFsmEstablishedTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The sysUpTime value when a peer transitions into or out of 
            the ESTABLISHED state. It is set to zero when the 
            MSDP speaker is booted."
    REFERENCE "RFC 3618 section 11"
    ::= { eltexMsdpPeerEntry 16 }    

eltexMsdpPeerInMessageTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The sysUpTime value when the last MSDP message was
            received from the peer. It is set to zero when the MSDP
            speaker is booted."
    ::= { eltexMsdpPeerEntry 17 }

eltexMsdpPeerLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The local IP address used for this entry's MSDP TCP
            connection."
    ::= { eltexMsdpPeerEntry 18 }

eltexMsdpPeerRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "RowStatus of this entry."
    ::= { eltexMsdpPeerEntry 25 }    

eltexMsdpPeerConnectionAttempts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of times the state machine has transitioned
            from INACTIVE to CONNECTING."
    ::= { eltexMsdpPeerEntry 30 }

eltexMsdpPeerEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The local IP address used for this entry's MSDP TCP
            connection."
    ::= { eltexMsdpPeerEntry 100 }

eltexMsdpPeerDescription OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..160))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "An optional text that describes the MSDP peer."
    ::= { eltexMsdpPeerEntry 101 }

eltexMsdpPeerFsmLastChangeTime OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "This timestamp is set to the value of sysUpTime when a
            peer transitions into new state. It is set to zero 
            when the MSDP speaker is booted."
    ::= { eltexMsdpPeerEntry 102 }

eltexMsdpPeerNumSACacheEntries OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The number of entries in the SA Cache table 
            received from this peer."
    ::= { eltexMsdpPeerEntry 103 }

--
-- The MSDP Source-Active Cache table
--

eltexMsdpSACacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF EltexMsdpSACacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The table listing the MSDP SA advertisements 
            in the MSDP speaker's cache."
    ::= { eltexMsdp 6 }

eltexMsdpSACacheEntry OBJECT-TYPE
    SYNTAX     EltexMsdpSACacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry representing an MSDP SA advertisement."
    INDEX      { eltexMsdpSACacheGroupAddr, eltexMsdpSACacheSourceAddr }
    ::= { eltexMsdpSACacheTable 1 }

EltexMsdpSACacheEntry ::= SEQUENCE {
        eltexMsdpSACacheGroupAddr        IpAddress,
        eltexMsdpSACacheSourceAddr       IpAddress,
        eltexMsdpSACacheOriginRP         IpAddress,
        eltexMsdpSACachePeerLearnedFrom  IpAddress,
        eltexMsdpSACacheUpTime           TimeTicks
    }

eltexMsdpSACacheGroupAddr OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The group address of the SA Cache entry."
    ::= { eltexMsdpSACacheEntry 1 }

eltexMsdpSACacheSourceAddr OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The source address of the SA Cache entry."
    ::= { eltexMsdpSACacheEntry 2 }

eltexMsdpSACacheOriginRP OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The RP of the SA Cache entry."
    ::= { eltexMsdpSACacheEntry 3 }

eltexMsdpSACachePeerLearnedFrom OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The peer from which this SA Cache entry was last
            accepted."
    ::= { eltexMsdpSACacheEntry 4 }

eltexMsdpSACacheUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
           "The time since this entry was first placed in the SA
            cache."
    ::= { eltexMsdpSACacheEntry 8 }

--
-- MSDP Mesh Group Membership table
--

eltexMsdpMeshGroupTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF EltexMsdpMeshGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The table listing MSDP Mesh Group configuration."
    ::= { eltexMsdp 12 }

eltexMsdpMeshGroupEntry OBJECT-TYPE
    SYNTAX     EltexMsdpMeshGroupEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry representing a peer in an MSDP Mesh Group."
    INDEX        { eltexMsdpMeshGroupName, eltexMsdpMeshGroupPeerAddress }
    ::= { eltexMsdpMeshGroupTable 1 }

EltexMsdpMeshGroupEntry ::= SEQUENCE {
        eltexMsdpMeshGroupName         DisplayString,
        eltexMsdpMeshGroupPeerAddress  IpAddress,
        eltexMsdpMeshGroupRowStatus    RowStatus
    }

eltexMsdpMeshGroupName OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(1..31))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The name of the mesh group."
    ::= { eltexMsdpMeshGroupEntry 1 }

eltexMsdpMeshGroupPeerAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "A peer address that is a member of the mesh group with
            name eltexMsdpMeshGroupName."
    ::= { eltexMsdpMeshGroupEntry 2 }

eltexMsdpMeshGroupRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "RowStatus of this entry."
    ::= { eltexMsdpMeshGroupEntry 3 }

--
-- MSDP Source-Active Filter table
--

eltexMsdpSAFilterTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF EltexMsdpSAFilterEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The table listing MSDP SA Filtering configuration."
    ::= { eltexMsdp 104 }

eltexMsdpSAFilterEntry OBJECT-TYPE
    SYNTAX     EltexMsdpSAFilterEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "An entry representing a SA filter."
    INDEX        { eltexMsdpSAFilterPeerRemoteAddress, 
                   eltexMsdpSAFilterDirection, eltexMsdpSAFilterIndex }
    ::= { eltexMsdpSAFilterTable 1 }

EltexMsdpSAFilterEntry ::= SEQUENCE {
        eltexMsdpSAFilterPeerRemoteAddress    IpAddress,
        eltexMsdpSAFilterDirection            EltexMsdpSAFilterDirection,
        eltexMsdpSAFilterIndex                Unsigned32,
        eltexMsdpSAFilterAction               EltexMsdpSAFilterAction,
        eltexMsdpSAFilterGroupAddr            IpAddress,
        eltexMsdpSAFilterGroupAddrPrefixLen   Integer32,
        eltexMsdpSAFilterSourceAddr           IpAddress,
        eltexMsdpSAFilterSourceAddrPrefixLen  Integer32,
        eltexMsdpSAFilterOriginRP             IpAddress,
        eltexMsdpSAFilterOriginRPPrefixLen    Integer32,
        eltexMsdpSAFilterRowStatus            RowStatus
    }

eltexMsdpSAFilterPeerRemoteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The address of the remote MSDP peer."
    ::= { eltexMsdpSAFilterEntry 1 }

eltexMsdpSAFilterDirection OBJECT-TYPE
    SYNTAX     EltexMsdpSAFilterDirection
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The direction of rule in SA filter."
    ::= { eltexMsdpSAFilterEntry 2 }

eltexMsdpSAFilterIndex OBJECT-TYPE
    SYNTAX     Unsigned32 (1..4294967294)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
           "The index of rule in SA filter."
    ::= { eltexMsdpSAFilterEntry 3 }

eltexMsdpSAFilterAction OBJECT-TYPE
    SYNTAX     EltexMsdpSAFilterAction
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The action of the SA Filter entry."
    ::= { eltexMsdpSAFilterEntry 4 }

eltexMsdpSAFilterGroupAddr OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The group address of the SA Filter entry."
    ::= { eltexMsdpSAFilterEntry 5 }

eltexMsdpSAFilterGroupAddrPrefixLen OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "Group address prefix."
    ::= { eltexMsdpSAFilterEntry 6 }

eltexMsdpSAFilterSourceAddr OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The source address of the SA Filter entry."
    ::= { eltexMsdpSAFilterEntry 7 }

eltexMsdpSAFilterSourceAddrPrefixLen OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "Source address prefix."
    ::= { eltexMsdpSAFilterEntry 8 }

eltexMsdpSAFilterOriginRP OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "The RP of the SA Filter entry."
    ::= { eltexMsdpSAFilterEntry 9 }

eltexMsdpSAFilterOriginRPPrefixLen OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
           "RP address prefix."
    ::= { eltexMsdpSAFilterEntry 10 }

eltexMsdpSAFilterRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
           "RowStatus of this entry."
    ::= { eltexMsdpSAFilterEntry 11 }

-- 
-- Traps
--

eltexMsdpTraps   OBJECT IDENTIFIER ::= { eltexMsdp 0 }

END
