ELTEX-MES-ISS-DHCP-SRV-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, IpAddress
                FROM SNMPv2-SMI
        RowStatus, DisplayString
                FROM SNMPv2-TC
        eltMesIss
                FROM ELTEX-MES-ISS-MIB
        InterfaceIndex
                FROM IF-MIB
        dhcpSrvSubnetPoolIndex
                FROM ARICENT-DHCP-SERVER-MIB;

eltMesIssDhcpSrvMIB MODULE-IDENTITY
        LAST-UPDATED "202304100000Z"
        ORGANIZATION "Eltex Enterprise, Ltd."
        CONTACT-INFO
                "eltex-co.ru"
        DESCRIPTION
                "Eltex MIB extensions for DHCP Server."
        REVISION "202304100000Z"
        DESCRIPTION "Initial revision."
    ::= { eltMesIss 33 }

-- ========================================================================== --
--                          Top level MIB structure                           --
-- ========================================================================== --

eltMesIssDhcpSrvObjects OBJECT IDENTIFIER ::= { eltMesIssDhcpSrvMIB 1 }

-- ========================================================================== --
--                                 MIB Groups                                 --
-- ========================================================================== --

eltMesIssDhcpSrvGlobals OBJECT IDENTIFIER ::= { eltMesIssDhcpSrvObjects 1 }
eltMesIssDhcpSrvConfig  OBJECT IDENTIFIER ::= { eltMesIssDhcpSrvObjects 2 }

-- ========================================================================== --
--                         DHCP Server Table extension                        --
-- ========================================================================== --

--- eltMesIssDhcpSrvHostInterfaceOptTable

eltMesIssDhcpSrvHostInterfaceOptTable   OBJECT-TYPE
    SYNTAX SEQUENCE OF EltMesIssDhcpSrvHostInterfaceOptEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "This table contains the host interface specific options that
            are to be used by the server on response to a DHCP
            DISCOVER message in a DHCP OFFER message."
    ::= { eltMesIssDhcpSrvConfig 1 }

eltMesIssDhcpSrvHostInterfaceOptEntry   OBJECT-TYPE
    SYNTAX EltMesIssDhcpSrvHostInterfaceOptEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "The various option objects common to all DHCP offer
            messages."
    INDEX { eltMesIssDhcpSrvHostInterfaceIfIndex, dhcpSrvSubnetPoolIndex, eltMesIssDhcpSrvHostInterfaceOptType }
    ::= { eltMesIssDhcpSrvHostInterfaceOptTable 1 }

--
EltMesIssDhcpSrvHostInterfaceOptEntry ::=
SEQUENCE {
            eltMesIssDhcpSrvHostInterfaceIfIndex        InterfaceIndex,
            eltMesIssDhcpSrvHostInterfaceOptType        INTEGER,
            eltMesIssDhcpSrvHostInterfaceOptLen         INTEGER,
            eltMesIssDhcpSrvHostInterfaceOptVal         OCTET STRING,
            eltMesIssDhcpSrvHostInterfaceOptRowStatus   RowStatus
         }

eltMesIssDhcpSrvHostInterfaceIfIndex  OBJECT-TYPE
    SYNTAX InterfaceIndex
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "The object identifies the host interface. This id is an
            index to this table."
::= { eltMesIssDhcpSrvHostInterfaceOptEntry 1 }

eltMesIssDhcpSrvHostInterfaceOptType  OBJECT-TYPE
    SYNTAX INTEGER (1..255)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "The object identifies the option, this is the
            tag octet of the DHCP option. This option is the
            index in the eltMesIssDhcpSrvHostInterfaceOptTable."
::= { eltMesIssDhcpSrvHostInterfaceOptEntry 2 }

eltMesIssDhcpSrvHostInterfaceOptLen  OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object identifies the length of the option
            indicated by the option type. This length does not
            include the two octets specifiying the tag and length."
::= { eltMesIssDhcpSrvHostInterfaceOptEntry 3 }

eltMesIssDhcpSrvHostInterfaceOptVal  OBJECT-TYPE
    SYNTAX OCTET STRING
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object identifies the octets of data, of length
            specified by eltMesIssDhcpSrvHostInterfaceOptLen for that entry."
::= { eltMesIssDhcpSrvHostInterfaceOptEntry 4 }

eltMesIssDhcpSrvHostInterfaceOptRowStatus  OBJECT-TYPE
    SYNTAX  RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "Row status of this entry."
::= { eltMesIssDhcpSrvHostInterfaceOptEntry 5 }



--- eltMesIssDhcpSrvHostInterfaceConfigTable

eltMesIssDhcpSrvHostInterfaceConfigTable   OBJECT-TYPE
    SYNTAX SEQUENCE OF EltMesIssDhcpSrvHostInterfaceConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            "This table contains the IpAddress for specific interface hosts."
    ::= { eltMesIssDhcpSrvConfig 2 }

eltMesIssDhcpSrvHostInterfaceConfigEntry   OBJECT-TYPE
    SYNTAX EltMesIssDhcpSrvHostInterfaceConfigEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
            " "
    INDEX { eltMesIssDhcpSrvHostInterfaceIfIndex, dhcpSrvSubnetPoolIndex }
    ::= { eltMesIssDhcpSrvHostInterfaceConfigTable 1 }

--
EltMesIssDhcpSrvHostInterfaceConfigEntry ::=
SEQUENCE {
            eltMesIssDhcpSrvHostInterfaceIpAddress            IpAddress,
            eltMesIssDhcpSrvHostInterfacePoolName             INTEGER,
            eltMesIssDhcpSrvHostInterfaceBootFileName         DisplayString,
            eltMesIssDhcpSrvHostInterfaceBootServerAddress    IpAddress,
            eltMesIssDhcpSrvHostInterfaceConfigRowStatus      RowStatus
         }

eltMesIssDhcpSrvHostInterfaceIpAddress  OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "IpAddress configured for this client."
::= { eltMesIssDhcpSrvHostInterfaceConfigEntry 1 }

eltMesIssDhcpSrvHostInterfacePoolName  OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "This object identifies the subnet pool."
::= { eltMesIssDhcpSrvHostInterfaceConfigEntry 2 }

eltMesIssDhcpSrvHostInterfaceBootFileName  OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..64))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "Boot file name, null terminated string."
::= { eltMesIssDhcpSrvHostInterfaceConfigEntry 3 }

eltMesIssDhcpSrvHostInterfaceBootServerAddress  OBJECT-TYPE
    SYNTAX IpAddress
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "IP address of next server to use in bootstrap."
::= { eltMesIssDhcpSrvHostInterfaceConfigEntry 4 }

eltMesIssDhcpSrvHostInterfaceConfigRowStatus  OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
            "RowStatus of this entry."
::= { eltMesIssDhcpSrvHostInterfaceConfigEntry 5 }

END
