ELTEX-MES-IpRouter DEFINITIONS ::= BEGIN

-- Title:      Eltex MES IP Router Private Extension
-- Version:    1.1
-- Date:       31 May 2024

--  OSPF md5 authentication table

IMPORTS
    OBJECT-TYPE,
    MODULE-IDENTITY                             FROM SNMPv2-SMI
    eltMesOspf                                  FROM ELTEX-MES-IP
    rlOspfGeneralGroupEntry, rlOspfIfEntry,
    rlOspfNbrEntry, RlOspfProcessID             FROM RADLAN-OSPF-MIB
    Unsigned32, IpAddress                       FROM SNMPv2-SMI
    RowStatus                                   FROM SNMPv2-TC
    AreaID, OspfDesignatedRtrState, Status,
    DesignatedRouterPriority                    FROM OSPF-MIB
    InterfaceIndexOrZero                        FROM IF-MIB
    TruthValue                                  FROM SNMPv2-TC;

--
-- eltOspfGeneralGroupTable
--

eltOspfGeneralGroupTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF EltOspfGeneralGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "This table augments existing rlOspfGeneralGroupTable."
        ::= { eltMesOspf 4 }

eltOspfGeneralGroupEntry OBJECT-TYPE
        SYNTAX      EltOspfGeneralGroupEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "Information describing the configured global parame-
           ters to the Router OSPF Process."
        AUGMENTS { rlOspfGeneralGroupEntry }
        ::= { eltOspfGeneralGroupTable 1 }

EltOspfGeneralGroupEntry ::=
    SEQUENCE {
        eltOspfLsaMinInterval          Unsigned32,
        eltOspfLsaHoldInterval         Unsigned32,
        eltOspfLsaMaxInterval          Unsigned32,
        eltOspfLsaMinArrival           Unsigned32,
        eltOspfAdvertiseMaxMetric      TruthValue,
        eltOspfTimeToAdvertise         Unsigned32,
        eltOspfAdvertiseMaxMetricTmRem Unsigned32,
        eltOspfMaxMetricStub           TruthValue
    }

