TIMETRA-DHCP-SERVER-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Unsigned32, Integer32, Counter32, Gauge32, Counter64,
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE FROM SNMPv2-SMI

    MODULE-COMPLIANCE, OBJECT-GROUP,
    NOTIFICATION-GROUP                              FROM SNMPv2-CONF

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

    InetAddressType, InetAddress,
    InetAddressPrefixLength                         FROM INET-ADDRESS-MIB

    timetraSRMIBModules, tmnxSRObjs,
    tmnxSRNotifyPrefix, tmnxSRConfs                 FROM TIMETRA-GLOBAL-MIB

    TNamedItem, TNamedItemOrEmpty,
    TItemDescription, TmnxDhcpOptionType,
    TmnxPppoeUserNameOrEmpty, TmnxAdminState,
    TmnxVRtrID, TmnxVRtrIDOrZero,
    TmnxActionType                                  FROM TIMETRA-TC-MIB

    vRtrID                                          FROM TIMETRA-VRTR-MIB
    ;

timetraDhcpServerMIBModule MODULE-IDENTITY
        LAST-UPDATED "201202281200Z"
        ORGANIZATION "Alcatel-Lucent"
        CONTACT-INFO
            "Alcatel-Lucent SROS Support
             Web: http://support.alcatel-lucent.com"
    DESCRIPTION
        "This document is the SNMP MIB module to manage and provision
         the DHCP (Dynamic Host Configuration Protocol) server
         for the Alcatel-Lucent SROS device.

         Copyright 2008-2012 Alcatel-Lucent. All rights reserved.
         Reproduction of this document is authorized on the condition that
         the foregoing copyright notice is included.

         This SNMP MIB module (Specification) embodies Alcatel-Lucent's
         proprietary intellectual property.  Alcatel-Lucent retains
         all title and ownership in the Specification, including any
         revisions.

         Alcatel-Lucent grants all interested parties a non-exclusive
         license to use and distribute an unmodified copy of this
         Specification in connection with management of Alcatel-Lucent
         products, and without fee, provided this copyright notice and
         license appear on all copies.

         This Specification is supplied 'as is', and Alcatel-Lucent
         makes no warranty, either express or implied, as to the use,
         operation, condition, or performance of the Specification."

    REVISION     "1202281200Z"
    DESCRIPTION  "Rev 10.0               28 Feb 2012 12:00
                  10.0 release of the TIMETRA-DHCP-SERVER-MIB."

    REVISION     "1102010000Z"
    DESCRIPTION  "Rev 9.0                1 Feb 2011 00:00
                  9.0 release of the TIMETRA-DHCP-SERVER-MIB."

    REVISION     "0902280000Z"
    DESCRIPTION  "Rev 7.0                28 Feb 2009 00:00
                  7.0 release of the TIMETRA-DHCP-SERVER-MIB."

    REVISION     "0807010000Z"
    DESCRIPTION  "Rev 6.1                01 Jul 2008 00:00
                  6.1 release of the TIMETRA-DHCP-SERVER-MIB."

    REVISION     "0801010000Z"
    DESCRIPTION  "Rev 0.1                01 Jan 2008 00:00
                  Initial version of the TIMETRA-DHCP-SERVER-MIB."

        ::= { timetraSRMIBModules 47 }

-- ----------------------------------------------------------------------------
--  Alcatel-Lucent SROS series DHCP server feature
--  MIB structure
-- ----------------------------------------------------------------------------
tmnxDhcpServer                    OBJECT IDENTIFIER ::= { tmnxSRObjs 47 }
  tmnxDhcpServerObjs              OBJECT IDENTIFIER ::= { tmnxDhcpServer 1 }
  tmnxDhcpServerNotificationObjs  OBJECT IDENTIFIER ::= { tmnxDhcpServer 2 }

tmnxDhcpServerNotifyPrefix        OBJECT IDENTIFIER ::= { tmnxSRNotifyPrefix 47 }
      tmnxDhcpServerNotifications OBJECT IDENTIFIER ::= { tmnxDhcpServerNotifyPrefix 0 }

tmnxDhcpServerConformance         OBJECT IDENTIFIER ::= { tmnxSRConfs 47 }
    tmnxDhcpServerCompliances     OBJECT IDENTIFIER ::= { tmnxDhcpServerConformance 1 }
    tmnxDhcpServerGroups          OBJECT IDENTIFIER ::= { tmnxDhcpServerConformance 2 }
    tmnxDhcpServerNotifGroups     OBJECT IDENTIFIER ::= { tmnxDhcpServerConformance 3 }

-- ----------------------------------------------------------------------------
--  Textual Conventions
-- ----------------------------------------------------------------------------

TmnxDhcpSvrOperState ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "The TmnxDhcpSvrOperState data type is an enumerated integer 
         that describes the values used to identify the operational state of 
         a DHCP Server instance.
                unknown
                inService
                outOfService
                transition
                waitPersistence : the DHCP Server instance is waiting for a
                                  persistence action to complete."
    SYNTAX  INTEGER {
                unknown (1),
                inService (2),
                outOfService (3),
                transition (4),
                waitPersistence (5)
                }

TmnxDhcpSvrClientType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Indicates a DHCP Server client type."
    SYNTAX      INTEGER {
                    dhcp (0),
                    ppp  (1)
                }

TmnxDhcpSvrFailCtrlType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Indicates a DHCP Server failover control type.
                local  : this system is in control under normal operation;
                remote : the remote system is in control under normal
                         operation."
    SYNTAX      INTEGER {
                    local(1),
                    remote(2)
                }

TmnxDhcpsFoState ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "The TmnxDhcpsFoState data type is an enumerated integer 
         that describes the values used to identify the failover state of 
         a DHCP Server instance.
                unknown
                init            : the DHCP Server instance is preparing
                                  to startup; 
                startUp         : the DHCP Server instance is starting up; 
                noCommunication : the communication with the partner is lost;
                partnerDown     : the partner is assumed down;
                normal
                shutdown        : the administrative state of the failover 
                                  facility of this DHCP server instance
                                  is 'outOfService', or the administrative
                                  state of this DHCP server instance
                                  is 'outOfService';
                transition."
    SYNTAX  INTEGER {
                unknown         (1),
                init            (2),
                startUp         (3),
                noCommunication (4),
                partnerDown     (5),
                normal          (6),
                shutdown        (7),
                transition      (8)
                }

TmnxDhcpsFoLeaseFailureReason ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "The TmnxDhcpsFoLeaseFailureReason data type is an enumerated integer 
         that describes the values used to identify the reason of a lease
         update failure that occurred in the failover facility of a DHCP Server
         instance.
                foShutdown      : the failover state of this DHCP Server
                                  instance is 'shutdown'; 
                expired         : the lease received from the peer has expired; 
                maxReached      : the maximum number of leases is already
                                  reached; the maximum number of leases is
                                  indicated by the object tmnxDhcpSvrMaxLeases;
                subnetNotFound  : no valid subnet for this lease could be
                                  found;
                rangeNotFound   : no valid include range for this lease could
                                  be found;
                hostConflict    : this DHCP server instance has already leased
                                  this address to another host;
                addressConflict : this DHCP server instance has already leased
                                  another address to this host;
                peerConflict    : the failover peer has leased an address 
                                  within a subnet range of which the failover
                                  control is set to 'local' on this local DHCP 
                                  server instance."
    SYNTAX  INTEGER {
                foShutdown      (1),
                expired         (2),
                maxReached      (3),
                subnetNotFound  (4),
                rangeNotFound   (5),
                hostConflict    (6),
                addressConflict (7),
                peerConflict    (8)
                }


TmnxDhcpsFoActionType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
        "Indicates a DHCP Server failover action type.
                notApplicable   : return value for GETs and GETNEXTs;
                forcePartnerDown: if the failover state of the DHCP server
                                  instance is 'noCommunication', force it to
                                  transition to 'partnerDown'."
    SYNTAX INTEGER {
                notApplicable    (1),
                forcePartnerDown (2)
                }

-- --------------------------------------------------------
--  tmnxDhcpServerConfigTable
-- --------------------------------------------------------
tmnxDhcpServerConfigTableLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerConfigTableLastCh indicates
         the value of sysUpTime at the time of the last modification of
         an entry in the tmnxDhcpServerConfigTable."
    ::= { tmnxDhcpServerObjs 1 }

tmnxDhcpServerConfigTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpServerConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpServerConfigTable contains objects to configure
         the DHCP server."
    ::= { tmnxDhcpServerObjs 2 }

tmnxDhcpServerConfigEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpServerConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a DHCP server instance running within a virtual
         router.

         Entries in this table can be created or deleted via SNMP operations."
    INDEX { vRtrID,
            IMPLIED tmnxDhcpServerCfgServerName }
    ::= { tmnxDhcpServerConfigTable 1 }

TmnxDhcpServerConfigEntry ::= SEQUENCE {
    tmnxDhcpServerCfgServerName      TNamedItem,
    tmnxDhcpServerCfgRowStatus       RowStatus,
    tmnxDhcpServerCfgLastChangeTime  TimeStamp,
    tmnxDhcpServerCfgAdminState      TmnxAdminState,
    tmnxDhcpServerCfgDescription     TItemDescription,
    tmnxDhcpServerCfgUserDatabase    TNamedItemOrEmpty,
    tmnxDhcpServerCfgUseGiAddress    TruthValue,
    tmnxDhcpServerCfgSendForceRenews TruthValue,
    tmnxDhcpServerCfgUseClientPool   TruthValue,
    tmnxDhcpServerCfgOperState       TmnxDhcpSvrOperState,
    tmnxDhcpServerCfgAddrType        InetAddressType,
    tmnxDhcpServerCfgLeaseHoldTime   Unsigned32,
    tmnxDhcpServerCfgUseGiScope      INTEGER,
    tmnxDhcpServerCfgIgnRapidCommit  TruthValue,
    tmnxDhcpServerCfgUserIdent       INTEGER,
    tmnxDhcpServerCfgItfIdMapping    TruthValue
}

tmnxDhcpServerCfgServerName OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgServerName specifies
         the name of this local DHCP server instance.

         This server instance is reachable through the IP address(es) of the
         interface(s) that refer to this DHCP server name in
         TIMETRA-VRTR-MIB::vRtrIfLocalDhcpServerName."
    ::= { tmnxDhcpServerConfigEntry 1 }

tmnxDhcpServerCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgRowStatus specifies the row status of
         this row."
    ::= { tmnxDhcpServerConfigEntry 2 }

tmnxDhcpServerCfgLastChangeTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgLastChangeTime indicates
         the sysUpTime at the time of the last modification of this entry."
    ::= { tmnxDhcpServerConfigEntry 3 }

tmnxDhcpServerCfgAdminState OBJECT-TYPE
    SYNTAX      TmnxAdminState
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgAdminState specifies the
         administrative state of this local DHCP server instance."
    DEFVAL { outOfService }
    ::= { tmnxDhcpServerConfigEntry 4 }

tmnxDhcpServerCfgDescription OBJECT-TYPE
    SYNTAX      TItemDescription
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgDescription specifies
         a user provided description for this DHCP server."
    DEFVAL { "" }
    ::= { tmnxDhcpServerConfigEntry 5 }

tmnxDhcpServerCfgUserDatabase OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgUserDatabase specifies
         the local user database to use for authentication.

         If no authentication is required, the value of this object must be set
         to the empty string, and tmnxDhcpServerCfgUseGiAddress must be set
         to 'true(1)' in order for the DHCP server to operate."
    DEFVAL { "" }
    ::= { tmnxDhcpServerConfigEntry 6 }

tmnxDhcpServerCfgUseGiAddress OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgUseGiAddress specifies
         whether GI address matching is enabled.

         If tmnxDhcpServerCfgUseGiAddress is set to 'true(1)', then an IP address
         will be provided based on the Gateway IP address from the DHCP message,
         even when authentication fails or when there is no local
         user database configured in tmnxDhcpServerCfgUserDatabase."
    DEFVAL { false }
    ::= { tmnxDhcpServerConfigEntry 7 }

tmnxDhcpServerCfgSendForceRenews OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgSendForceRenews specifies
         whether the server is allowed to send a DHCP FORCERENEW message to
         DHCP clients.

         If tmnxDhcpServerCfgSendForceRenews is set to 'true(1)',
         then the server will send a DHCP FORCERENEW message to the client
         when its configuration changes in such a way that the clients need to
         renew their lease in order to obtain the new parameters. This will
         be the case when, for example, an option is added to a subnet."
    DEFVAL { false }
    ::= { tmnxDhcpServerConfigEntry 8 }

tmnxDhcpServerCfgUseClientPool OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerCfgUseClientPool specifies
         whether the IP address pool selection is based on the relay
         information in the DHCP packet.

         If the value of tmnxDhcpServerCfgUseClientPool is set to 'true (1)', 
         the IP address pool selection is determined by the relay information.

         If the value of tmnxDhcpServerCfgUseClientPool is set to 'false (2)',
         or if the DHCP message does not contain the to be used information,
         the pool selection is specified by the value of
         tmnxDhcpServerCfgUseGiAddress.

         When the value of tmnxDhcpServerCfgAddrType is set to 'ipv4 (1),
         the used relay information is the value of the vendor-specific
         sub-option 13 of the DHCP option 82.

         When the value of tmnxDhcpServerCfgAddrType is set to 'ipv6 (2),
         the used relay information is the value of the vendor-specific
         sub-option 1 for the IA_NA address pool and sub-option 2 for the IA_PD
         address pool."
    DEFVAL { false }
    ::= { tmnxDhcpServerConfigEntry 9 }

tmnxDhcpServerCfgOperState OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrOperState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgOperState indicates the
         operational state of this local DHCP server instance."
    ::= { tmnxDhcpServerConfigEntry 10 }

tmnxDhcpServerCfgAddrType OBJECT-TYPE
    SYNTAX      InetAddressType (1 | 2)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgAddrType specifies the
         type of addresses supported by this local DHCP server instance.
         
         The value of this object can not be modified after the creation
         of the conceptual row."
    DEFVAL { ipv4 }
    ::= { tmnxDhcpServerConfigEntry 20 }

tmnxDhcpServerCfgLeaseHoldTime OBJECT-TYPE
    SYNTAX      Unsigned32 (0..315446399) -- max. 10 years
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgLeaseHoldTime specifies
         the time to remember this lease.
         
         The value of this object is only meaningful when the value of
         tmnxDhcpServerCfgAddrType is set to 'ipv6(2)'."
    DEFVAL { 0 }
    ::= { tmnxDhcpServerConfigEntry 21 }

