ELTEX-MES-DHCP DEFINITIONS ::= BEGIN

-- Title:      ELTEX MES DHCP Extension Private
-- Version:    1.1
-- Date:       14 May 2015

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE                    FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TruthValue                  FROM SNMPv2-TC
    DisplayString                                   FROM SNMPv2-TC
    rlDhcpSrvConfParamsEntry                        FROM RADLAN-DHCP-MIB
    eltMesDhcp                                      FROM ELTEX-MES;

--
-- Common types
--

EltDhcpRelayOption82PolicyType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION     "Specifies DHCP relay option 82 reforwarding policy"
    SYNTAX INTEGER{
       replace(1),
       drop(2),
       keep(3)
    }

EltDhcpRelayOption82SuboptionType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION    "Specifies global format of option 82 suboptions."
    SYNTAX INTEGER{
       tr101(1),
       custom(2)
    }

EltDhcpRelayOption82CombinationType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION    "Specifies circuit id suboptions that will be inserted to a option 82."
    SYNTAX INTEGER{
       sv(2),
       pv(3),
       spv(4),
       bin(5)
    }

EltDhcpRelayOption82DelimiterType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION    "Specifies circuit id suboptions delimeter that will be inserted to a option 82."
    SYNTAX INTEGER{
       tr101(1),
       dot(2),
       comma(3),
       semicolon(4),
       hash(5),
       slash(6),
       space(7)
    }

--
-- DHCP Relay
--

eltMesDhcpRelay OBJECT IDENTIFIER ::= { eltMesDhcp  1}

--
-- DHCP Relay Option 82
--

eltMesDhcpRelayOption82 OBJECT IDENTIFIER ::= { eltMesDhcpRelay  1}

eltDhcpRelayOption82Policy OBJECT-TYPE
    SYNTAX EltDhcpRelayOption82PolicyType
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION    "Specifies global DHCP relay option 82 reforwarding policy"
    ::= { eltMesDhcpRelayOption82 1 }

eltDhcpRelayOption82IfPolicyTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EltDhcpRelayOption82IfPolicyEntry
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "A table of DHCP relay option 82 reforwarding policy for each port
        in the system. Policy stated in an entry of this table has a higher
        priority than global option."
    ::= { eltMesDhcpRelayOption82 2 }

eltDhcpRelayOption82IfPolicyEntry OBJECT-TYPE
    SYNTAX  EltDhcpRelayOption82IfPolicyEntry
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "Specifies DHCP relay option 82 policy for port."
    INDEX { eltDhcpRelayOption82IfIndex }
    ::= { eltDhcpRelayOption82IfPolicyTable 1 }

EltDhcpRelayOption82IfPolicyEntry ::= SEQUENCE {
        eltDhcpRelayOption82IfIndex         INTEGER,
        eltDhcpRelayOption82IfPolicy      INTEGER
    }

eltDhcpRelayOption82IfIndex OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION  "Port number."
    ::= { eltDhcpRelayOption82IfPolicyEntry 1 }

eltDhcpRelayOption82IfPolicy OBJECT-TYPE
    SYNTAX      INTEGER {
                    replace (1),
                    drop (2),
                    keep (3),
                    global (4)
                }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION  "DHCP relay option 82 reforwarding policy."
    DEFVAL { 4 }
    ::= {  eltDhcpRelayOption82IfPolicyEntry 2 }

eltDhcpRelayOption82AccessNodeIdentifier OBJECT-TYPE
    SYNTAX DisplayString(SIZE(1..48))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION    "Specifies an access node identifier"
    ::= { eltMesDhcpRelayOption82 3 }

eltDhcpRelayOption82CircuitIdSuboptionsCombination OBJECT-TYPE
    SYNTAX EltDhcpRelayOption82CombinationType
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION       "Specifies circuit id suboptions that will be inserted to packet."
    ::= { eltMesDhcpRelayOption82 4 }

eltDhcpRelayOption82CircuitIdSuboptionsDelimeter OBJECT-TYPE
    SYNTAX EltDhcpRelayOption82DelimiterType
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION       "Specifies a char symbol that will delimit circuit id suboptions."
    ::= { eltMesDhcpRelayOption82 5 }

eltDhcpRelayOption82SuboptionType OBJECT-TYPE
    SYNTAX EltDhcpRelayOption82SuboptionType
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION       "Specifies global format of option 82 suboptions."
    ::= { eltMesDhcpRelayOption82 6 }

eltDhcpRelayOption82RemoteIdentifier OBJECT-TYPE
    SYNTAX DisplayString(SIZE(1..63))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION       "Specifies global remote Identifier suboption for Option 82."
    ::= { eltMesDhcpRelayOption82 7 }

eltDhcpRelayBroadcastEnable OBJECT-TYPE
    SYNTAX TruthValue
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "Enable or disable the of the DHCP relay broadcast subnet forwarding."
    ::= { eltMesDhcpRelay 2 }

--
-- DHCP Server
--

eltMesDhcpSrv OBJECT IDENTIFIER ::= { eltMesDhcp  2}

--
-- DHCP Server Configuration Parameters
--

eltDhcpSrvConfParamsTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EltDhcpSrvConfParamsEntry
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The DHCP Configuration Parameters Table."
    ::= { eltMesDhcpSrv 1 }

eltDhcpSrvConfParamsEntry OBJECT-TYPE
    SYNTAX  EltDhcpSrvConfParamsEntry
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "The row definition for this table.
        Each entry corresponds to one specific parameters set."
    AUGMENTS    { rlDhcpSrvConfParamsEntry }
    ::= { eltDhcpSrvConfParamsTable 1 }

EltDhcpSrvConfParamsEntry ::= SEQUENCE {
        eltDhcpSrvConfParamsTftpSrvList         DisplayString
}

eltDhcpSrvConfParamsTftpSrvList OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "The value of option code 150, which defines list of TFTP
        servers addresses. Each IP address is represented in dotted
        decimal notation format with ';' between them."
    ::= { eltDhcpSrvConfParamsEntry 1 }

END