eltOspfLsaMinInterval OBJECT-TYPE
        SYNTAX      Unsigned32 (0..600000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The minimum time, in milliseconds, between distinct
            originations of any particular LSA."
        DEFVAL { 5000 }
        ::= { eltOspfGeneralGroupEntry 1 }

eltOspfLsaHoldInterval OBJECT-TYPE
        SYNTAX      Unsigned32 (0..600000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The time, in milliseconds, that the minimum time between
           distinct originations of any particular LSA is increased
           when the network is unstable.

           If an event occurs within the minimum time for LSA
           regeneration, the origination is delayed until the end of
           the eltOspfLsaHoldInterval and the length of the interval
           doubled.  Doubling of the hold interval contuinues until
           the interval reaches eltOspfLsaMaxInterval."
       DEFVAL { 0 }
       ::= { eltOspfGeneralGroupEntry 2 }

eltOspfLsaMaxInterval OBJECT-TYPE
        SYNTAX      Unsigned32 (0..600000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The maximum value, in milliseconds, that an origination of
           any particular LSA is delayed."
        DEFVAL { 0 }
        ::= { eltOspfGeneralGroupEntry 3 }

eltOspfLsaMinArrival OBJECT-TYPE
        SYNTAX      Unsigned32 (0..600000)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "For any particular LSA, the minimum time in milliseconds
           that must elapse between reception of new LSA instances
           during flooding.  LSA instances received at higher
           frequencies are discarded."
        DEFVAL { 1000 }
        ::= { eltOspfGeneralGroupEntry 4 }

eltOspfAdvertiseMaxMetric OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Set this flag to 'true' to configure OSPF to advertise all
            the non-stub links in its router LSA with the maximum valid value.

            If eltOspfTimeToAdvertise is non zero then this is only
            done for that period after OSPF activates. Once this time
            has passed, the non-stub links will be advertised with
            their normal metrics."
        DEFVAL { false }
        ::= { eltOspfGeneralGroupEntry 5 }

eltOspfTimeToAdvertise OBJECT-TYPE
        SYNTAX      Unsigned32 (0..86400)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The amount of time OSPF advertises all the non-stub links
            in its router LSA with the maximum valid value after OSPF
            activates, if eltOspfAdvertiseMaxMetric is set to 'true'.
            Once this time has passed, the non-stub links will be
            advertised with their normal metrics.  A value of zero
            indicates that the non-stub links are always advertised
            with the maximum valid value.

            If it is changed to a non zero value while a previous time
            to advertise period is in progress then the timer is
            restarted with the updated value."
        DEFVAL { 0 }
        ::= { eltOspfGeneralGroupEntry 6 }

eltOspfAdvertiseMaxMetricTmRem OBJECT-TYPE
        SYNTAX      Unsigned32 (0..86400)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
           "The time remaining that OSPF is advertising the maximum
            metric for non-stub links during activation.

            A value of 0 indicates that this function is not configured
            or has completed."
        ::= { eltOspfGeneralGroupEntry 7 }

eltOspfMaxMetricStub OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Set this flag to 'true' to configure OSPF to advertise all
            the stub links in its router LSA with the maximum valid
            value in addition to non-stub links.

            This field is ignored if eltOspfAdvertiseMaxMetric is set to false."
        DEFVAL { false }
        ::= { eltOspfGeneralGroupEntry 8 }

--
-- eltOspfIfTable
--

eltOspfIfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF EltOspfIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "This table augments existing rlOspfIfTable."
        ::= { eltMesOspf 5 }

eltOspfIfEntry OBJECT-TYPE
        SYNTAX      EltOspfIfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "Information describing the configured ospf parameters
            on this interface."
        AUGMENTS { rlOspfIfEntry }
        ::= { eltOspfIfTable 1 }

EltOspfIfEntry ::=
    SEQUENCE {
        eltOspfIfBfdEnable        TruthValue
    }

eltOspfIfBfdEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "Indicates whether Bidirectional Forwarding Detection (BFD)
            is desired on this interface."
        DEFVAL { false }
        ::= { eltOspfIfEntry 1 }

--
-- eltOspfNbrTable
--

eltOspfNbrTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF EltOspfNbrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "This table is read-only. It augments existing rlOspfNbrTable."
        ::= { eltMesOspf 6 }

eltOspfNbrEntry OBJECT-TYPE
        SYNTAX      EltOspfNbrEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "The information regarding a single neighbor."
        AUGMENTS { rlOspfNbrEntry }
        ::= { eltOspfNbrTable 1 }

EltOspfNbrEntry ::=
    SEQUENCE {
        eltOspfNbrDesignatedRtrState     OspfDesignatedRtrState,
        eltOspfNbrAdminStatus            Status
    }

eltOspfNbrDesignatedRtrState OBJECT-TYPE
        SYNTAX       OspfDesignatedRtrState
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  
           "The designated router state of this neighbor.  This field
            indicates whether the router is the designated router or
            backup designated router or neither."
        ::= { eltOspfNbrEntry 1 }

eltOspfNbrAdminStatus OBJECT-TYPE
        SYNTAX       Status
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "The desired administrative state of this neighbor. This object
            can only be changed for explicitly defined neighbors."
        ::= { eltOspfNbrEntry 2 }


--
-- eltOspfNbrConfigTable
--

eltOspfNbrConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF EltOspfNbrConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "This table for neighbor configuration in non-broadcast and 
            point to multipoint non-broadcast mode."
        ::= { eltMesOspf 7 }

eltOspfNbrConfigEntry OBJECT-TYPE
        SYNTAX      EltOspfNbrConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           "Information describing the configured OSPF parameters for
            neighbor."
        INDEX { eltOspfNbrConfigProcessId,
                eltOspfNbrConfigIpAddr,
                eltOspfNbrConfigAddressLessIndex }
        ::= { eltOspfNbrConfigTable 1 }

EltOspfNbrConfigEntry ::=
    SEQUENCE {
        eltOspfNbrConfigProcessId               RlOspfProcessID,
        eltOspfNbrConfigIpAddr                  IpAddress,
        eltOspfNbrConfigAddressLessIndex        InterfaceIndexOrZero,
        eltOspfNbrConfigStatus                  RowStatus,
        eltOspfNbrConfigLocalIfAddress          IpAddress,
        eltOspfNbrConfigAdminStatus             Status,
        eltOspfNbrConfigPriority                DesignatedRouterPriority
    }

eltOspfNbrConfigProcessId OBJECT-TYPE
       SYNTAX      RlOspfProcessID
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "A 32-bit integer uniquely identifying an OSPF process."
       ::= { eltOspfNbrConfigEntry 1 }

eltOspfNbrConfigIpAddr OBJECT-TYPE
       SYNTAX      IpAddress
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "The IP address this neighbor is using in its
           IP source address.  Note that, on addressless
           links, this will not be 0.0.0.0 but the
           address of another of the neighbor's interfaces."
       ::= { eltOspfNbrConfigEntry 2 }

eltOspfNbrConfigAddressLessIndex OBJECT-TYPE
       SYNTAX      InterfaceIndexOrZero
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
          "On an interface having an IP address, zero.
           On addressless interfaces, the corresponding
           value of ifIndex in the Internet Standard MIB.
           On row creation, this can be derived from the
           instance."
        ::= { eltOspfNbrConfigEntry 3 }

eltOspfNbrConfigStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
          "This object permits management of the table by
           facilitating actions such as row creation,
           construction, and destruction.

           The value of this object has no effect on
           whether other objects in this conceptual row can be
           modified."
       ::= { eltOspfNbrConfigEntry 4 }

eltOspfNbrConfigLocalIfAddress OBJECT-TYPE
        SYNTAX      IpAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The IP address of the local OSPF interface that the adjacency to
            this neighbor is running over.  This will be 0.0.0.0 for an
            unnumbered interface.

            When creating an interface for a neighbor, this field will 
            specify the IP address through which the connection will
            be established."
        ::= { eltOspfNbrConfigEntry 5 }

eltOspfNbrConfigAdminStatus OBJECT-TYPE
        SYNTAX      Status
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The desired administrative state of this neighbor. This object
            can only be changed for explicitly defined neighbors."
        DEFVAL { enabled }
        ::= { eltOspfNbrConfigEntry 6 }

eltOspfNbrConfigPriority OBJECT-TYPE
        SYNTAX      DesignatedRouterPriority
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The configured priority of this neighbor.  This field is
            set to a non-zero value in order to initiate an 'hello'
            exchange with a neighbor over an NBMA interface.  For the
            actual value which has been signalled by the neighbor, see
            rlOspfNbrPriority."
        DEFVAL { 0 }
        ::= { eltOspfNbrConfigEntry 7 }

END