tmnxDhcpServerCfgUseGiScope OBJECT-TYPE
    SYNTAX      INTEGER {
                    subnet  (0),
                    pool    (1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgUseGiScope specifies
         whether the GI address selects a single subnet or a pool.

         The value of this object is only meaningful when the value of
         tmnxDhcpServerCfgUseGiAddress is set to 'true(1)'."
    DEFVAL { subnet }
    ::= { tmnxDhcpServerConfigEntry 22 }

tmnxDhcpServerCfgIgnRapidCommit OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgIgnRapidCommit specifies
         whether the Rapid Commit Option sent by the DHCPv6 client
         is processed.

         If the value of this object is set to 'true(1)'
         and the client has included a Rapid Commit option in the Solicit,
         the server ignores the Rapid Commit option and processes the remainder
         of the message as if no Rapid Commit option were present.

         The value of this object is only meaningful when the value of
         tmnxDhcpServerCfgAddrType is set to 'ipv6(2)'."
    REFERENCE
        "RFC 3315 paragraph 17.2.1"      
    DEFVAL { false }
    ::= { tmnxDhcpServerConfigEntry 23 }

tmnxDhcpServerCfgUserIdent OBJECT-TYPE
    SYNTAX      INTEGER {
                    macCircuitId (1),
                    duid (2),
                    interfaceId (3),
                    interfaceIdLinkLocal (4)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgUserIdent specifies
         which method is used by the local DHCP server to uniquely identify
         a user.

         When the value of tmnxDhcpServerCfgAddrType is set to 'ipv4(1)',
         this object can only be set to 'macCircuitId(1)'.
         
         When the value of tmnxDhcpServerCfgAddrType is set to 'ipv6(2)',
         this object cannot be set to 'macCircuitId(1)'. The default
         value is 'duid(2)'."
    ::= { tmnxDhcpServerConfigEntry 24 }

tmnxDhcpServerCfgItfIdMapping OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpServerCfgItfIdMapping specifies
         whether the DHCPv6 server uses a unique /64 prefix per interface-ID
         options combination.

         If the value of this object is set to 'true(1)'
         and the client requests a non-temporary address,
         the DHCPv6 server leases a /128 address from the unique /64 prefix
         belonging to the interface-ID option from the relay-forward message
         and, if present, the interface-ID option from the encapsulated LDRA
         relay forward message.

         If the value of this object is set to 'false(2)'
         each client requesting a non-temporary address,
         gets a /128 lease from a different /64 prefix.

         The value of this object is only meaningful when the value of
         tmnxDhcpServerCfgAddrType is set to 'ipv6(2)' and the value of
         iesIfIPv6IpoeBridgedModeEnabled is set to 'true(1)' for all group
         interfaces relaying to this server."
    DEFVAL { false }
    ::= { tmnxDhcpServerConfigEntry 25 }

-- --------------------------------------------------------
--  tmnxDhcpServerPoolTable
-- --------------------------------------------------------
tmnxDhcpServerPoolTableLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolTableLastCh indicates
         the value of sysUpTime at the time of the last modification of
         an entry in the tmnxDhcpServerPoolTable."
    ::= { tmnxDhcpServerObjs 3 }

tmnxDhcpServerPoolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpServerPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpServerPoolTable contains objects to configure
         IP address pools.

         Every DHCP server can contain several IP address pools which can each
         contain multiple subnets."
    ::= { tmnxDhcpServerObjs 4 }

tmnxDhcpServerPoolEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpServerPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents an IP address pool.

         Entries in this table can be created or deleted via SNMP operations."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName}
    ::= { tmnxDhcpServerPoolTable 1 }

TmnxDhcpServerPoolEntry ::= SEQUENCE {
    tmnxDhcpServerPoolName           TNamedItem,
    tmnxDhcpServerPoolRowStatus      RowStatus,
    tmnxDhcpServerPoolLastChangeTime TimeStamp,
    tmnxDhcpServerPoolDescription    TItemDescription,
    tmnxDhcpServerPoolMinLeaseTime   Unsigned32,
    tmnxDhcpServerPoolMaxLeaseTime   Unsigned32,
    tmnxDhcpServerPoolOfferTime      Unsigned32,
    tmnxDhcpServerPoolMinFree        Unsigned32,
    tmnxDhcpServerPoolMinFreeType    INTEGER,
    tmnxDhcpServerPoolDepletedEvent  TruthValue
}

tmnxDhcpServerPoolName OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolName specifies
         the name of this IP address pool."
    ::= { tmnxDhcpServerPoolEntry 1 }

tmnxDhcpServerPoolRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolRowStatus specifies
         the row status of this row."
    ::= { tmnxDhcpServerPoolEntry 2 }

tmnxDhcpServerPoolLastChangeTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolLastChangeTime indicates
         the sysUpTime at the time of the last modification of this entry."
    ::= { tmnxDhcpServerPoolEntry 3 }

tmnxDhcpServerPoolDescription OBJECT-TYPE
    SYNTAX      TItemDescription
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolDescription specifies
         a user provided description for this pool."
    DEFVAL { "" }
    ::= { tmnxDhcpServerPoolEntry 4 }

tmnxDhcpServerPoolMinLeaseTime OBJECT-TYPE
    SYNTAX      Unsigned32 (10..315446399) -- max. 10 years
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolMinLeaseTime specifies
         the minimum lease time.

         The minimum lease time can only be configured to a value that is
         smaller than or equal to the value configured in object
         tmnxDhcpServerPoolMaxLeaseTime."
    DEFVAL { 600 }
    ::= { tmnxDhcpServerPoolEntry 5 }

tmnxDhcpServerPoolMaxLeaseTime OBJECT-TYPE
    SYNTAX      Unsigned32 (10..315446399) -- max. 10 years
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolMaxLeaseTime specifies
         the maximum lease time.

         If there is no lease time configured in DHCP option 51 (in the user
         database, or in the tmnxDhcpSvrPoolOptionTable, or in the
         tmnxDhcpSvrSubnetOptionTable), then this value is encoded
         in option 51 of the DHCP reply message.

         The maximum lease time can only be configured to a value that is
         larger than or equal to the value configured in object
         tmnxDhcpServerPoolMinLeaseTime."
    DEFVAL { 864000 } -- 10 days
    ::= { tmnxDhcpServerPoolEntry 6 }

tmnxDhcpServerPoolOfferTime OBJECT-TYPE
    SYNTAX      Unsigned32 (10..600)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolOfferTime specifies
         the time interval during which a DHCP offer is valid."
    DEFVAL { 60 }
    ::= { tmnxDhcpServerPoolEntry 7 }

tmnxDhcpServerPoolMinFree OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolMinFree specifies
         the desired minimum number of free addresses in this pool.

         If the actual number of free addresses in this pool falls below
         this configured minimum, a notification is generated.

         The value zero specifies 'no minimum'."
    DEFVAL { 1 }
    ::= { tmnxDhcpServerPoolEntry 8 }

tmnxDhcpServerPoolMinFreeType OBJECT-TYPE
    SYNTAX      INTEGER {
                    absolute (0),
                    percent  (1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolMinFreeType specifies
         whether tmnxDhcpServerPoolMinFree is expressed as an absolute number or
         as a percentage.
         
         When the value of this object is set to 'percent(1)', the accepted 
         range for tmnxDhcpServerPoolMinFree is limited between 0 and 100.

         Default value is 'absolute(0)'."
    DEFVAL { absolute }
    ::= { tmnxDhcpServerPoolEntry 9 }

tmnxDhcpServerPoolDepletedEvent OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerPoolDepletedEvent specifies
         whether a notification is generated when this pool is depleted.

         When the value of this object is set to 'true(1)',
         notification tmnxDhcpSvrPoolDepleted is generated."
    DEFVAL { false }
    ::= { tmnxDhcpServerPoolEntry 10 }

-- --------------------------------------------------------
--  tmnxDhcpSvrPoolOptionTable
-- --------------------------------------------------------
tmnxDhcpSvrPoolOptionTableLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrPoolOptionTableLastCh indicates
         the value of sysUpTime at the time of the last modification of
         an entry in the tmnxDhcpSvrPoolOptionTable."
    ::= { tmnxDhcpServerObjs 5 }

tmnxDhcpSvrPoolOptionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrPoolOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrPoolOptionTable contains objects to configure
         the DHCP options of each IP address pool."
    ::= { tmnxDhcpServerObjs 6 }

tmnxDhcpSvrPoolOptionEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrPoolOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a DHCP option that is encoded in the DHCP reply
         message.

         Options defined here, can be overruled by defining the same option
         in the local user database, or in the tmnxDhcpSvrSubnetOptionTable.

         Entries in this table can be created or deleted via SNMP operations."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrPoolOptionNumber }
    ::= { tmnxDhcpSvrPoolOptionTable 1 }

TmnxDhcpSvrPoolOptionEntry ::= SEQUENCE {
    tmnxDhcpSvrPoolOptionNumber      Unsigned32,
    tmnxDhcpSvrPoolOptionRowStatus   RowStatus,
    tmnxDhcpSvrPoolOptionLastCh      TimeStamp,
    tmnxDhcpSvrPoolOptionType        TmnxDhcpOptionType,
    tmnxDhcpSvrPoolOptionValue       OCTET STRING
}

tmnxDhcpSvrPoolOptionNumber OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrPoolOptionNumber specifies
         the number of this DHCP option."
    REFERENCE
        "RFC 2132, RFC 3315, RFC 3633"
    ::= { tmnxDhcpSvrPoolOptionEntry 1 }

tmnxDhcpSvrPoolOptionRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrPoolOptionRowStatus specifies
         the row status of this row.

         Objects tmnxDhcpSvrPoolOptionType and tmnxDhcpSvrPoolOptionValue
         must be set when creating a new row."
    ::= { tmnxDhcpSvrPoolOptionEntry 2 }

tmnxDhcpSvrPoolOptionLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrPoolOptionLastCh indicates
         the sysUpTime at the time of the last modification of this entry."
    ::= { tmnxDhcpSvrPoolOptionEntry 3 }

tmnxDhcpSvrPoolOptionType OBJECT-TYPE
    SYNTAX      TmnxDhcpOptionType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrPoolOptionType specifies
         how the value of this option in stored in tmnxDhcpSvrPoolOptionValue.

         The value of this object cannot be set to 'domain (5)' when the value
         of tmnxDhcpServerCfgAddrType is set to 'ipv4(1)'.

         This object is mandatory at creation time."
    ::= { tmnxDhcpSvrPoolOptionEntry 4 }

tmnxDhcpSvrPoolOptionValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrPoolOptionValue specifies
         the value of this option.

         This object is mandatory at creation time. A zero length value is only
         allowed when the value of tmnxDhcpSvrPoolOptionType is 'hex (3)'."
    ::= { tmnxDhcpSvrPoolOptionEntry 5 }

-- --------------------------------------------------------
--  tmnxDhcpServerSubnetTable
-- --------------------------------------------------------
tmnxDhcpServerSubnetTableLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpServerSubnetTableLastCh indicates
         the value of sysUpTime at the time of the last modification of
         an entry in the tmnxDhcpServerSubnetTable."
    ::= { tmnxDhcpServerObjs 7 }

tmnxDhcpServerSubnetTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpServerSubnetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpServerSubnetTable contains objects to configure
         subnets."
    ::= { tmnxDhcpServerObjs 8 }

tmnxDhcpServerSubnetEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpServerSubnetEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a subnet. The subnets of a DHCP server instance
         cannot overlap.

         If the local user database defines a pool, then any subnet
         of that pool is used to provide a free IP address.

         If tmnxDhcpServerCfgUseGiAddress is set to 'true(1)', the Gateway IP
         address is used to select the subnet that is used to provide
         a free IP address.

         Entries in this table can be created or deleted via SNMP operations."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength }
    ::= { tmnxDhcpServerSubnetTable 1 }

TmnxDhcpServerSubnetEntry ::= SEQUENCE {
    tmnxDhcpSvrSubnetAddrType        InetAddressType,
    tmnxDhcpSvrSubnetAddress         InetAddress,
    tmnxDhcpSvrSubnetPrefixLength    InetAddressPrefixLength,
    tmnxDhcpSvrSubnetRowStatus       RowStatus,
    tmnxDhcpSvrSubnetLastChangeTime  TimeStamp,
    tmnxDhcpSvrSubnetMinFree         Unsigned32,
    tmnxDhcpSvrSubnetMaxDeclined     Unsigned32,
    tmnxDhcpSvrSubnetMinFreeType     INTEGER,
    tmnxDhcpSvrSubnetRenewTimer      Unsigned32,
    tmnxDhcpSvrSubnetRebindTimer     Unsigned32,
    tmnxDhcpSvrSubnetValidLifetime   Unsigned32,
    tmnxDhcpSvrSubnetPrefLifetime    Unsigned32,
    tmnxDhcpSvrSubnetFailCtrl        TmnxDhcpSvrFailCtrlType,
    tmnxDhcpSvrSubnetPrefixType      BITS,
    tmnxDhcpSvrSubnetDepletedEvent   TruthValue
}

tmnxDhcpSvrSubnetAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetAddrType specifies
         the address type of tmnxDhcpSvrSubnetAddress.
         
         The only value supported is 'ipv4'."
    ::= { tmnxDhcpServerSubnetEntry 1 }

tmnxDhcpSvrSubnetAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetAddress specifies
         a subnet.

         The host bits must be zero.
         
         Only IPv4 addresses are supported."
    ::= { tmnxDhcpServerSubnetEntry 2 }

tmnxDhcpSvrSubnetPrefixLength OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength (1..128)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetPrefixLength specifies
         the length of tmnxDhcpSvrSubnetAddress."
    ::= { tmnxDhcpServerSubnetEntry 3 }

tmnxDhcpSvrSubnetRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetRowStatus specifies
         the row status of this row."
    ::= { tmnxDhcpServerSubnetEntry 4 }

tmnxDhcpSvrSubnetLastChangeTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetLastChangeTime indicates
         the sysUpTime at the time of the last modification of this entry."
    ::= { tmnxDhcpServerSubnetEntry 5 }

tmnxDhcpSvrSubnetMinFree OBJECT-TYPE
    SYNTAX      Unsigned32 (0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetMinFree specifies
         the desired minimum number of free addresses in this subnet.

         The actual number of free addresses in this subnet is indicated in the
         column tmnxDhcpSvrSubnetStatsFree in the augmentation row
         of the tmnxDhcpSvrSubnetStatsTable.

         If the actual number of free addresses in this subnet falls below
         this configured minimum, a notification is generated.

         The value zero specifies 'no minimum'."
    DEFVAL { 1 }
    ::= { tmnxDhcpServerSubnetEntry 6 }

tmnxDhcpSvrSubnetMaxDeclined OBJECT-TYPE
    SYNTAX      Unsigned32 (0..'FFFFFFFF'h)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetMaxDeclined specifies
         the maximum number of declined IP addresses that are stored.
         These declined IP addresses are removed from the
         tmnxDhcpSvrFreeAddrTable, and are not handed out to the clients.

         When this maximum is reached, and the server receives another
         DHCP DECLINE message from a client, then the oldest declined IP
         address becomes again available for the clients.
         
         When the value of this object is set to 0, no declined IP addresses
         are removed from the tmnxDhcpSvrFreeAddrTable."
    DEFVAL { 64 }
    ::= { tmnxDhcpServerSubnetEntry 7 }

tmnxDhcpSvrSubnetMinFreeType OBJECT-TYPE
    SYNTAX      INTEGER {
                    absolute (0),
                    percent  (1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetMinFreeType specifies
         whether tmnxDhcpSvrSubnetMinFree is expressed as an absolute number or
         as a percentage.
         
         When the value of this object is set to 'percent(1)', the accepted 
         range for tmnxDhcpSvrSubnetMinFree is limited between 0 and 100.

         Default value is 'absolute(0)'."
    DEFVAL { absolute }
    ::= { tmnxDhcpServerSubnetEntry 8 }

tmnxDhcpSvrSubnetRenewTimer OBJECT-TYPE
    SYNTAX      Unsigned32 (0..604800) -- max. 7 days
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "The value of tmnxDhcpSvrSubnetRenewTimer specifies the renew-timer (T1).

       The time at which the client contacts the server from which the addresses
       in the IA_NA or IA_PD were obtained to extend the lifetimes of the
       addresses or prefixes assigned to the client.

       The value of this object is only meaningful when the value of
       tmnxDhcpSvrSubnetAddrType is set to 'ipv6(2)'."
    DEFVAL { 1800 } -- 30 minutes
    ::= { tmnxDhcpServerSubnetEntry 9 }

tmnxDhcpSvrSubnetRebindTimer OBJECT-TYPE
    SYNTAX     Unsigned32 (0..1209600) -- max. 14 days
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
      "The value of tmnxDhcpSvrSubnetRebindTimer specifies
       the rebind-timer (T2).

       The time at which the client contacts any available server to extend the
       lifetimes of the addresses or prefixes assigned to the client.

       The value of this object is only meaningful when the value of
       tmnxDhcpSvrSubnetAddrType is set to 'ipv6(2)'."
    DEFVAL { 2880 } -- 48 minutes
    ::= { tmnxDhcpServerSubnetEntry 10 }

tmnxDhcpSvrSubnetValidLifetime OBJECT-TYPE
    SYNTAX     Unsigned32 (300..315446399) -- max. 10 years
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
      "The value of tmnxDhcpSvrSubnetValidLifetime specifies the valid lifetime
       for the IPv6 prefix or address in the option.

       The value of this object is only meaningful when the value of
       tmnxDhcpSvrSubnetAddrType is set to 'ipv6(2)'."
    DEFVAL { 86400 } -- 1 day
    ::= { tmnxDhcpServerSubnetEntry 11 }

tmnxDhcpSvrSubnetPrefLifetime OBJECT-TYPE
    SYNTAX     Unsigned32 (300..315446399) -- max. 10 years
    UNITS      "seconds"
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
      "The value of tmnxDhcpSvrSubnetPrefLifetime specifies the preferred
       lifetime for the IPv6 prefix or address in the option. When preferred
       lifetime expires, then any derived addresses are deprecated.

       The value of this object is only meaningful when the value of
       tmnxDhcpSvrSubnetAddrType is set to 'ipv6(2)'."
    DEFVAL { 3600 } -- 1 hour
    ::= { tmnxDhcpServerSubnetEntry 12 }

tmnxDhcpSvrSubnetFailCtrl OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrFailCtrlType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "The value of the object tmnxDhcpSvrSubnetFailCtrl specifies
       the type of failover control for this subnet.

       This object can be set only at the time the row is created.

       The value of this object is only meaningful when the value of
       tmnxDhcpSvrSubnetAddrType is set to 'ipv6(2)'."
    DEFVAL { local }
    ::= { tmnxDhcpServerSubnetEntry 13 }

tmnxDhcpSvrSubnetPrefixType OBJECT-TYPE
    SYNTAX      BITS {
                    pd          (0),
                    wan-host    (1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
      "The value of tmnxDhcpSvrSubnetPrefixType indicates
       the type of prefix contained in tmnxDhcpSvrSubnetAddress.

       This object cannot be modified once the row is created.

       The value of this object is only meaningful when the value of
       tmnxDhcpSvrSubnetAddrType is set to 'ipv6(2)'."
    DEFVAL { { pd, wan-host } }
    ::= { tmnxDhcpServerSubnetEntry 14 }

tmnxDhcpSvrSubnetDepletedEvent OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetDepletedEvent specifies
         whether a notification is generated when this subnet is depleted.

         When the value of this object is set to 'true(1)',
         notification tmnxDhcpSvrSubnetDepleted is generated.

         The value of this object is only meaningful when the value of
         tmnxDhcpSvrSubnetAddrType is set to 'ipv4(1)'."
    DEFVAL { false }
    ::= { tmnxDhcpServerSubnetEntry 15 }

-- --------------------------------------------------------
--  tmnxDhcpSvrSubnetRangesTable
-- --------------------------------------------------------
tmnxDhcpSvrSubnetRangesTblLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetRangesTblLastCh indicates
         the value of sysUpTime at the time of the last modification of
         an entry in the tmnxDhcpSvrSubnetRangesTable."
    ::= { tmnxDhcpServerObjs 9 }

tmnxDhcpSvrSubnetRangesTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrSubnetRangesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrSubnetRangesTable contains objects to configure
         address ranges within this subnet."
    ::= { tmnxDhcpServerObjs 10 }

tmnxDhcpSvrSubnetRangesEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrSubnetRangesEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a range of IP addresses that are either
         included in or excluded from the pool of IP addresses in this subnet.

         Include ranges cannot overlap, exclude ranges can overlap.

         Entries in this table can be created or deleted via SNMP operations."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength,
            tmnxDhcpSvrSubnetRangeType,
            tmnxDhcpSvrSubnetStartAddrType,
            tmnxDhcpSvrSubnetStartAddress,
            tmnxDhcpSvrSubnetEndAddrType,
            tmnxDhcpSvrSubnetEndAddress }
    ::= { tmnxDhcpSvrSubnetRangesTable 1 }

TmnxDhcpSvrSubnetRangesEntry ::= SEQUENCE {
    tmnxDhcpSvrSubnetRangeType       INTEGER,
    tmnxDhcpSvrSubnetStartAddrType   InetAddressType,
    tmnxDhcpSvrSubnetStartAddress    InetAddress,
    tmnxDhcpSvrSubnetEndAddrType     InetAddressType,
    tmnxDhcpSvrSubnetEndAddress      InetAddress,
    tmnxDhcpSvrSubnetRangesRowStatus RowStatus,
    tmnxDhcpSvrSubnetRangesLastCh    TimeStamp,
    tmnxDhcpSvrSubnetRangeFailCtrl   TmnxDhcpSvrFailCtrlType
}

tmnxDhcpSvrSubnetRangeType OBJECT-TYPE
    SYNTAX      INTEGER {
                    exclude (0),
                    include (1)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetRangeType specifies
         whether this range will be included in are excluded from the pool of
         addresses in this subnet."
    ::= { tmnxDhcpSvrSubnetRangesEntry 1 }

tmnxDhcpSvrSubnetStartAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetStartAddrType specifies
         the address type of tmnxDhcpSvrSubnetStartAddress.
         
         The only value supported is 'ipv4'."
    ::= { tmnxDhcpSvrSubnetRangesEntry 2 }

tmnxDhcpSvrSubnetStartAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetStartAddress specifies
         the start address of this range.
         
         Only IPv4 addresses are supported."
    ::= { tmnxDhcpSvrSubnetRangesEntry 3 }

tmnxDhcpSvrSubnetEndAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetEndAddrType specifies
         the address type of tmnxDhcpSvrSubnetEndAddress.
         
         The only value supported is 'ipv4'."
    ::= { tmnxDhcpSvrSubnetRangesEntry 4 }

tmnxDhcpSvrSubnetEndAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetEndAddress specifies
         the end address of this range.
         
         A range can only contain 16384 (2^14) IP addresses.
             
         Only IPv4 addresses are supported."
    ::= { tmnxDhcpSvrSubnetRangesEntry 5 }

tmnxDhcpSvrSubnetRangesRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetRangesRowStatus specifies
         the row status of this row."
    ::= { tmnxDhcpSvrSubnetRangesEntry 6 }

tmnxDhcpSvrSubnetRangesLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetRangesLastCh indicates
         the sysUpTime at the time of the last modification of this entry."
    ::= { tmnxDhcpSvrSubnetRangesEntry 7 }

tmnxDhcpSvrSubnetRangeFailCtrl OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrFailCtrlType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetRangeFailCtrl specifies
         the type of failover control for this range.
         
         This object can be set only at the time the row is created."
    DEFVAL { local }
    ::= { tmnxDhcpSvrSubnetRangesEntry 8 }

-- --------------------------------------------------------
--  tmnxDhcpSvrSubnetOptionTable
-- --------------------------------------------------------
tmnxDhcpSvrSubnetOptionTblLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetOptionTblLastCh indicates
         the value of sysUpTime at the time of the last modification of
         an entry in the tmnxDhcpSvrSubnetOptionTable."
    ::= { tmnxDhcpServerObjs 11 }

tmnxDhcpSvrSubnetOptionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrSubnetOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrSubnetOptionTable contains objects to configure
         DHCP options."
    ::= { tmnxDhcpServerObjs 12 }

tmnxDhcpSvrSubnetOptionEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrSubnetOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a DHCP option that is encoded in the DHCP reply
         message.

         Options defined here, can be overruled by defining the same option in
         the local user database.

         Entries in this table can be created or deleted via SNMP operations."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength,
            tmnxDhcpSvrSubnetOptionNumber }
    ::= { tmnxDhcpSvrSubnetOptionTable 1 }

TmnxDhcpSvrSubnetOptionEntry ::= SEQUENCE {
    tmnxDhcpSvrSubnetOptionNumber    Unsigned32,
    tmnxDhcpSvrSubnetOptionRowStatus RowStatus,
    tmnxDhcpSvrSubnetOptionLastCh    TimeStamp,
    tmnxDhcpSvrSubnetOptionType      TmnxDhcpOptionType,
    tmnxDhcpSvrSubnetOptionValue     OCTET STRING
}

tmnxDhcpSvrSubnetOptionNumber OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetOptionNumber specifies
         the number of this option."
    REFERENCE
        "RFC 2132"
    ::= { tmnxDhcpSvrSubnetOptionEntry 1 }

tmnxDhcpSvrSubnetOptionRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetOptionRowStatus specifies
         the row status of this row.

         Objects tmnxDhcpSvrSubnetOptionType and tmnxDhcpSvrSubnetOptionValue
         must be set when creating a new row."
    ::= { tmnxDhcpSvrSubnetOptionEntry 2 }

tmnxDhcpSvrSubnetOptionLastCh OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetOptionLastCh indicates
         the sysUpTime at the time of the last modification of this entry."
    ::= { tmnxDhcpSvrSubnetOptionEntry 3 }

tmnxDhcpSvrSubnetOptionType OBJECT-TYPE
    SYNTAX      TmnxDhcpOptionType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetOptionType specifies how
         the value of this option in stored in tmnxDhcpSvrSubnetOptionValue.

         The value of this object cannot be set to 'domain (5)' when the value
         of tmnxDhcpServerCfgAddrType is set to 'ipv4(1)'.

         This object is mandatory at creation time."
    ::= { tmnxDhcpSvrSubnetOptionEntry 4 }

tmnxDhcpSvrSubnetOptionValue OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrSubnetOptionValue specifies
         the value of this option.

         This object is mandatory at creation time. A zero length value is only
         allowed when the value of tmnxDhcpSvrSubnetOptionType is 'hex (3)'."
    ::= { tmnxDhcpSvrSubnetOptionEntry 5 }

-- --------------------------------------------------------
--  tmnxDhcpSvrLeaseTable (read-only)
-- --------------------------------------------------------
tmnxDhcpSvrLeaseTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrLeaseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrLeaseTable contains information about
         the IP addresses handed out to the DHCP clients."
    ::= { tmnxDhcpServerObjs 13 }

tmnxDhcpSvrLeaseEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrLeaseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a lease.

         Entries in this table cannot be created or deleted via SNMP
         operations."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpSvrLeaseClientAddrType,
            tmnxDhcpSvrLeaseClientAddress }
    ::= { tmnxDhcpSvrLeaseTable 1 }

TmnxDhcpSvrLeaseEntry ::= SEQUENCE {
    tmnxDhcpSvrLeaseClientAddrType   InetAddressType,
    tmnxDhcpSvrLeaseClientAddress    InetAddress,
    tmnxDhcpSvrLeaseState            INTEGER,
    tmnxDhcpSvrLeaseStart            DateAndTime,
    tmnxDhcpSvrLeaseLastRenew        DateAndTime,
    tmnxDhcpSvrLeaseRemainLeaseTime  Unsigned32,
    tmnxDhcpSvrLeaseRemPotentExpTime Unsigned32,
    tmnxDhcpSvrLeaseClientHwAddress  MacAddress,
    tmnxDhcpSvrLeaseXid              Unsigned32,
    tmnxDhcpSvrLeaseOption82         OCTET STRING,
    tmnxDhcpSvrLeaseClientType       TmnxDhcpSvrClientType,
    tmnxDhcpSvrLeasePPPoEUserName    TmnxPppoeUserNameOrEmpty,
    tmnxDhcpSvrLeaseOpt82CircId      OCTET STRING,
    tmnxDhcpSvrLeaseFailCtrl         TmnxDhcpSvrFailCtrlType,
    tmnxDhcpSvrLeaseOption60         OCTET STRING,
    tmnxDhcpSvrLeaseClientPrefixLen  InetAddressPrefixLength,
    tmnxDhcpSvrLeaseIAOptionType     INTEGER,
    tmnxDhcpSvrLeaseIAID             Unsigned32,
    tmnxDhcpSvrLeaseDUID             OCTET STRING,
    tmnxDhcpSvrLeaseRemainHoldTime   Unsigned32,
    tmnxDhcpSvrLeaseRelayInterfaceId OCTET STRING,
    tmnxDhcpSvrLeaseLDRAInterfaceId  OCTET STRING,
    tmnxDhcpSvrLeaseLnkLclAddrType   InetAddressType,
    tmnxDhcpSvrLeaseLnkLclAddress    InetAddress
}

tmnxDhcpSvrLeaseClientAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrLeaseClientAddrType indicates
         the address type of tmnxDhcpSvrLeaseClientAddress."
    ::= { tmnxDhcpSvrLeaseEntry 1 }

tmnxDhcpSvrLeaseClientAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrLeaseClientAddress specifies
         the client IP address of this lease."
    ::= { tmnxDhcpSvrLeaseEntry 2 }

tmnxDhcpSvrLeaseState OBJECT-TYPE
    SYNTAX      INTEGER {
                    offered           (0),
                    stable            (1),
                    forceRenewPending (2),
                    removePending     (3),
                    held              (4)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseState indicates
         the state of this lease.

         - 'offered (0)':
                The IP address was offered to the client. The client still
                has to acknowledge the offer by sending a DHCP request.
         - 'stable (1)':
                The IP address is now in use by the client.
         - 'forceRenewPending (2)':
                The IP address is in use by the client, but the server sends
                a DHCP FORCERENEW message to the client, because an option
                has changed in tmnxDhcpSvrPoolOptionTable or in
                tmnxDhcpSvrSubnetOptionTable or in the user database options
                for this client.
         - 'removePending (3)':
                The IP address is in use by the client, but it is no longer
                available in the IP address ranges configured in
                tmnxDhcpSvrSubnetRangesTable. The server sends a FORCERENEW
                message to the client. When the client sends a renewal
                DHCP request message, it will be rejected.
         - 'held (4)':
                The IP address has been used by the client but the lease has
                timed out. The lease is now in the hold list so that the client
                can get the exactly same IP address again upon the next request
                for a lease."
    ::= { tmnxDhcpSvrLeaseEntry 3 }

tmnxDhcpSvrLeaseStart OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseStart indicates
         when this lease was created."
    ::= { tmnxDhcpSvrLeaseEntry 4 }

tmnxDhcpSvrLeaseLastRenew OBJECT-TYPE
    SYNTAX          DateAndTime
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseLastRenew indicates
         when the last renew was done for this lease."
    ::= { tmnxDhcpSvrLeaseEntry 5 }

tmnxDhcpSvrLeaseRemainLeaseTime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseRemainLeaseTime indicates
         the time left for this lease."
    ::= { tmnxDhcpSvrLeaseEntry 6 }

tmnxDhcpSvrLeaseRemPotentExpTime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseRemPotentExpTime indicates
         the lease expiration interval for this lease that is negotiated with 
         the failover peer."
    REFERENCE
        "draft-ietf-dhc-failover DHCP Failover Protocol section 5.2.1,
        Control of lease time."
    ::= { tmnxDhcpSvrLeaseEntry 7 }

tmnxDhcpSvrLeaseClientHwAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseClientHwAddress indicates
         the MAC address of the client."
    ::= { tmnxDhcpSvrLeaseEntry 8 }

tmnxDhcpSvrLeaseXid OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseXid indicates
         the transaction id that the client has sent in its last DHCP message
         to the server."
    ::= { tmnxDhcpSvrLeaseEntry 9 }

tmnxDhcpSvrLeaseOption82 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseOption82 indicates
         the content of option 82 for this DHCP lease state."
    ::= { tmnxDhcpSvrLeaseEntry 10 }

tmnxDhcpSvrLeaseClientType OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrClientType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseClientType indicates
         the type of the client."
    ::= { tmnxDhcpSvrLeaseEntry 11 }

tmnxDhcpSvrLeasePPPoEUserName OBJECT-TYPE
    SYNTAX      TmnxPppoeUserNameOrEmpty
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeasePPPoEUserName indicates
         the PPPoE user name.

         This object is only relevant if the value of
         tmnxDhcpSvrLeaseClientType is equal to 'pppoe'."
    ::= { tmnxDhcpSvrLeaseEntry 12 }

tmnxDhcpSvrLeaseOpt82CircId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseOpt82CircId indicates
         the Circuit ID from the option 82."
    ::= { tmnxDhcpSvrLeaseEntry 13 }

tmnxDhcpSvrLeaseFailCtrl OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrFailCtrlType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseFailCtrl indicates
         the type of failover control for this DHCP lease state."
    ::= { tmnxDhcpSvrLeaseEntry 14 }

tmnxDhcpSvrLeaseOption60 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseOption60 indicates
         the content of option 60 for this DHCP lease state.
         
         The size is limited to the size of 
         TIMETRA-LOCAL-USER-DB-MIB::tmnxLocUsrDbDhcpOption60."
    ::= { tmnxDhcpSvrLeaseEntry 15 }

tmnxDhcpSvrLeaseClientPrefixLen OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength (1..128)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseClientPrefixLen indicates
         the length of tmnxDhcpSvrLeaseClientAddress."
    ::= { tmnxDhcpSvrLeaseEntry 16 }

tmnxDhcpSvrLeaseIAOptionType OBJECT-TYPE
    SYNTAX      INTEGER {
                     notApplicable  (0),
                     iaNa           (1),
                     iaPd           (2)
                }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseIAOptionType indicates
         the type of the option.

         - 'notApplicable (0)': AI is not applicable to this lease.

         - 'iaNa (1)':
                The IA_NA option type is used to request the assignment of
                non-temporary addresses.

         - 'iaPd (2)':
                The IA_PD option is used to carry a prefix delegation identity
                association, the parameters associated with the IA_PD and the
                prefixes associated with it."
    REFERENCE
        "RFC 3315, RFC 3633"
    ::= { tmnxDhcpSvrLeaseEntry 17 }
    
tmnxDhcpSvrLeaseIAID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseIAID indicates
         the Identity Association of the client."
    ::= { tmnxDhcpSvrLeaseEntry 18 }

tmnxDhcpSvrLeaseDUID OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseDUID indicates
         the DHCP Unique Identifier associated with the client."
    ::= { tmnxDhcpSvrLeaseEntry 19 }

tmnxDhcpSvrLeaseRemainHoldTime OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseRemainHoldTime indicates
         the hold time left for this lease."
    ::= { tmnxDhcpSvrLeaseEntry 20 }

tmnxDhcpSvrLeaseRelayInterfaceId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseRelayInterfaceId indicates
         the value of the Interface-ID Option assigned by the
         DHCPv6 Relay Agent."
    ::= { tmnxDhcpSvrLeaseEntry 21 }

tmnxDhcpSvrLeaseLDRAInterfaceId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseLDRAInterfaceId indicates
         the value of the Interface-ID Option assigned by the
         Lightweight DHCPv6 Relay Agent."
    REFERENCE
        "draft-miles-dhc-dhcpv6-ldra"
    ::= { tmnxDhcpSvrLeaseEntry 22 }

tmnxDhcpSvrLeaseLnkLclAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseLnkLclAddrType indicates
         the address type of tmnxDhcpSvrLeaseLnkLclAddress."
    ::= { tmnxDhcpSvrLeaseEntry 23 }

tmnxDhcpSvrLeaseLnkLclAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(0|16))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrLeaseLnkLclAddress indicates
         the link local IP address of the client."
    ::= { tmnxDhcpSvrLeaseEntry 24 }

-- --------------------------------------------------------
--  tmnxDhcpServerStatsTable (read-only)
-- --------------------------------------------------------
tmnxDhcpServerStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpServerStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpServerStatsTable contains basic statistics about
         the DHCP server instances."
    ::= { tmnxDhcpServerObjs 14 }

tmnxDhcpServerStatsEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpServerStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry contains basic statistics about a particular DHCP
         server instance."
    INDEX { vRtrID,
            IMPLIED tmnxDhcpServerCfgServerName }
    ::= { tmnxDhcpServerStatsTable 1 }

TmnxDhcpServerStatsEntry ::= SEQUENCE {
    tmnxDhcpSvrStatsRxDiscovers      Counter64,
    tmnxDhcpSvrStatsRxRequests       Counter64,
    tmnxDhcpSvrStatsRxReleases       Counter64,
    tmnxDhcpSvrStatsRxDeclines       Counter64,
    tmnxDhcpSvrStatsRxInforms        Counter64,
    tmnxDhcpSvrStatsTxOffers         Counter64,
    tmnxDhcpSvrStatsTxAcks           Counter64,
    tmnxDhcpSvrStatsTxNaks           Counter64,
    tmnxDhcpSvrStatsTxForceRenews    Counter64,
    tmnxDhcpSvrStatsDropBadPackets   Counter32,
    tmnxDhcpSvrStatsDropInvalidTypes Counter32,
    tmnxDhcpSvrStatsDropNoUsrDbFound Counter32,
    tmnxDhcpSvrStatsDropUnknownHosts Counter32,
    tmnxDhcpSvrStatsDropUserNotAllow Counter32,
    tmnxDhcpSvrStatsDropLseNotReady  Counter32,
    tmnxDhcpSvrStatsDropNoLeaseFound Counter32,
    tmnxDhcpSvrStatsDropNotSrvngPool Counter32,
    tmnxDhcpSvrStatsDropInvalidUsr   Counter32,
    tmnxDhcpSvrStatsDropOverload     Counter32,
    tmnxDhcpSvrStatsDropPersOverload Counter32,
    tmnxDhcpSvrStatsOffersIgnore     Counter32, 
    tmnxDhcpSvrStatsDropGenError     Counter32,
    tmnxDhcpSvrStatsDropDestOther    Counter32,
    tmnxDhcpSvrStatsDropAddrUnavail  Counter32,
    tmnxDhcpSvrStatsDropMaxReached   Counter32,
    tmnxDhcpSvrStatsDropSvrDown      Counter32,
    tmnxDhcpSvrStatsDropNoSubnet     Counter32,
    tmnxDhcpSvrStatsLeasesExpired    Counter32,
    tmnxDhcpSvrStatsDropDuplDiffGi   Counter32
}

tmnxDhcpSvrStatsRxDiscovers OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsRxDiscovers indicates
         the number of DHCPDISCOVER (option 53 with value 1) packets
         received by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 1 }

tmnxDhcpSvrStatsRxRequests OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsRxRequests indicates
         the number of DHCPREQUEST (option 53 with value 3) packets
         received by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 2 }

tmnxDhcpSvrStatsRxReleases OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsRxReleases indicates
         the number of DHCPRELEASE (option 53 with value 7) packets
         received by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 3 }

tmnxDhcpSvrStatsRxDeclines OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsRxDeclines indicates
         the number of DHCPDECLINE (option 53 with value 4) packets
         received by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 4 }

tmnxDhcpSvrStatsRxInforms OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsRxInforms indicates
         the number of DHCPINFORM (option 53 with value 8) packets
         received by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 5 }

tmnxDhcpSvrStatsTxOffers OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsTxOffers indicates
         the number of DHCPOFFER (option 53 with value 2) packets
         sent by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 6 }

tmnxDhcpSvrStatsTxAcks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsTxAcks indicates
         the number of DHCPACK (option 53 with value 5) packets
         sent by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 7 }

tmnxDhcpSvrStatsTxNaks OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsTxNaks indicates
         the number of DHCPNAK (option 53 with value 6) packets
         sent by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 8 }

