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

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE
                FROM SNMPv2-SMI
        InetPortNumber
                FROM INET-ADDRESS-MIB
        eltMesIss
                FROM ELTEX-MES-ISS-MIB
        fsMIDhcpRelaySrvAddressEntry
                FROM ARICENT-DHCP-RLY-MI-MIB
        VlanId
                FROM Q-BRIDGE-MIB;

eltMesIssDhcpRelayMIB MODULE-IDENTITY
        LAST-UPDATED "202206020000Z"
        ORGANIZATION "Eltex Enterprise, Ltd."
        CONTACT-INFO
                "eltex-co.ru"
        DESCRIPTION
                "Eltex MIB extensions for DHCP Relay."
        REVISION "202206020000Z"
        DESCRIPTION "Added per-VLAN DHCP Relay."
        REVISION "202110070000Z"
        DESCRIPTION "Initial revision."
    ::= { eltMesIss 28 }

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

eltMesIssDhcpRelayObjects OBJECT IDENTIFIER ::= { eltMesIssDhcpRelayMIB 1 }

-- -----------------------------------------------------------------------------
-- MIB Groups
-- -----------------------------------------------------------------------------

eltMesIssDhcpRelayGlobals OBJECT IDENTIFIER ::= { eltMesIssDhcpRelayObjects 1 }
eltMesIssDhcpRelaySrv     OBJECT IDENTIFIER ::= { eltMesIssDhcpRelayObjects 2 }
eltMesIssDhcpRelayVlan    OBJECT IDENTIFIER ::= { eltMesIssDhcpRelayObjects 3 }

-- -----------------------------------------------------------------------------
-- DHCP Relay server Table extension
-- -----------------------------------------------------------------------------

eltMesIssMIDhcpRelaySrvAddressTable OBJECT-TYPE
    SYNTAX SEQUENCE OF EltMesIssMIDhcpRelaySrvAddressEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "This table augments the fsMIDhcpRelaySrvAddressTable table."
    ::= { eltMesIssDhcpRelaySrv 1 }

eltMesIssMIDhcpRelaySrvAddressEntry OBJECT-TYPE
    SYNTAX EltMesIssMIDhcpRelaySrvAddressEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Contains DHCP server source and destination port."
    AUGMENTS { fsMIDhcpRelaySrvAddressEntry }
    ::= { eltMesIssMIDhcpRelaySrvAddressTable 1 }

EltMesIssMIDhcpRelaySrvAddressEntry ::= SEQUENCE {
    eltMesIssMIDhcpRelaySrvSrcPort InetPortNumber,
    eltMesIssMIDhcpRelaySrvDstPort InetPortNumber
}

eltMesIssMIDhcpRelaySrvSrcPort OBJECT-TYPE
    SYNTAX InetPortNumber
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "UDP source port for communication with DHCP server."
    ::=  { eltMesIssMIDhcpRelaySrvAddressEntry 1 }

eltMesIssMIDhcpRelaySrvDstPort OBJECT-TYPE
    SYNTAX InetPortNumber
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    "UDP destination port for communication with DHCP server."
    ::=  { eltMesIssMIDhcpRelaySrvAddressEntry 2 }

-- --------------------- --
-- DHCP Relay parameters --
-- --------------------- --

eltMesIssDhcpRelayVlanTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF EltMesIssDhcpRelayVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table contains the configuration 
            parameters of DHCP Relay on a specific VLAN."
    ::= { eltMesIssDhcpRelayVlan 1 }

eltMesIssDhcpRelayVlanEntry OBJECT-TYPE
        SYNTAX      EltMesIssDhcpRelayVlanEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Each row instance gives the DHCP Relay configuration on VLAN."
        INDEX { eltMesIssDhcpRelayVlanId }
    ::= { eltMesIssDhcpRelayVlanTable 1 }

EltMesIssDhcpRelayVlanEntry ::= SEQUENCE {
        eltMesIssDhcpRelayVlanId          VlanId,
        eltMesIssDhcpRelayVlanStatus      INTEGER
    }

eltMesIssDhcpRelayVlanId OBJECT-TYPE
        SYNTAX      VlanId
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Vlan ID to which this table-entry is associated."
    ::= { eltMesIssDhcpRelayVlanEntry 1 }

eltMesIssDhcpRelayVlanStatus OBJECT-TYPE
        SYNTAX      INTEGER { enabled (1), disabled (2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "This object is used to enable or disable DHCP Relay
             in the given VLAN."
        DEFVAL  { disabled }
    ::= { eltMesIssDhcpRelayVlanEntry 2 }

END