tmnxDhcpSvrStatsTxForceRenews OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsTxForceRenews indicates
         the number of DHCPFORCERENEW (option 53 with value 9) packets
         sent by the DHCP server instance."
    ::= { tmnxDhcpServerStatsEntry 9 }

tmnxDhcpSvrStatsDropBadPackets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropBadPackets indicates
         the number of DHCP packets received which were corrupt."
    ::= { tmnxDhcpServerStatsEntry 10 }

tmnxDhcpSvrStatsDropInvalidTypes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropInvalidTypes indicates
         the number of DHCP packets received which had an invalid message type
         (option 53)."
    ::= { tmnxDhcpServerStatsEntry 11 }

tmnxDhcpSvrStatsDropNoUsrDbFound OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropNoUsrDbFound indicates
         the number of DHCP packets dropped because the value of the object
         tmnxDhcpServerCfgUserDatabase of this server instance is not equal
         to the default value and a local user database with that name could
         not be found."
    ::= { tmnxDhcpServerStatsEntry 12 }

tmnxDhcpSvrStatsDropUnknownHosts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropUnknownHosts indicates
         the number of DHCP packets dropped from hosts which were not found
         in the user database when tmnxDhcpServerCfgUseGiAddress was disabled."
    ::= { tmnxDhcpServerStatsEntry 13 }

tmnxDhcpSvrStatsDropUserNotAllow OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropUserNotAllow indicates
         the number of DHCP packets dropped from hosts which are found in the
         user database, but which have no address or pool specified, nor has
         tmnxDhcpServerCfgUseGiAddress set to 'true'."
    ::= { tmnxDhcpServerStatsEntry 14 }

tmnxDhcpSvrStatsDropLseNotReady OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropLseNotReady indicates
         the number of DHCP packets dropped by the server instance
         before the lease database was ready."
    ::= { tmnxDhcpServerStatsEntry 15 }

tmnxDhcpSvrStatsDropNoLeaseFound OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropNoLeaseFound indicates
         the number of DHCP packets dropped by the server instance
         because no (valid) lease was found."
    ::= { tmnxDhcpServerStatsEntry 16 }

tmnxDhcpSvrStatsDropNotSrvngPool OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropNotSrvngPool indicates
         the number of DHCP packets dropped by the server instance
         because there were no more free addresses in the pool."
    ::= { tmnxDhcpServerStatsEntry 17 }

tmnxDhcpSvrStatsDropInvalidUsr OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropInvalidUsr indicates
         the number of DHCP packets dropped by the server instance
         because the MAC address of the sender or the option 82
         didn't match the host lease state."
    ::= { tmnxDhcpServerStatsEntry 18 }

tmnxDhcpSvrStatsDropOverload OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStatsDropOverload indicates
        the number of DHCP packets dropped by the server instance
        because they were received in excess of what the server instance
        can handle."
   ::= { tmnxDhcpServerStatsEntry 19 }

tmnxDhcpSvrStatsDropPersOverload OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStatsDropPersOverload indicates
        the number of DHCP packets dropped by the server instance
        because they were received in excess of what the DHCP persistence 
         system can handle. If this occurs, only releases and declines are 
         still processed."
   ::= { tmnxDhcpServerStatsEntry 20 }

tmnxDhcpSvrStatsOffersIgnore OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsOffersIgnore indicates
         the number of DHCPOFFER (option 52 with value 2) packets
         sent by the DHCP server instance that were ignored 
         by he clients."
    ::= { tmnxDhcpServerStatsEntry 21 }

tmnxDhcpSvrStatsDropGenError OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropGenError indicates
         the number of DHCP packets dropped by the server instance
         because of a generic error."
    ::= { tmnxDhcpServerStatsEntry 22 }

tmnxDhcpSvrStatsDropDestOther OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropDestOther indicates
         the number of DHCP requests dropped by the server instance
         because the (broadcast) request was not destined to this 
         server."
    ::= { tmnxDhcpServerStatsEntry 23 }

tmnxDhcpSvrStatsDropAddrUnavail OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropAddrUnavail indicates
         the number of DHCP requests dropped by the server instance
         because the requested address is not available."
    ::= { tmnxDhcpServerStatsEntry 24 }

tmnxDhcpSvrStatsDropMaxReached OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStatsDropMaxReached indicates
        the number of DHCP packets dropped by the server instance
        because the maximum number of leases was reached.
         
         The maximum number of leases is indicated by the value of the object
         tmnxDhcpSvrMaxLeases."
   ::= { tmnxDhcpServerStatsEntry 25 }

tmnxDhcpSvrStatsDropSvrDown OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStatsDropSvrDown indicates
        the number of DHCP packets dropped by the server instance
        during server instance shutdown (while the value of the object 
        tmnxDhcpServerCfgAdminState in the corresponding row was set equal to
        'outOfService')."
   ::= { tmnxDhcpServerStatsEntry 26 }

tmnxDhcpSvrStatsDropNoSubnet OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropNoSubnet indicates
         the number of DHCP packets dropped by the server instance
         for user-db hosts with a fixed address because the subnet
         to which the address belongs is not configured."
    ::= { tmnxDhcpServerStatsEntry 27 }

tmnxDhcpSvrStatsLeasesExpired OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsLeasesExpired indicates
         the number of DHCP leases that were expired (because
         no release was received)."
    ::= { tmnxDhcpServerStatsEntry 28 }

tmnxDhcpSvrStatsDropDuplDiffGi OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStatsDropDuplDiffGi indicates
         the number of DHCP requests dropped by the server instance
         because they were received from a different Gateway IP address 
         within a timeframe of 10 seconds after a previous DHCPREQUEST."
    ::= { tmnxDhcpServerStatsEntry 29 }

-- --------------------------------------------------------
--  tmnxDhcpSvrDeclinedAddrTable (read-only)
-- --------------------------------------------------------
tmnxDhcpSvrDeclinedAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrDeclinedAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrDeclinedAddrTable contains a list of
         IP addresses which are declined by DHCP clients."
    ::= { tmnxDhcpServerObjs 16 }

tmnxDhcpSvrDeclinedAddrEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrDeclinedAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a declined IP address.

         Entries in this table cannot be created via SNMP operations.
         Entries in this table can be deleted via the TIMETRA-CLEAR-MIB."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength,
            tmnxDhcpSvrDeclinedAddrType,
            tmnxDhcpSvrDeclinedAddress }
    ::= { tmnxDhcpSvrDeclinedAddrTable 1 }

TmnxDhcpSvrDeclinedAddrEntry ::= SEQUENCE {
    tmnxDhcpSvrDeclinedAddrType       InetAddressType,
    tmnxDhcpSvrDeclinedAddress        InetAddress,
    tmnxDhcpSvrDeclinedAddrHwAddress  MacAddress,
    tmnxDhcpSvrDeclinedAddrAddedTime  DateAndTime,
    tmnxDhcpSvrDeclinedAddrOption82   OCTET STRING,
    tmnxDhcpSvrDeclinedAddrClientType TmnxDhcpSvrClientType,
    tmnxDhcpSvrDeclinedAddrUserName   TmnxPppoeUserNameOrEmpty,
    tmnxDhcpSvrDeclinedAddrCircId     OCTET STRING
}

tmnxDhcpSvrDeclinedAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrDeclinedAddrType specifies
         the type of tmnxDhcpSvrDeclinedAddress."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 1 }

tmnxDhcpSvrDeclinedAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrDeclinedAddress specifies
         the declined IP address."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 2 }

tmnxDhcpSvrDeclinedAddrHwAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrDeclinedAddrHwAddress indicates
         the MAC address of the client."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 3 }

tmnxDhcpSvrDeclinedAddrAddedTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrDeclinedAddrAddedTime indicates
         the creation time of this entry."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 4 }

tmnxDhcpSvrDeclinedAddrOption82 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrDeclinedAddrOption82 indicates
         the option82 from the client message."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 5 }

tmnxDhcpSvrDeclinedAddrClientType OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrClientType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrDeclinedAddrClientType indicates
         the type of the client."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 6 }

tmnxDhcpSvrDeclinedAddrUserName OBJECT-TYPE
    SYNTAX      TmnxPppoeUserNameOrEmpty
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrDeclinedAddrUserName indicates
         the PPPoE user name.

         This object is only relevant if the value of
         tmnxDhcpSvrDeclinedAddrClientType is equal to 'pppoe'."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 7 }

tmnxDhcpSvrDeclinedAddrCircId OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrDeclinedAddrCircId indicates
         the Circuit ID from the option 82."
    ::= { tmnxDhcpSvrDeclinedAddrEntry 8 }

-- ------------------------------------------------
-- tmnxDhcpSvrSubnetStatsTable (read-only)
-- ------------------------------------------------
tmnxDhcpSvrSubnetStatsTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxDhcpSvrSubnetStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tmnxDhcpSvrSubnetStatsTable has an entry for each subnet that
         belongs to the specified DHCP server instance and pool."
    ::= { tmnxDhcpServerObjs 17 }

tmnxDhcpSvrSubnetStatsEntry OBJECT-TYPE
    SYNTAX     TmnxDhcpSvrSubnetStatsEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry in the tmnxDhcpSvrSubnetStatsTable represents
         additional columns of operational data for a subnet that
         belongs to the specified DHCP server instance and pool."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength }
    ::= { tmnxDhcpSvrSubnetStatsTable 1 }

TmnxDhcpSvrSubnetStatsEntry ::= SEQUENCE
   {
       tmnxDhcpSvrSubnetStatsFree       Counter32,
       tmnxDhcpSvrSubnetStatsOffered    Counter32,
       tmnxDhcpSvrSubnetStatsStable     Counter32,
       tmnxDhcpSvrSubnetStatsFRPending  Counter32,
       tmnxDhcpSvrSubnetStatsRemPending Counter32,
       tmnxDhcpSvrSubnetStatsDeclined   Counter32,
       tmnxDhcpSvrSubnetStatsFoFree     Counter32,
       tmnxDhcpSvrSubnetStatsFoOffered  Counter32,
       tmnxDhcpSvrSubnetStatsFoStable   Counter32,
       tmnxDhcpSvrSubnetStatsFoFRPend   Counter32,
       tmnxDhcpSvrSubnetStatsFoRemPend  Counter32,
       tmnxDhcpSvrSubnetStatsFoDeclined Counter32,
       tmnxDhcpSvrSubnetStatsProv       Counter32,
       tmnxDhcpSvrSubnetStatsFoProv     Counter32
   }

tmnxDhcpSvrSubnetStatsFree OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFree indicates
         the number of addresses in this subnet that are
         free."
    ::= { tmnxDhcpSvrSubnetStatsEntry 1 }

tmnxDhcpSvrSubnetStatsOffered OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsOffered indicates
         the number of leases in this subnet that are in state
         'offered'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 2 }

tmnxDhcpSvrSubnetStatsStable OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsStable indicates
         the number of leases in this subnet that are in state
         'stable'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 3 }

tmnxDhcpSvrSubnetStatsFRPending OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFRPending indicates
         the number of leases in this subnet that are in state
         'forceRenewPending'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 4 }

tmnxDhcpSvrSubnetStatsRemPending OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsRemPending indicates
         the number of leases in this subnet that are in state
         'removePending'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 5 }

tmnxDhcpSvrSubnetStatsDeclined OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsDeclined indicates
         the number of addresses in this subnet that are
         declined."
    ::= { tmnxDhcpSvrSubnetStatsEntry 6 }

tmnxDhcpSvrSubnetStatsFoFree OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoFree indicates
         the number of remote addresses in this subnet that are
         free.
         
         The value of this object is only relevant if the value of the object
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 7 }

tmnxDhcpSvrSubnetStatsFoOffered OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoOffered indicates
         the number of remote leases in this subnet that are in state
         'offered'.
         
         The value of this object is only relevant if the value of the object
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 8 }

tmnxDhcpSvrSubnetStatsFoStable OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoStable indicates
         the number of remote leases in this subnet that are in state
         'stable'.
         
         The value of this object is only relevant if the value of the object
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 9 }

tmnxDhcpSvrSubnetStatsFoFRPend OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoFRPend indicates
         the number of remote leases in this subnet that are in state
         'forceRenewPending'.
         
         The value of this object is only relevant if the value of the object
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 10 }

tmnxDhcpSvrSubnetStatsFoRemPend OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoRemPend indicates
         the number of remote leases in this subnet that are in state
         'removePending'.
         
         The value of this object is only relevant if the value of the object
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 11 }

tmnxDhcpSvrSubnetStatsFoDeclined OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoDeclined indicates
         the number of remote addresses in this subnet that are
         declined.
         
         The value of this object is only relevant if the value of the object
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 12 }

tmnxDhcpSvrSubnetStatsProv OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsProv indicates
         the total number of local addresses in this subnet that are
         provisioned."
    ::= { tmnxDhcpSvrSubnetStatsEntry 13 }

tmnxDhcpSvrSubnetStatsFoProv OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStatsFoProv indicates
         the total number of remote addresses in this subnet that are
         provisioned.
         
         The value of this object is only relevant if the value of the object 
         tmnxDhcpsFoAdminState of this server is equal to 'inService (2)' and 
         the value of the object tmnxDhcpsFoState of this server is equal to 
         'partnerDown (5)'."
    ::= { tmnxDhcpSvrSubnetStatsEntry 14 }

tmnxDhcpsFailoverObjs   OBJECT IDENTIFIER ::= { tmnxDhcpServerObjs 18 }
-- ------------------------------------------------
-- tmnxDhcpsFailoverObjs
-- ------------------------------------------------
-- This object group is not supported on SR-1 and ESS-1, where the 
-- value of TIMETRA-CHASSIS-MIB::tmnxChassisType is '5'."

-- ------------------------------------------------
-- tmnxDhcpsFoTable
-- ------------------------------------------------
--  Augmentation of the tmnxDhcpServerConfigTable
--  Use of AUGMENTS clause implies a one-to-one dependent relationship
--  between the base table, tmnxDhcpServerConfigTable, and the augmenting table,
--  tmnxDhcpsFoTable. This in effect extends the tmnxDhcpServerConfigTable
--  with additional columns. Creation (or deletion) of a row in the
--  tmnxDhcpServerConfigTable results in the same fate for the row in the
--  tmnxDhcpsFoTable.

tmnxDhcpsFoTableLastChanged OBJECT-TYPE
    SYNTAX       TimeStamp
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The value of tmnxDhcpsFoTableLastChanged indicates the
         sysUpTime at the time of the last change of an entry in the
         tmnxDhcpsFoTable.

         If no changes occurred since the last re-initialization
         of the local network management subsystem, then this object
         contains a zero value."
    ::= { tmnxDhcpsFailoverObjs 1 }

tmnxDhcpsFoTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxDhcpsFoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tmnxDhcpsFoTable has an entry for each DHCP server instance."
    ::= { tmnxDhcpsFailoverObjs 2 }

tmnxDhcpsFoEntry OBJECT-TYPE
    SYNTAX     TmnxDhcpsFoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry represents information related to the failover facility
         of a DHCP server instance.

         Rows are created or removed automatically by the system."
    AUGMENTS { tmnxDhcpServerConfigEntry }
    ::= { tmnxDhcpsFoTable 1 }

TmnxDhcpsFoEntry ::= SEQUENCE
   {
       tmnxDhcpsFoLastChanged           TimeStamp,
       tmnxDhcpsFoAdminState            TmnxAdminState,
       tmnxDhcpsFoMaxClientLeadTime     Unsigned32,
       tmnxDhcpsFoOperMaxClientLeadTime Unsigned32,
       tmnxDhcpsFoStartupWaitTime       Unsigned32,
       tmnxDhcpsFoPartnerDownDelay      Unsigned32,
       tmnxDhcpsFoState                 TmnxDhcpsFoState,
       tmnxDhcpsFoTimeLeft              Integer32
   }

tmnxDhcpsFoLastChanged OBJECT-TYPE
    SYNTAX     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of tmnxDhcpsFoLastChanged indicates the sysUpTime
         at the time of the last modification of this entry.

         If no changes were made to the entry since the last re-initialization
         of the local network management subsystem, then this object contains
         a zero value."
    ::= { tmnxDhcpsFoEntry 1 }

tmnxDhcpsFoAdminState OBJECT-TYPE
    SYNTAX     TmnxAdminState
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The value of tmnxDhcpsFoAdminState specifies the
         administrative state of the failover facility of the DHCP server
         instance.
         
         When the value of this object is set to 'inService (2)',
         it is not allowed to remove the corresponding local DHCP server,
         or to create/delete corresponding entries in the following tables:
         tmnxDhcpServerPoolTable, tmnxDhcpServerSubnetTable and
         tmnxDhcpSvrSubnetRangesTable."
    DEFVAL { outOfService }
    ::= { tmnxDhcpsFoEntry 2 }

tmnxDhcpsFoMaxClientLeadTime OBJECT-TYPE
    SYNTAX      Unsigned32 (600..86399) -- max. 23 hours 59 minutes 59 seconds
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoMaxClientLeadTime specifies
         the maximum client lead time (MCLT).

         The MCLT is the maximum amount of time that one server can extend a
         lease for a client's binding beyond the time known by the partner
         server.
         
         The value of this object can only be set while the value of the object
         tmnxDhcpsFoAdminState is equal to 'outOfService'."
    REFERENCE
        "draft-ietf-dhc-failover DHCP Failover Protocol section 2.2,
        MCLT."
    DEFVAL { 600 } -- 10 minutes
    ::= { tmnxDhcpsFoEntry 3 }

tmnxDhcpsFoOperMaxClientLeadTime OBJECT-TYPE
    SYNTAX      Unsigned32 (600..86399) -- max. 23 hours 59 minutes 59 seconds
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoOperMaxClientLeadTime indicates
         the actual maximum client lead time.

         The value of the object tmnxDhcpsFoOperMaxClientLeadTime is 
         initialized to the value of the object tmnxDhcpsFoMaxClientLeadTime.
         
         Every time the value of the object tmnxDhcpsFoMaxClientLeadTime is set,
         the value of the object tmnxDhcpsFoOperMaxClientLeadTime is modified
         accordingly.
          
         When the value of the object tmnxDhcpsFoState becomes equal to 
         'normal', the actual maximum client lead time becomes equal to the 
         maximum of the values of the objects 
         tmnxDhcpsFoOperMaxClientLeadTime on this system and on the failover 
         peer.
         
         When the value of the object tmnxDhcpsFoAdminState becomes equal to 
         'outOfService', the value of the object 
         tmnxDhcpsFoOperMaxClientLeadTime is reset to the value of the object 
         tmnxDhcpsFoMaxClientLeadTime."
    ::= { tmnxDhcpsFoEntry 4 }

tmnxDhcpsFoStartupWaitTime OBJECT-TYPE
    SYNTAX      Unsigned32 (60..600) -- max. 10 minutes
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoStartupWaitTime specifies
         the startup wait time.

         The startup wait time is the time that one server attempts to contact
         the partner server. During this time, the server is unresponsive to
         DHCP client requests."
    REFERENCE
        "draft-ietf-dhc-failover DHCP Failover Protocol section 5.9,
        Operating in STARTUP state."
    DEFVAL { 120 } -- 2 minutes
    ::= { tmnxDhcpsFoEntry 5 }

tmnxDhcpsFoPartnerDownDelay OBJECT-TYPE
    SYNTAX      Unsigned32 (0..86399) -- max. 23 hours 59 minutes 59 seconds
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoPartnerDownDelay specifies
         the minimum safe-time after the beginning of COMMUNICATIONS-INTERRUPTED
         state.

         After the expiry of this time, the server enters the PARTNER-DOWN
         state."
    REFERENCE
        "draft-ietf-dhc-failover DHCP Failover Protocol section 9.4.2,
        Operation while in PARTNER-DOWN state."
    DEFVAL { 86399 } -- 23 hours 59 minutes 59 seconds
    ::= { tmnxDhcpsFoEntry 6 }

tmnxDhcpsFoState OBJECT-TYPE
    SYNTAX     TmnxDhcpsFoState
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of tmnxDhcpsFoState indicates the
         failover state of the DHCP server instance."
    ::= { tmnxDhcpsFoEntry 7 }

tmnxDhcpsFoTimeLeft OBJECT-TYPE
    SYNTAX      Integer32
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoTimeLeft indicates
         the time left until expiry of one of the timers MCLT, 
         startup wait time or partner-down-delay.

         If none of these timers is running, the value of tmnxDhcpsFoTimeLeft
         equals '-1'."
    REFERENCE
        "draft-ietf-dhc-failover DHCP Failover Protocol."
    ::= { tmnxDhcpsFoEntry 8 }

-- --------------------------------------------------------
--  tmnxDhcpsFoStatsTable (read-only)
-- --------------------------------------------------------
--  Augmentation of the tmnxDhcpServerConfigTable
--  Use of AUGMENTS clause implies a one-to-one dependent relationship
--  between the base table, tmnxDhcpServerConfigTable, and the augmenting table,
--  tmnxDhcpsFoTable. This in effect extends the tmnxDhcpServerConfigTable
--  with additional columns. Creation (or deletion) of a row in the
--  tmnxDhcpServerConfigTable results in the same fate for the row in the
--  tmnxDhcpsFoTable.

tmnxDhcpsFoStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpsFoStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpsFoStatsTable contains statistics about
         the DHCP failover facility.
         
         The tmnxDhcpsFoStatsTable has an entry for each DHCP server instance."
    ::= { tmnxDhcpsFailoverObjs 3 }

tmnxDhcpsFoStatsEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpsFoStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry contains statistics about the failover facility of a
         specific DHCP Server instance.

         Rows are created or removed automatically by the system."
    AUGMENTS { tmnxDhcpServerConfigEntry }
    ::= { tmnxDhcpsFoStatsTable 1 }

TmnxDhcpsFoStatsEntry ::= SEQUENCE {
    tmnxDhcpsFoStatsLeaseNotFound    Counter32,
    tmnxDhcpsFoStatsDropInvalidPkts  Counter32,
    tmnxDhcpsFoStatsFoShutdown       Counter32,
    tmnxDhcpsFoStatsExpired          Counter32,
    tmnxDhcpsFoStatsMaxReached       Counter32,
    tmnxDhcpsFoStatsSubnetNotFound   Counter32,
    tmnxDhcpsFoStatsRangeNotFound    Counter32,
    tmnxDhcpsFoStatsHostConflict     Counter32,
    tmnxDhcpsFoStatsAddressConflict  Counter32,
    tmnxDhcpsFoStatsPeerConflict     Counter32
}

tmnxDhcpsFoStatsLeaseNotFound OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsLeaseNotFound indicates
         how many Binding Database Update (BNDUPD) 'remove' packets were  
         dropped because the corresponding lease could not be found."
    ::= { tmnxDhcpsFoStatsEntry 1 }

tmnxDhcpsFoStatsDropInvalidPkts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsDropInvalidPkts indicates
         how many BNDUPD packets were dropped 
         because the packet was malformed."
    ::= { tmnxDhcpsFoStatsEntry 2 }

tmnxDhcpsFoStatsFoShutdown OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsFoShutdown indicates
         how many BNDUPD packets were dropped 
         because the failover state if the DHCP Server instance is 'shutdown'."
    ::= { tmnxDhcpsFoStatsEntry 3 }

tmnxDhcpsFoStatsExpired OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsExpired indicates
         how many BNDUPD 'add' packets were dropped because the corresponding 
         lease has expired.
         
         This may indicate that the clock of the failover peer is not in sync
         with the clock of this system."
    ::= { tmnxDhcpsFoStatsEntry 4 }

tmnxDhcpsFoStatsMaxReached OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsMaxReached indicates
         how many BNDUPD 'add' packets were dropped because 
         the maximum number of leases was reached.
         
         The maximum number of leases is indicated by the value of the object
         tmnxDhcpSvrMaxLeases."
    ::= { tmnxDhcpsFoStatsEntry 5 }

tmnxDhcpsFoStatsSubnetNotFound OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsSubnetNotFound indicates
         how many BNDUPD 'add' packets were dropped 
         because a valid subnet could not be found for the lease."
    ::= { tmnxDhcpsFoStatsEntry 6 }

tmnxDhcpsFoStatsRangeNotFound OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsSubnetNotFound indicates
         how many BNDUPD 'add' packets were dropped 
         because a valid include range could not be found for the lease."
    ::= { tmnxDhcpsFoStatsEntry 7 }

tmnxDhcpsFoStatsHostConflict OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsHostConflict indicates
         how many BNDUPD 'add' packets were dropped 
         because this DHCP server instance has already leased this address to 
         another host."
    ::= { tmnxDhcpsFoStatsEntry 8 }

tmnxDhcpsFoStatsAddressConflict OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsAddressConflict indicates
         how many BNDUPD 'add' packets were dropped 
         because this DHCP server instance has already leased another address 
         to this host."
    ::= { tmnxDhcpsFoStatsEntry 9 }

tmnxDhcpsFoStatsPeerConflict OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpsFoStatsPeerConflict indicates
         how many BNDUPD 'add' packets were dropped 
         because the failover peer has leased an address within a subnet range 
         of which the failover control is set to 'local' on this local DHCP 
         server instance."
    ::= { tmnxDhcpsFoStatsEntry 10 }

-- --------------------------------------------------------
--  tmnxDhcpsFoAction
-- --------------------------------------------------------
-- The tmnxDhcpsFoAction object allows to request an
-- action to be performed upon a DHCP server instance.
--
-- Write the name of the DHCP server instance in the object 
-- tmnxDhcpsFoActionServerName, and the required action in the object
-- tmnxDhcpsFoActionType. 
-- Writing the value 'doAction (1)' in the object tmnxDhcpsFoAction
-- triggers a request to perform the specified action.
--
-- If the action could be performed successfully, the value of the object
-- tmnxDhcpsFoActionSuccessful equals 'true'.
-- If the value of the object equals 'false', then the value of
-- tmnxDhcpsFoActionErrorMsg indicates the reason of the failure.
--

tmnxDhcpsFoAction OBJECT IDENTIFIER ::= { tmnxDhcpsFailoverObjs 4 }

tmnxDhcpsFoActionVRtrId OBJECT-TYPE
    SYNTAX      TmnxVRtrIDOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoActionVRtrId specifies
         the ID of the virtual router instance."
    ::= { tmnxDhcpsFoAction 1 }

tmnxDhcpsFoActionServerName OBJECT-TYPE
    SYNTAX      TNamedItemOrEmpty
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoActionServerName specifies
         the name of the local DHCP server instance."
    ::= { tmnxDhcpsFoAction 2 }

tmnxDhcpsFoActionType OBJECT-TYPE
    SYNTAX      TmnxDhcpsFoActionType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoActionType specifies
         the type of action to perform."
    ::= { tmnxDhcpsFoAction 3 }

tmnxDhcpsFoActionGo OBJECT-TYPE
    SYNTAX      TmnxActionType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to 'doAction' triggers an attempt to force 
         a transition of the failover facility of this DHCP server instance 
         from 'noCommunication' to 'partnerDown'.

         Reading this object returns the value 'notApplicable'."
    ::= { tmnxDhcpsFoAction 4 }

tmnxDhcpsFoActionSuccessful OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoActionSuccessful indicates
         whether the authentication was successful.

         If the value of the object equals 'false', then the value of
         tmnxDhcpsFoActionErrorMsg indicates the reason of the failure."
    ::= { tmnxDhcpsFoAction 5 }

tmnxDhcpsFoActionErrorMsg OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoActionErrorMsg indicates
         the reason of failure, in case the value of the object
         tmnxDhcpsFoActionSuccessful is equal to 'false'.
         
         If the value of the object tmnxDhcpsFoActionSuccessful is equal to
         'true', this object contains an empty string."
    ::= { tmnxDhcpsFoAction 6 }

tmnxDhcpsFoActionTime OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoActionTime indicates
         the value of sysUpTime at the last time that the object 
         tmnxDhcpsFoActionSuccessful was written by the system."
    ::= { tmnxDhcpsFoAction 7 }

-- --------------------------------------------------------
--  tmnxDhcpSvrFreeAddrTable (read-only)
-- --------------------------------------------------------
tmnxDhcpSvrFreeAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrFreeAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrFreeAddrTable contains a list of free
         IP addresses. These IP addresses are available for DHCP clients."
    ::= { tmnxDhcpServerObjs 19 }

tmnxDhcpSvrFreeAddrEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrFreeAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row represents a free IP address.

         Entries in this table cannot be created via SNMP operations.
         Entries in this table cannot be deleted via the TIMETRA-CLEAR-MIB."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength,
            tmnxDhcpSvrFreeAddrType,
            tmnxDhcpSvrFreeAddress}
    ::= { tmnxDhcpSvrFreeAddrTable 1 }

TmnxDhcpSvrFreeAddrEntry ::= SEQUENCE {
    tmnxDhcpSvrFreeAddrType       InetAddressType,
    tmnxDhcpSvrFreeAddress        InetAddress,
    tmnxDhcpSvrFreeAddrFailCtrl   TmnxDhcpSvrFailCtrlType
}

tmnxDhcpSvrFreeAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrFreeAddrType specifies
         the type of tmnxDhcpSvrFreeAddress."
    ::= { tmnxDhcpSvrFreeAddrEntry 1 }

tmnxDhcpSvrFreeAddress OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrFreeAddress specifies
         the free IP address."
    ::= { tmnxDhcpSvrFreeAddrEntry 2 }

tmnxDhcpSvrFreeAddrFailCtrl OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrFailCtrlType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrFreeAddrFailCtrl indicates
         the type of failover control for this free IP address."
    ::= { tmnxDhcpSvrFreeAddrEntry 3 }

-- --------------------------------------------------------
--  tmnxDhcpSvrActionTable
-- --------------------------------------------------------
tmnxDhcpSvrActionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpSvrActionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table tmnxDhcpSvrActionTable allows the operator to request 
         the local DHCP server to execute a operational commands."
    ::= { tmnxDhcpServerObjs 20 }

tmnxDhcpSvrActionEntry OBJECT-TYPE
    SYNTAX      TmnxDhcpSvrActionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table contains a row for each DHCP server instance running
         within a virtual router.

         Rows are created and destroyed by the system.

         Each row contains objects that can be written to in order to
         request the DHCP server to execute the corresponding command."
    INDEX { vRtrID,
            IMPLIED tmnxDhcpServerCfgServerName }
    ::= { tmnxDhcpSvrActionTable 1 }

TmnxDhcpSvrActionEntry ::= SEQUENCE {
    tmnxDhcpSvrActForceRenewAddrType InetAddressType,
    tmnxDhcpSvrActForceRenewAddr     InetAddress
}

tmnxDhcpSvrActForceRenewAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrActForceRenewAddrType specifies
         the type of tmnxDhcpSvrActForceRenewAddr.
         When read, the system will always return the value unknown(0)"
    ::= { tmnxDhcpSvrActionEntry 1 }

tmnxDhcpSvrActForceRenewAddr OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(0|4|16))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrActForceRenewAddr specifies
         the IP address for wich a force renew is requested.
         When read, the system will always return the empty INET address 
         (i.e. address length = 0)."
    ::= { tmnxDhcpSvrActionEntry 2 }

-- --------------------------------------------------------
--  Global lease count
-- --------------------------------------------------------
tmnxDhcpSvrNumLeases OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrNumLeases indicates the actual number of   
         addresses that is currently being leased."
    ::= { tmnxDhcpServerObjs 21 }

tmnxDhcpSvrMaxLeases OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrMaxLeases indicates the maximum number of   
         addresses that can be leased at any given time."
    ::= { tmnxDhcpServerObjs 22 }

-- ------------------------------------------------
-- tmnxDhcpServerStats6Table (read-only)
-- ------------------------------------------------
tmnxDhcpServerStats6Table OBJECT-TYPE
    SYNTAX      SEQUENCE OF TmnxDhcpServerStats6Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpServerStats6Table contains basic statistics about
         the DHCPv6 server instances."
    ::= { tmnxDhcpServerObjs 23 }

tmnxDhcpServerStats6Entry OBJECT-TYPE
    SYNTAX      TmnxDhcpServerStats6Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Each row entry contains basic statistics about a particular DHCP
         server instance."
    INDEX { vRtrID,
            IMPLIED tmnxDhcpServerCfgServerName }
    ::= { tmnxDhcpServerStats6Table 1 }

TmnxDhcpServerStats6Entry ::= SEQUENCE
    {
        tmnxDhcpSvrStats6RxSolicits      Counter64,
        tmnxDhcpSvrStats6TxAdvertises    Counter64,
        tmnxDhcpSvrStats6RxRequests      Counter64,
        tmnxDhcpSvrStats6RxConfirms      Counter64,
        tmnxDhcpSvrStats6RxRenews        Counter64,
        tmnxDhcpSvrStats6RxRebinds       Counter64,
        tmnxDhcpSvrStats6RxDeclines      Counter64,
        tmnxDhcpSvrStats6RxReleases      Counter64,
        tmnxDhcpSvrStats6TxReplies       Counter64,
        tmnxDhcpSvrStats6TxReconfigures  Counter64,
        tmnxDhcpSvrStats6RxInfRequests   Counter64,
        tmnxDhcpSvrStats6DropBadPackets  Counter32,
        tmnxDhcpSvrStats6DropInvldTypes  Counter32,
        tmnxDhcpSvrStats6DropLseNotReady Counter32,
        tmnxDhcpSvrStats6DropNoSrvngPool Counter32,
        tmnxDhcpSvrStats6DropOverload    Counter32,
        tmnxDhcpSvrStats6DropPerOverload Counter32,
        tmnxDhcpSvrStats6OffersIgnore    Counter32,
        tmnxDhcpSvrStats6DropGenError    Counter32,
        tmnxDhcpSvrStats6DropDestOther   Counter32,
        tmnxDhcpSvrStats6DropMaxReached  Counter32,
        tmnxDhcpSvrStats6DropSvrDown     Counter32,
        tmnxDhcpSvrStats6LeasesExpired   Counter32,
        tmnxDhcpSvrStats6DropDuplDiffRly Counter32
    }

tmnxDhcpSvrStats6RxSolicits OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxSolicits indicates
         the number of solicit messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 1 }

tmnxDhcpSvrStats6TxAdvertises OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6TxAdvertises indicates
         the number of advertise messages sent by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 2 }

tmnxDhcpSvrStats6RxRequests OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6TxAdvertises indicates
         the number of request messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 3 }

tmnxDhcpSvrStats6RxConfirms OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxConfirms indicates
         the number of confirm messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 4 }

tmnxDhcpSvrStats6RxRenews OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxRenews indicates
         the number of renew messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 5 }

tmnxDhcpSvrStats6RxRebinds OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxRebinds indicates
         the number of rebind messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 6 }

tmnxDhcpSvrStats6RxDeclines OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxDeclines indicates
         the number of decline messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 7 }

tmnxDhcpSvrStats6RxReleases OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxReleases indicates
         the number of release messages received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 8 }

tmnxDhcpSvrStats6TxReplies OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6TxReplies indicates
         the number of reply messages sent by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 9 }

tmnxDhcpSvrStats6TxReconfigures OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6TxReconfigures indicates
         the number of reconfigure messages sent by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 10 }

tmnxDhcpSvrStats6RxInfRequests OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6RxInfRequests indicates
         the number of information-request messages
         received by the DHCP server instance."
    ::= { tmnxDhcpServerStats6Entry 11 }

tmnxDhcpSvrStats6DropBadPackets OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropBadPackets indicates
         the number of DHCP packets received which were corrupt."
    ::= { tmnxDhcpServerStats6Entry 12 }

tmnxDhcpSvrStats6DropInvldTypes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropInvldTypes indicates
         the number of DHCP packets received which had an invalid message type."
    ::= { tmnxDhcpServerStats6Entry 13 }

tmnxDhcpSvrStats6DropLseNotReady OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropLseNotReady indicates
         the number of DHCP packets dropped by the server instance
         before the lease database was ready."
    ::= { tmnxDhcpServerStats6Entry 14 }

tmnxDhcpSvrStats6DropNoSrvngPool OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropNoSrvngPool indicates
         the number of DHCP packets dropped by the server instance
         because there were no more free addresses in the pool."
    ::= { tmnxDhcpServerStats6Entry 15 }

tmnxDhcpSvrStats6DropOverload OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStats6DropOverload indicates
        the number of DHCP packets dropped by the server instance
        because they were received in excess of what the server instance
        can handle."
   ::= { tmnxDhcpServerStats6Entry 16 }

tmnxDhcpSvrStats6DropPerOverload OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStats6DropPerOverload indicates
        the number of DHCP packets dropped by the server instance
        because they were received in excess of what the DHCP persistence 
         system can handle. If this occurs, only releases and declines are 
         still processed."
   ::= { tmnxDhcpServerStats6Entry 17 }

tmnxDhcpSvrStats6OffersIgnore OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6OffersIgnore indicates
         the number of DHCPOFFER (option 52 with value 2) packets
         sent by the DHCP server instance that were ignored 
         by he clients."
    ::= { tmnxDhcpServerStats6Entry 18 }

tmnxDhcpSvrStats6DropGenError OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropGenError indicates
         the number of DHCP packets dropped by the server instance
         because of a generic error."
    ::= { tmnxDhcpServerStats6Entry 19 }

tmnxDhcpSvrStats6DropDestOther OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropDestOther indicates
         the number of DHCP requests dropped by the server instance
         because the (broadcast) request was not destined to this 
         server."
    ::= { tmnxDhcpServerStats6Entry 20 }

tmnxDhcpSvrStats6DropMaxReached OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStats6DropMaxReached indicates
        the number of DHCP packets dropped by the server instance
        because the maximum number of leases was reached.
         
         The maximum number of leases is indicated by the value of the object
         tmnxDhcpSvrMaxLeases."
   ::= { tmnxDhcpServerStats6Entry 21 }

tmnxDhcpSvrStats6DropSvrDown OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The value of tmnxDhcpSvrStats6DropSvrDown indicates
        the number of DHCP packets dropped by the server instance
        during server instance shutdown (while the value of the object 
        tmnxDhcpServerCfgAdminState in the corresponding row was set equal to
        'outOfService')."
   ::= { tmnxDhcpServerStats6Entry 22 }

tmnxDhcpSvrStats6LeasesExpired OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6LeasesExpired indicates
         the number of DHCP leases that were expired (because
         no release was received)."
    ::= { tmnxDhcpServerStats6Entry 23 }

tmnxDhcpSvrStats6DropDuplDiffRly OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrStats6DropDuplDiffRly indicates
         the number of DHCP requests dropped by the server instance
         because they were received from a different Relay IP address 
         within a timeframe of 10 seconds after a previous DHCPREQUEST."
    ::= { tmnxDhcpServerStats6Entry 24 }

-- ------------------------------------------------
-- tmnxDhcpSvrSubnetStats6Table (read-only)
-- ------------------------------------------------
tmnxDhcpSvrSubnetStats6Table OBJECT-TYPE
    SYNTAX     SEQUENCE OF TmnxDhcpSvrSubnetStats6Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The tmnxDhcpSvrSubnetStats6Table has an entry for each subnet that
         belongs to the specified DHCPv6 server instance and pool."
    ::= { tmnxDhcpServerObjs 24 }

tmnxDhcpSvrSubnetStats6Entry OBJECT-TYPE
    SYNTAX     TmnxDhcpSvrSubnetStats6Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row entry in the tmnxDhcpSvrSubnetStats6Table represents
         additional columns of operational data for a subnet that
         belongs to the specified DHCPv6 server instance and pool."
    INDEX { vRtrID,
            tmnxDhcpServerCfgServerName,
            tmnxDhcpServerPoolName,
            tmnxDhcpSvrSubnetAddrType,
            tmnxDhcpSvrSubnetAddress,
            tmnxDhcpSvrSubnetPrefixLength }
    ::= { tmnxDhcpSvrSubnetStats6Table 1 }

TmnxDhcpSvrSubnetStats6Entry ::= SEQUENCE
   {
       tmnxDhcpSvrSubnetStats6Advertise Counter32,
       tmnxDhcpSvrSubnetStats6Stable    Counter32,
       tmnxDhcpSvrSubnetStats6RCPending Counter32,
       tmnxDhcpSvrSubnetStats6RmPending Counter32,
       tmnxDhcpSvrSubnetStats6Declined  Counter32
   }

tmnxDhcpSvrSubnetStats6Advertise OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStats6Advertise indicates
         the number of addresses in this subnet that are in state
         'advertised'."
    ::= { tmnxDhcpSvrSubnetStats6Entry 1 }

tmnxDhcpSvrSubnetStats6Stable OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStats6Stable indicates
         the number of leases in this subnet that are in state
         'stable'."
    ::= { tmnxDhcpSvrSubnetStats6Entry 2 }

tmnxDhcpSvrSubnetStats6RCPending OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStats6RCPending indicates
         the number of leases in this subnet that are in state
         'reconfigurePending'."
    ::= { tmnxDhcpSvrSubnetStats6Entry 3 }

tmnxDhcpSvrSubnetStats6RmPending OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStats6RmPending indicates
         the number of leases in this subnet that are in state
         'removePending'."
    ::= { tmnxDhcpSvrSubnetStats6Entry 4 }

tmnxDhcpSvrSubnetStats6Declined OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value of tmnxDhcpSvrSubnetStats6Declined indicates
         the number of addresses in this subnet that are
         declined."
    ::= { tmnxDhcpSvrSubnetStats6Entry 5 }

-- --------------------------------------------------------
--  Notification Objects
-- --------------------------------------------------------
tmnxDhcpSvrNotifDescription OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The object tmnxDhcpSvrNotifDescription is a printable character string
         which contains information about the problem that occurred."
    ::= { tmnxDhcpServerNotificationObjs 1 }

tmnxDhcpSvrNotifUnknownPoolName OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The object tmnxDhcpSvrNotifUnknownPoolName indicates the 
         pppoe pool name which is not defined in the system."
    ::= { tmnxDhcpServerNotificationObjs 2 }

tmnxDhcpSvrNotifServerName OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifServerName indicates
         the name of this local DHCP server instance."
    ::= { tmnxDhcpServerNotificationObjs 3 }

tmnxDhcpSvrNotifLeaseClientAddrType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifLeaseClientAddrType indicates
         the address type of tmnxDhcpSvrNotifLeaseClientAddr."
    ::= { tmnxDhcpServerNotificationObjs 4 }

tmnxDhcpSvrNotifLeaseClientAddr OBJECT-TYPE
    SYNTAX      InetAddress (SIZE(4|16))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifLeaseClientAddr indicates
         the client IP address of this lease."
    ::= { tmnxDhcpServerNotificationObjs 5 }

tmnxDhcpSvrNotifUserDatabaseName OBJECT-TYPE
    SYNTAX      TNamedItem
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifUserDatabaseName indicates
         the name of this local user database."
    ::= { tmnxDhcpServerNotificationObjs 6 }

tmnxDhcpSvrNotifHostName OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..32))
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifHostName indicates
         the name of this host or set of hosts."
    ::= { tmnxDhcpServerNotificationObjs 7 }

tmnxDhcpSvrNotifHostType OBJECT-TYPE
    SYNTAX  INTEGER {
                unknown (0),
                dhcp    (1),
                pppoe   (2)
            }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifHostType indicates
         the type of the host."
    ::= { tmnxDhcpServerNotificationObjs 8 }

tmnxDhcpSvrNotifVRtrID  OBJECT-TYPE
    SYNTAX      TmnxVRtrID
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The  unique value which identifies this virtual router in the Tmnx
         system. "
    ::= { tmnxDhcpServerNotificationObjs 9 }

tmnxDhcpSvrNotifMsgHwAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrNotifMsgHwAddress indicates
         the MAC address from the received DHCP message."
    ::= { tmnxDhcpServerNotificationObjs 10 }

tmnxDhcpSvrNotifMsgOption82 OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrNotifMsgOption82 indicates
         the content of option 82 from the received DHCP message."
    ::= { tmnxDhcpServerNotificationObjs 11 }

tmnxDhcpSvrNotifMsgSizeLimit  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifMsgSizeLimit indicates
         the minimum of either the maximum DHCP message size or 
         the size provided by the client in the option 
         maximum DHCP message size."
    ::= { tmnxDhcpServerNotificationObjs 12 }

tmnxDhcpsFoLeaseFailureReason OBJECT-TYPE
    SYNTAX      TmnxDhcpsFoLeaseFailureReason
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpsFoLeaseFailureReason indicates
         the reason of a lease update failure that occurred in the failover 
         facility of a DHCP Server instance."
    ::= { tmnxDhcpServerNotificationObjs 13 }

tmnxDhcpSvrNotifPoolFree OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifPoolFree indicates
         the actual number of free addresses in the pool."
    ::= { tmnxDhcpServerNotificationObjs 14 }

tmnxDhcpSvrNotifLeaseClientAddrLen OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the object tmnxDhcpSvrNotifLeaseClientAddrLen indicates
         the prefix length of tmnxDhcpSvrNotifLeaseClientAddr."
    ::= { tmnxDhcpServerNotificationObjs 15 }

tmnxDhcpSvrNotifClientDUID OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of object tmnxDhcpSvrNotifClientDUID indicates
         the content of option 0x01 from the received DHCPv6 message."
    ::= { tmnxDhcpServerNotificationObjs 16 }

-- --------------------------------------------------------
--  Notifications
-- --------------------------------------------------------

tmnxDhcpSvrSubnetMinFreeExc NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrSubnetStatsFree,
        tmnxDhcpSvrSubnetMinFree,
        tmnxDhcpSvrSubnetMinFreeType
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrSubnetMinFreeExc notification is generated when the
         actual number of free addresses in a subnet falls below the desired
         minimum number.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 1 }

tmnxDhcpSvrHostConflict NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifVRtrID,
        tmnxDhcpSvrNotifServerName,
        tmnxDhcpSvrNotifLeaseClientAddrType,
        tmnxDhcpSvrNotifLeaseClientAddr,
        tmnxDhcpSvrNotifUserDatabaseName,
        tmnxDhcpSvrNotifHostType,
        tmnxDhcpSvrNotifHostName,
        tmnxDhcpSvrNotifDescription
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrHostConflict notification can be generated for
         hosts configured with a fixed IP address in the local user database.

         If such a host requests an IP address and the system detects that
         this IP address has already been handed out to another (dynamic) host,
         then the tmnxDhcpSvrHostConflict notification is generated.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 2 }

tmnxDhcpSvrPoolUnknown NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifVRtrID,
        tmnxDhcpSvrNotifServerName,
        tmnxDhcpSvrNotifUnknownPoolName,
        tmnxDhcpSvrNotifDescription
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrPoolUnknown notification is generated when the
         lookup in the local user database for a host returns a poolname
         which is not defined within the local DHCP server or the DHCP message
         contains an unknown pool name."
    ::= { tmnxDhcpServerNotifications 3 }

tmnxDhcpSvrLeaseNotOwner NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifVRtrID,
        tmnxDhcpSvrNotifServerName,
        tmnxDhcpSvrNotifLeaseClientAddrType,
        tmnxDhcpSvrNotifLeaseClientAddr,
        tmnxDhcpSvrNotifMsgHwAddress,
        tmnxDhcpSvrNotifMsgOption82,
        tmnxDhcpSvrNotifDescription,
        tmnxDhcpSvrNotifLeaseClientAddrLen,
        tmnxDhcpSvrNotifClientDUID 
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrLeaseNotOwner notification is generated
         when a DHCP message is received from a DHCP client that does not own
         the lease indicated by the IP address from the message."
    ::= { tmnxDhcpServerNotifications 4 }

tmnxDhcpSvrDeclineStaticAddr NOTIFICATION-TYPE
   OBJECTS {
       tmnxDhcpSvrNotifVRtrID,
       tmnxDhcpSvrNotifServerName,
       tmnxDhcpSvrNotifLeaseClientAddrType,
       tmnxDhcpSvrNotifLeaseClientAddr,
       tmnxDhcpSvrNotifMsgHwAddress,
       tmnxDhcpSvrNotifMsgOption82
   }
   STATUS      current
   DESCRIPTION
       "The tmnxDhcpSvrDeclineStaticAddr notification is generated
        when a DHCP decline message is received from a DHCP client that has
        a static IP address assigned.

        This notification is only generated for DHCP server instances
        with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
   ::= { tmnxDhcpServerNotifications 5 }

tmnxDhcpSvrMsgTooLong NOTIFICATION-TYPE
   OBJECTS {
       tmnxDhcpSvrNotifVRtrID,
       tmnxDhcpSvrNotifServerName,
       tmnxDhcpSvrNotifMsgHwAddress,
       tmnxDhcpSvrNotifMsgOption82,
       tmnxDhcpSvrNotifMsgSizeLimit,
       tmnxDhcpSvrNotifClientDUID
   }
   STATUS      current
   DESCRIPTION
       "The tmnxDhcpSvrMsgTooLong notification is generated
        when a DHCP message is built, but the message size either
        exceeds the maximum DHCP message size or the size provided
        by the client in the option maximum DHCP message size.
        A reason can be that too many options are defined on host,
        pool and subnet levels."
   ::= { tmnxDhcpServerNotifications 6 }

tmnxDhcpsFoStateChange NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpsFoState
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrLeaseNotOwner notification is generated
         when the failover state of the DHCP server instance changes.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 7 }

tmnxDhcpsFoLeaseUpdateFailed NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifVRtrID,
        tmnxDhcpSvrNotifServerName,
        tmnxDhcpSvrNotifLeaseClientAddrType,
        tmnxDhcpSvrNotifLeaseClientAddr,
        tmnxDhcpsFoLeaseFailureReason
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpsFoLeaseUpdateFailed notification is generated
         when a Binding Database Update (BNDUPD) packet received from the
         failover peer, cannot be processed successfully.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 8 }

tmnxDhcpSvrUserDbUnknown NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpServerCfgUserDatabase
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrUserDbUnknown notification is generated when the
         local DHCP server instance drops a DHCP message because a local user
         database with the name specified for this server instance could not be
         found.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 9 }

tmnxDhcpSvrMaxLeasesReached NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrMaxLeases
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrMaxLeasesReached notification is generated when any
         local DHCP server instance drops a DHCP message because 
         the maximum number of leases was reached."
    ::= { tmnxDhcpServerNotifications 10 }

tmnxDhcpSvrNoSubnetFixAddr NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifUserDatabaseName,
        tmnxDhcpSvrNotifHostType,
        tmnxDhcpSvrNotifHostName
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrNoSubnetFixAddr notification can be generated for
         hosts configured with a fixed IP address in the local user database.

         If such a host requests an ip-address and the system cannot find 
         a matching subnet in this server instance for this IP address,  
         then the tmnxDhcpSvrNoSubnetFixAddr notification is generated,
         and the request is dropped.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 11 }

tmnxDhcpSvrLeaseDefaultTimers NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifVRtrID,
        tmnxDhcpSvrNotifServerName,
        tmnxDhcpSvrNotifLeaseClientAddrType,
        tmnxDhcpSvrNotifLeaseClientAddr,
        tmnxDhcpSvrNotifDescription,
        tmnxDhcpSvrNotifLeaseClientAddrLen
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrLeaseDefaultTimers notification is generated
         when, for a particular DHCP client, the system has reverted to default 
         lease timer values, because the configuration of the lease timers
         was inconsistent.
         
         The lease renew time T1 and lease rebind time T2 have been reverted to 
         the default values of 1/2 and 2/3 of the lease time."
    ::= { tmnxDhcpServerNotifications 12 }

tmnxDhcpSvrPoolMinFreeExc NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrNotifPoolFree,
        tmnxDhcpServerPoolMinFree,
        tmnxDhcpServerPoolMinFreeType
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrPoolMinFreeExc notification is generated when the
         actual number of free addresses in a pool falls below the desired
         minimum number.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 13 }

tmnxDhcpSvrSubnetDepleted NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpSvrSubnetRowStatus
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrSubnetDepleted notification is generated when the
         actual number of free addresses becomes zero.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 14 }

tmnxDhcpSvrPoolDepleted NOTIFICATION-TYPE
    OBJECTS {
        tmnxDhcpServerPoolRowStatus
    }
    STATUS      current
    DESCRIPTION
        "The tmnxDhcpSvrPoolDepleted notification is generated when the
         actual number of free addresses becomes zero.

         This notification is only generated for DHCP server instances
         with the value of tmnxDhcpServerCfgAddrType set to 'ipv4(1)'."
    ::= { tmnxDhcpServerNotifications 15 }

-- ----------------------------------------------------------------------------
--  Conformance Groups
-- ----------------------------------------------------------------------------
tmnxDhcpServerGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpServerConfigTableLastCh,
        tmnxDhcpServerCfgRowStatus,
        tmnxDhcpServerCfgLastChangeTime,
        tmnxDhcpServerCfgAdminState,
        tmnxDhcpServerCfgDescription,
        tmnxDhcpServerCfgUserDatabase,
        tmnxDhcpServerCfgUseGiAddress,
        tmnxDhcpServerCfgSendForceRenews,
        tmnxDhcpServerCfgOperState,
        tmnxDhcpServerPoolTableLastCh,
        tmnxDhcpServerPoolRowStatus,
        tmnxDhcpServerPoolLastChangeTime,
        tmnxDhcpServerPoolDescription,
        tmnxDhcpServerPoolMinLeaseTime,
        tmnxDhcpServerPoolMaxLeaseTime,
        tmnxDhcpServerPoolOfferTime,
        tmnxDhcpSvrPoolOptionTableLastCh,
        tmnxDhcpSvrPoolOptionRowStatus,
        tmnxDhcpSvrPoolOptionLastCh,
        tmnxDhcpSvrPoolOptionType,
        tmnxDhcpSvrPoolOptionValue,
        tmnxDhcpServerSubnetTableLastCh,
        tmnxDhcpSvrSubnetRowStatus,
        tmnxDhcpSvrSubnetLastChangeTime,
        tmnxDhcpSvrSubnetMinFree,
        tmnxDhcpSvrSubnetMaxDeclined,
        tmnxDhcpSvrSubnetRangesTblLastCh,
        tmnxDhcpSvrSubnetRangesRowStatus,
        tmnxDhcpSvrSubnetRangesLastCh,
        tmnxDhcpSvrSubnetOptionTblLastCh,
        tmnxDhcpSvrSubnetOptionRowStatus,
        tmnxDhcpSvrSubnetOptionLastCh,
        tmnxDhcpSvrSubnetOptionType,
        tmnxDhcpSvrSubnetOptionValue
    }
    STATUS      obsolete
    DESCRIPTION
        "The group of objects supporting DHCP server capability
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 1 }

tmnxDhcpLeaseGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrLeaseState,
        tmnxDhcpSvrLeaseStart,
        tmnxDhcpSvrLeaseLastRenew,
        tmnxDhcpSvrLeaseRemainLeaseTime,
        tmnxDhcpSvrLeaseRemPotentExpTime,
        tmnxDhcpSvrLeaseClientHwAddress,
        tmnxDhcpSvrLeaseXid,
        tmnxDhcpSvrLeaseOption82,
        tmnxDhcpSvrLeaseClientType,
        tmnxDhcpSvrLeasePPPoEUserName,
        tmnxDhcpSvrLeaseOpt82CircId,
        tmnxDhcpSvrLeaseOption60,
        tmnxDhcpSvrNumLeases,
        tmnxDhcpSvrMaxLeases
    }
    STATUS      current
    DESCRIPTION
        "The group of objects providing DHCP lease information
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 2 }

tmnxDhcpStatsGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrStatsRxDiscovers,
        tmnxDhcpSvrStatsRxRequests,
        tmnxDhcpSvrStatsRxReleases,
        tmnxDhcpSvrStatsRxDeclines,
        tmnxDhcpSvrStatsRxInforms,
        tmnxDhcpSvrStatsTxOffers,
        tmnxDhcpSvrStatsTxAcks,
        tmnxDhcpSvrStatsTxNaks,
        tmnxDhcpSvrStatsTxForceRenews,
        tmnxDhcpSvrStatsDropBadPackets,
        tmnxDhcpSvrStatsDropInvalidTypes,
        tmnxDhcpSvrStatsDropNoUsrDbFound,
        tmnxDhcpSvrStatsDropUnknownHosts,
        tmnxDhcpSvrStatsDropUserNotAllow,
        tmnxDhcpSvrStatsDropLseNotReady,
        tmnxDhcpSvrStatsDropNoLeaseFound,
        tmnxDhcpSvrStatsDropNotSrvngPool,
        tmnxDhcpSvrStatsDropInvalidUsr,
        tmnxDhcpSvrStatsDropOverload,
        tmnxDhcpSvrStatsDropPersOverload,
        tmnxDhcpSvrStatsOffersIgnore,
        tmnxDhcpSvrStatsDropGenError,
        tmnxDhcpSvrStatsDropDestOther,
        tmnxDhcpSvrStatsDropAddrUnavail,
        tmnxDhcpSvrStatsDropMaxReached,
        tmnxDhcpSvrStatsDropSvrDown,
        tmnxDhcpSvrStatsDropNoSubnet,
        tmnxDhcpSvrStatsLeasesExpired,
        tmnxDhcpSvrSubnetStatsFree,
        tmnxDhcpSvrSubnetStatsOffered,
        tmnxDhcpSvrSubnetStatsStable,
        tmnxDhcpSvrSubnetStatsFRPending,
        tmnxDhcpSvrSubnetStatsRemPending,
        tmnxDhcpSvrSubnetStatsDeclined
    }
    STATUS      obsolete
    DESCRIPTION
        "The group of objects providing DHCP statistics
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 3 }

tmnxDhcpAddrListGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrDeclinedAddrAddedTime,
        tmnxDhcpSvrDeclinedAddrHwAddress,
        tmnxDhcpSvrDeclinedAddrOption82,
        tmnxDhcpSvrDeclinedAddrClientType,
        tmnxDhcpSvrDeclinedAddrUserName,
        tmnxDhcpSvrDeclinedAddrCircId
    }
    STATUS      current
    DESCRIPTION
        "The group of objects providing information for DHCP
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 4 }

tmnxDhcpToolsGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrActForceRenewAddrType,
        tmnxDhcpSvrActForceRenewAddr
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server capability
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 5 }

tmnxDhcpsFailoverGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpsFoTableLastChanged,
        tmnxDhcpsFoLastChanged,
        tmnxDhcpsFoAdminState,
        tmnxDhcpsFoMaxClientLeadTime,
        tmnxDhcpsFoOperMaxClientLeadTime,
        tmnxDhcpsFoStartupWaitTime,
        tmnxDhcpsFoPartnerDownDelay,
        tmnxDhcpsFoState,
        tmnxDhcpsFoTimeLeft,
        tmnxDhcpSvrSubnetRangeFailCtrl,
        tmnxDhcpSvrLeaseFailCtrl,
        tmnxDhcpSvrFreeAddrFailCtrl,
        tmnxDhcpSvrSubnetStatsFoFree,
        tmnxDhcpSvrSubnetStatsFoOffered,
        tmnxDhcpSvrSubnetStatsFoStable,
        tmnxDhcpSvrSubnetStatsFoFRPend,
        tmnxDhcpSvrSubnetStatsFoRemPend,
        tmnxDhcpSvrSubnetStatsFoDeclined,
        tmnxDhcpsFoStatsLeaseNotFound,
        tmnxDhcpsFoStatsDropInvalidPkts,
        tmnxDhcpsFoStatsFoShutdown,
        tmnxDhcpsFoStatsExpired,
        tmnxDhcpsFoStatsMaxReached,
        tmnxDhcpsFoStatsSubnetNotFound,
        tmnxDhcpsFoStatsRangeNotFound,
        tmnxDhcpsFoStatsHostConflict,
        tmnxDhcpsFoStatsAddressConflict,
        tmnxDhcpsFoStatsPeerConflict,
        tmnxDhcpsFoActionVRtrId,
        tmnxDhcpsFoActionServerName,
        tmnxDhcpsFoActionType,
        tmnxDhcpsFoActionGo,
        tmnxDhcpsFoActionSuccessful,
        tmnxDhcpsFoActionErrorMsg,
        tmnxDhcpsFoActionTime
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server failover capability
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 6 }

tmnxDhcpsNotifyObjsGroup OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrNotifDescription,
        tmnxDhcpSvrNotifUnknownPoolName,
        tmnxDhcpSvrNotifServerName,
        tmnxDhcpSvrNotifLeaseClientAddrType,
        tmnxDhcpSvrNotifLeaseClientAddr,
        tmnxDhcpSvrNotifUserDatabaseName,
        tmnxDhcpSvrNotifHostName,
        tmnxDhcpSvrNotifHostType,
        tmnxDhcpSvrNotifVRtrID,
        tmnxDhcpSvrNotifMsgHwAddress,
        tmnxDhcpSvrNotifMsgOption82,
        tmnxDhcpSvrNotifMsgSizeLimit,
        tmnxDhcpsFoLeaseFailureReason,
        tmnxDhcpSvrNotifPoolFree
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server notifications
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerGroups 7 }

tmnxDhcpServerV6v1Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpServerConfigTableLastCh,
        tmnxDhcpServerCfgRowStatus,
        tmnxDhcpServerCfgLastChangeTime,
        tmnxDhcpServerCfgAdminState,
        tmnxDhcpServerCfgDescription,
        tmnxDhcpServerCfgUserDatabase,
        tmnxDhcpServerCfgUseGiAddress,
        tmnxDhcpServerCfgSendForceRenews,
        tmnxDhcpServerCfgUseClientPool,
        tmnxDhcpServerCfgOperState,
        tmnxDhcpServerPoolTableLastCh,
        tmnxDhcpServerPoolRowStatus,
        tmnxDhcpServerPoolLastChangeTime,
        tmnxDhcpServerPoolDescription,
        tmnxDhcpServerPoolMinLeaseTime,
        tmnxDhcpServerPoolMaxLeaseTime,
        tmnxDhcpServerPoolOfferTime,
        tmnxDhcpSvrPoolOptionTableLastCh,
        tmnxDhcpSvrPoolOptionRowStatus,
        tmnxDhcpSvrPoolOptionLastCh,
        tmnxDhcpSvrPoolOptionType,
        tmnxDhcpSvrPoolOptionValue,
        tmnxDhcpServerSubnetTableLastCh,
        tmnxDhcpSvrSubnetRowStatus,
        tmnxDhcpSvrSubnetLastChangeTime,
        tmnxDhcpSvrSubnetMinFree,
        tmnxDhcpSvrSubnetMaxDeclined,
        tmnxDhcpSvrSubnetRangesTblLastCh,
        tmnxDhcpSvrSubnetRangesRowStatus,
        tmnxDhcpSvrSubnetRangesLastCh,
        tmnxDhcpSvrSubnetOptionTblLastCh,
        tmnxDhcpSvrSubnetOptionRowStatus,
        tmnxDhcpSvrSubnetOptionLastCh,
        tmnxDhcpSvrSubnetOptionType,
        tmnxDhcpSvrSubnetOptionValue
    }
    STATUS      obsolete
    DESCRIPTION
        "The group of objects supporting DHCP server capability
         on Alcatel-Lucent SROS series systems release 6.1."
    ::= { tmnxDhcpServerGroups 8 }

tmnxDhcpStatsV6v1Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrStatsRxDiscovers,
        tmnxDhcpSvrStatsRxRequests,
        tmnxDhcpSvrStatsRxReleases,
        tmnxDhcpSvrStatsRxDeclines,
        tmnxDhcpSvrStatsRxInforms,
        tmnxDhcpSvrStatsTxOffers,
        tmnxDhcpSvrStatsTxAcks,
        tmnxDhcpSvrStatsTxNaks,
        tmnxDhcpSvrStatsTxForceRenews,
        tmnxDhcpSvrStatsDropBadPackets,
        tmnxDhcpSvrStatsDropInvalidTypes,
        tmnxDhcpSvrStatsDropNoUsrDbFound,
        tmnxDhcpSvrStatsDropUnknownHosts,
        tmnxDhcpSvrStatsDropUserNotAllow,
        tmnxDhcpSvrStatsDropLseNotReady,
        tmnxDhcpSvrStatsDropNoLeaseFound,
        tmnxDhcpSvrStatsDropNotSrvngPool,
        tmnxDhcpSvrStatsDropInvalidUsr,
        tmnxDhcpSvrStatsDropOverload,
        tmnxDhcpSvrStatsDropPersOverload,
        tmnxDhcpSvrStatsOffersIgnore,
        tmnxDhcpSvrStatsDropGenError,
        tmnxDhcpSvrStatsDropDestOther,
        tmnxDhcpSvrStatsDropAddrUnavail,
        tmnxDhcpSvrStatsDropMaxReached,
        tmnxDhcpSvrStatsDropSvrDown,
        tmnxDhcpSvrStatsDropNoSubnet,
        tmnxDhcpSvrStatsLeasesExpired,
        tmnxDhcpSvrStatsDropDuplDiffGi,
        tmnxDhcpSvrSubnetStatsFree,
        tmnxDhcpSvrSubnetStatsOffered,
        tmnxDhcpSvrSubnetStatsStable,
        tmnxDhcpSvrSubnetStatsFRPending,
        tmnxDhcpSvrSubnetStatsRemPending,
        tmnxDhcpSvrSubnetStatsDeclined
    }
    STATUS      obsolete
    DESCRIPTION
        "The group of objects providing DHCP statistics
         on Alcatel-Lucent SROS series systems release 6.1."
    ::= { tmnxDhcpServerGroups 9 }

tmnxDhcpServerV8v0Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpServerConfigTableLastCh,
        tmnxDhcpServerCfgRowStatus,
        tmnxDhcpServerCfgLastChangeTime,
        tmnxDhcpServerCfgAdminState,
        tmnxDhcpServerCfgDescription,
        tmnxDhcpServerCfgUserDatabase,
        tmnxDhcpServerCfgUseGiAddress,
        tmnxDhcpServerCfgSendForceRenews,
        tmnxDhcpServerCfgUseClientPool,
        tmnxDhcpServerCfgOperState,
        tmnxDhcpServerPoolTableLastCh,
        tmnxDhcpServerPoolRowStatus,
        tmnxDhcpServerPoolLastChangeTime,
        tmnxDhcpServerPoolDescription,
        tmnxDhcpServerPoolMinLeaseTime,
        tmnxDhcpServerPoolMaxLeaseTime,
        tmnxDhcpServerPoolOfferTime,
        tmnxDhcpSvrPoolOptionTableLastCh,
        tmnxDhcpSvrPoolOptionRowStatus,
        tmnxDhcpSvrPoolOptionLastCh,
        tmnxDhcpSvrPoolOptionType,
        tmnxDhcpSvrPoolOptionValue,
        tmnxDhcpServerSubnetTableLastCh,
        tmnxDhcpSvrSubnetRowStatus,
        tmnxDhcpSvrSubnetLastChangeTime,
        tmnxDhcpSvrSubnetMinFree,
        tmnxDhcpSvrSubnetMaxDeclined,
        tmnxDhcpSvrSubnetRangesTblLastCh,
        tmnxDhcpSvrSubnetRangesRowStatus,
        tmnxDhcpSvrSubnetRangesLastCh,
        tmnxDhcpSvrSubnetOptionTblLastCh,
        tmnxDhcpSvrSubnetOptionRowStatus,
        tmnxDhcpSvrSubnetOptionLastCh,
        tmnxDhcpSvrSubnetOptionType,
        tmnxDhcpSvrSubnetOptionValue,
        tmnxDhcpSvrSubnetMinFreeType,
        tmnxDhcpServerPoolMinFree,
        tmnxDhcpServerPoolMinFreeType
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server capability
         on Alcatel-Lucent SROS series systems release 8.0."
    ::= { tmnxDhcpServerGroups 10 }

tmnxDhcpStatsV8v0Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrStatsRxDiscovers,
        tmnxDhcpSvrStatsRxRequests,
        tmnxDhcpSvrStatsRxReleases,
        tmnxDhcpSvrStatsRxDeclines,
        tmnxDhcpSvrStatsRxInforms,
        tmnxDhcpSvrStatsTxOffers,
        tmnxDhcpSvrStatsTxAcks,
        tmnxDhcpSvrStatsTxNaks,
        tmnxDhcpSvrStatsTxForceRenews,
        tmnxDhcpSvrStatsDropBadPackets,
        tmnxDhcpSvrStatsDropInvalidTypes,
        tmnxDhcpSvrStatsDropNoUsrDbFound,
        tmnxDhcpSvrStatsDropUnknownHosts,
        tmnxDhcpSvrStatsDropUserNotAllow,
        tmnxDhcpSvrStatsDropLseNotReady,
        tmnxDhcpSvrStatsDropNoLeaseFound,
        tmnxDhcpSvrStatsDropNotSrvngPool,
        tmnxDhcpSvrStatsDropInvalidUsr,
        tmnxDhcpSvrStatsDropOverload,
        tmnxDhcpSvrStatsDropPersOverload,
        tmnxDhcpSvrStatsOffersIgnore,
        tmnxDhcpSvrStatsDropGenError,
        tmnxDhcpSvrStatsDropDestOther,
        tmnxDhcpSvrStatsDropAddrUnavail,
        tmnxDhcpSvrStatsDropMaxReached,
        tmnxDhcpSvrStatsDropSvrDown,
        tmnxDhcpSvrStatsDropNoSubnet,
        tmnxDhcpSvrStatsLeasesExpired,
        tmnxDhcpSvrStatsDropDuplDiffGi,
        tmnxDhcpSvrSubnetStatsFree,
        tmnxDhcpSvrSubnetStatsOffered,
        tmnxDhcpSvrSubnetStatsStable,
        tmnxDhcpSvrSubnetStatsFRPending,
        tmnxDhcpSvrSubnetStatsRemPending,
        tmnxDhcpSvrSubnetStatsDeclined,
        tmnxDhcpSvrSubnetStatsProv,
        tmnxDhcpSvrSubnetStatsFoProv
    }
    STATUS      current
    DESCRIPTION
        "The group of objects providing DHCP statistics
         on Alcatel-Lucent SROS series systems release 8.0."
    ::= { tmnxDhcpServerGroups 11 }

tmnxDhcpServerV9v0Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpServerCfgAddrType,
        tmnxDhcpServerCfgLeaseHoldTime,
        tmnxDhcpServerCfgUseGiScope,
        tmnxDhcpSvrSubnetRenewTimer,
        tmnxDhcpSvrSubnetRebindTimer,
        tmnxDhcpSvrSubnetValidLifetime,
        tmnxDhcpSvrSubnetPrefLifetime,
        tmnxDhcpSvrLeaseClientPrefixLen,
        tmnxDhcpSvrLeaseIAOptionType,
        tmnxDhcpSvrLeaseIAID,
        tmnxDhcpSvrLeaseDUID,
        tmnxDhcpSvrLeaseRemainHoldTime
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server capability
         on Alcatel-Lucent SROS series systems added in release 9.0."
    ::= { tmnxDhcpServerGroups 12 }

tmnxDhcpStatsV9v0Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrStats6RxSolicits,
        tmnxDhcpSvrStats6TxAdvertises,
        tmnxDhcpSvrStats6RxRequests,
        tmnxDhcpSvrStats6RxConfirms,
        tmnxDhcpSvrStats6RxRenews,
        tmnxDhcpSvrStats6RxRebinds,
        tmnxDhcpSvrStats6RxDeclines,
        tmnxDhcpSvrStats6RxReleases,
        tmnxDhcpSvrStats6TxReplies,
        tmnxDhcpSvrStats6TxReconfigures,
        tmnxDhcpSvrStats6RxInfRequests,
        tmnxDhcpSvrStats6DropBadPackets, 
        tmnxDhcpSvrStats6DropInvldTypes,
        tmnxDhcpSvrStats6DropLseNotReady,
        tmnxDhcpSvrStats6DropNoSrvngPool,
        tmnxDhcpSvrStats6DropOverload,
        tmnxDhcpSvrStats6DropPerOverload,
        tmnxDhcpSvrStats6OffersIgnore,
        tmnxDhcpSvrStats6DropGenError,
        tmnxDhcpSvrStats6DropDestOther,
        tmnxDhcpSvrStats6DropMaxReached,
        tmnxDhcpSvrStats6DropSvrDown,
        tmnxDhcpSvrStats6LeasesExpired,
        tmnxDhcpSvrSubnetStats6Advertise,
        tmnxDhcpSvrSubnetStats6Stable,
        tmnxDhcpSvrSubnetStats6RCPending,
        tmnxDhcpSvrSubnetStats6RmPending,
        tmnxDhcpSvrSubnetStats6Declined
    }
    STATUS      current
    DESCRIPTION
        "The group of objects providing DHCP statistics
         on Alcatel-Lucent SROS series systems since release 9.0."
    ::= { tmnxDhcpServerGroups 13 }

tmnxDhcpsNotifyObjsV9v0Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpSvrNotifLeaseClientAddrLen,
        tmnxDhcpSvrNotifClientDUID
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server notifications
         on Alcatel-Lucent SROS series systems since release 9.0."
    ::= { tmnxDhcpServerGroups 14 }

tmnxDhcpServerV10v0Group OBJECT-GROUP
    OBJECTS {
        tmnxDhcpServerPoolDepletedEvent,
        tmnxDhcpSvrSubnetDepletedEvent,
        tmnxDhcpSvrSubnetFailCtrl,
        tmnxDhcpServerCfgIgnRapidCommit,
        tmnxDhcpServerCfgUserIdent,
        tmnxDhcpServerCfgItfIdMapping,
        tmnxDhcpSvrLeaseRelayInterfaceId,
        tmnxDhcpSvrLeaseLDRAInterfaceId,
        tmnxDhcpSvrLeaseLnkLclAddrType,
        tmnxDhcpSvrLeaseLnkLclAddress,
        tmnxDhcpSvrSubnetPrefixType,
        tmnxDhcpSvrStats6DropDuplDiffRly
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting DHCP server capability
         on Alcatel-Lucent SROS series systems added in release 10.0."
    ::= { tmnxDhcpServerGroups 15 }

----------------------------------------------
--  NOTIFICATION-GROUPS
----------------------------------------------
tmnxDhcpSvrNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tmnxDhcpSvrSubnetMinFreeExc,
        tmnxDhcpSvrHostConflict,
        tmnxDhcpSvrPoolUnknown,
        tmnxDhcpSvrLeaseNotOwner,
        tmnxDhcpSvrDeclineStaticAddr,
        tmnxDhcpSvrMsgTooLong,
        tmnxDhcpSvrUserDbUnknown,
        tmnxDhcpSvrMaxLeasesReached,
        tmnxDhcpSvrNoSubnetFixAddr,
        tmnxDhcpSvrLeaseDefaultTimers,
        tmnxDhcpSvrPoolMinFreeExc
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting traps for the DHCP server capability
         on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerNotifGroups 1 }

tmnxDhcpSvrFoNotifGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
        tmnxDhcpsFoStateChange,
        tmnxDhcpsFoLeaseUpdateFailed
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting traps for the failover facility
         of a DHCP server instance on Alcatel-Lucent SROS series systems."
    ::= { tmnxDhcpServerNotifGroups 2 }

tmnxDhcpSvrNotifV10v0Group NOTIFICATION-GROUP
    NOTIFICATIONS {
        tmnxDhcpSvrSubnetDepleted,
        tmnxDhcpSvrPoolDepleted
    }
    STATUS      current
    DESCRIPTION
        "The group of objects supporting traps for the DHCP server capability
         on Alcatel-Lucent SROS series systems since release 10.0."
    ::= { tmnxDhcpServerNotifGroups 3 }

-- ----------------------------------------------------------------------------
--  Conformance information
-- ----------------------------------------------------------------------------
tmnxDhcpServerCompliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
        "The compliance statement for management of DHCP Server
         on Alcatel-Lucent SROS series systems."
    MODULE  -- this module
        MANDATORY-GROUPS {
            tmnxDhcpServerGroup,
            tmnxDhcpLeaseGroup,
            tmnxDhcpStatsGroup,
            tmnxDhcpAddrListGroup,
            tmnxDhcpToolsGroup,
            tmnxDhcpSvrNotifGroup,
            tmnxDhcpsFailoverGroup,
            tmnxDhcpSvrFoNotifGroup
        }
    ::= { tmnxDhcpServerCompliances 1 }

tmnxDhcpServerV6v1Compliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
        "The compliance statement for management of DHCP Server
         on Alcatel-Lucent SROS series systems."
    MODULE  -- this module
        MANDATORY-GROUPS {
            tmnxDhcpServerV6v1Group,
            tmnxDhcpLeaseGroup,
            tmnxDhcpStatsV6v1Group,
            tmnxDhcpAddrListGroup,
            tmnxDhcpToolsGroup,
            tmnxDhcpSvrNotifGroup,
            tmnxDhcpsFailoverGroup,
            tmnxDhcpSvrFoNotifGroup
        }
    ::= { tmnxDhcpServerCompliances 2 }

tmnxDhcpServerV8v0Compliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
        "The compliance statement for management of DHCP Server
         on Alcatel-Lucent SROS series systems release 8.0."
    MODULE  -- this module
        MANDATORY-GROUPS {
            tmnxDhcpServerV8v0Group,
            tmnxDhcpLeaseGroup,
            tmnxDhcpStatsV8v0Group,
            tmnxDhcpAddrListGroup,
            tmnxDhcpToolsGroup,
            tmnxDhcpSvrNotifGroup,
            tmnxDhcpsFailoverGroup,
            tmnxDhcpSvrFoNotifGroup
        }
    ::= { tmnxDhcpServerCompliances 3 }

tmnxDhcpServerV9v0Compliance MODULE-COMPLIANCE
    STATUS  obsolete
    DESCRIPTION
        "The compliance statement for management of DHCP Server
         on Alcatel-Lucent SROS series systems release 9.0."
    MODULE  -- this module
        MANDATORY-GROUPS {
            tmnxDhcpServerV8v0Group,
            tmnxDhcpServerV9v0Group,
            tmnxDhcpLeaseGroup,
            tmnxDhcpStatsV8v0Group,
            tmnxDhcpStatsV9v0Group,
            tmnxDhcpAddrListGroup,
            tmnxDhcpToolsGroup,
            tmnxDhcpSvrNotifGroup,
            tmnxDhcpsFailoverGroup,
            tmnxDhcpSvrFoNotifGroup
        }
    ::= { tmnxDhcpServerCompliances 4 }

tmnxDhcpServerV10v0Compliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for management of DHCP Server
         on Alcatel-Lucent SROS series systems release 10.0."
    MODULE  -- this module
        MANDATORY-GROUPS {
            tmnxDhcpServerV8v0Group,
            tmnxDhcpServerV9v0Group,
            tmnxDhcpServerV10v0Group,
            tmnxDhcpLeaseGroup,
            tmnxDhcpStatsV8v0Group,
            tmnxDhcpStatsV9v0Group,
            tmnxDhcpAddrListGroup,
            tmnxDhcpToolsGroup,
            tmnxDhcpSvrNotifGroup,
            tmnxDhcpSvrNotifV10v0Group,
            tmnxDhcpsFailoverGroup,
            tmnxDhcpSvrFoNotifGroup
        }
    ::= { tmnxDhcpServerCompliances 5 }

END

