--**MOD+***********************************************************************
--* Module:    hpicfDhcpv4Server.mib
--*
-- Copyright (C) 2012,2014-2015 Hewlett Packard Enterprise Development LP
-- All Rights Reserved.
--
-- The contents of this software are proprietary and confidential to
-- the Hewlett Packard Enterprise Development LP. No part of this
-- program may be photocopied, reproduced, or translated into another
-- programming language without prior written consent of the
-- Hewlett Packard Enterprise Development LP.
--*
--* Purpose: This file contains MIB definition of HP-ICF-DHCPV4-SERVER MIB
--*
--**MOD-***********************************************************************

HP-ICF-DHCPV4-SERVER-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE,
        Integer32, Unsigned32, Counter32
            FROM SNMPv2-SMI
        OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
            FROM SNMPv2-CONF
        SnmpAdminString
            FROM SNMP-FRAMEWORK-MIB
        TruthValue, RowStatus, MacAddress, DateAndTime, DisplayString
            FROM SNMPv2-TC
        TEXTUAL-CONVENTION
            FROM SNMPv2-TC
        ifName
            FROM IF-MIB
        VidList
            FROM HP-ICF-FTRCO
        hpSwitch
            FROM HP-ICF-OID;

    hpicfDhcpv4ServerMIB MODULE-IDENTITY
        LAST-UPDATED "201510150000Z"      -- Oct 15, 2015
        ORGANIZATION "HP Networking"
        CONTACT-INFO "Hewlett-Packard Company
                      8000 Foothills Blvd.
                      Roseville, CA 95747"
        DESCRIPTION  "This MIB module is for entities implementing 
                      the server side of the Bootstrap Protocol (BOOTP)
                      and the Dynamic Host Configuration protocol (DHCP)
                      for Internet Protocol version 4(IPv4)."

        REVISION     "201510150000Z"     -- Oct 15, 2015
        DESCRIPTION  "Added hpicfDhcpv4ServerOperStatus"

        REVISION     "201501280000Z"      -- Jan 28, 2015
        DESCRIPTION  "Added hpicfDhcpv4ServerDBFTPort, hpicfDhcpv4ServerDBSFTPUsername,
                      hpicfDhcpv4ServerDBSFTPPassword, hpicfDhcpv4ServerDBValidateSFTPServer"

        REVISION     "201403070000Z"      -- Mar 07, 2014
        DESCRIPTION  "Added hpicfDhcpv4ServerPoolIsAuthoritative"

        REVISION     "201304050000Z"      -- April 05, 2013
        DESCRIPTION  "The initial version of this MIB module"

        ::= { hpSwitch 99 }

-- -------------------------------------------------------------
-- Start of MIB Objects
-- -------------------------------------------------------------
hpicfDhcpv4ServerNotifs    OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerMIB 0 }
hpicfDhcpv4ServerObjects   OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerMIB 1 }
hpicfDhcpv4LeaseDataBase   OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 1 }
hpicfDhcpv4BootpCounters   OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 2 }
hpicfDhcpv4Counters        OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 3 }
hpicfDhcpv4IpPool          OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 4 }
hpicfDhcpv4PoolIpRange     OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 5 }
hpicfDhcpv4PoolOption      OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 6 }
hpicfDhcpv4PoolDynamicBind OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 7 }
hpicfDhcpv4ServerConflicts OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerObjects 8 }
hpicfDhcpv4ServerConform   OBJECT IDENTIFIER ::= { hpicfDhcpv4ServerMIB 2 }

--
-- MIB objects
--

   InetAddressIPv4 ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "1d.1d.1d.1d"
       STATUS       current
       DESCRIPTION
           "Represents an IPv4 network address:

              octets   contents         encoding
               1-4     IPv4 address     network-byte order

            The corresponding InetAddressType value is ipv4(1).

            This textual convention SHOULD NOT be used directly in object
            definitions since it restricts addresses to a specific format.
            However, if it is used, it MAY be used either on its own or in
            conjunction with InetAddressType as a pair."
       SYNTAX       OCTET STRING (SIZE (4))


-- ------------------------------------------------------------
-- DHCPv4 server - Scalar Objects
-- ------------------------------------------------------------

    hpicfDhcpv4ServerEnable OBJECT-TYPE
        SYNTAX      INTEGER {
                        enable (1),
                        disable (2),
                        disableWithClearConfig (3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Global configuration to enable or disable DHCPv4 server
                     on the device. The 'disableWithClearConfig' enum
                     disables DHCPv4 Server along with removing all the
                     DHCPv4 Server related configuration."
        DEFVAL       { disable }
        ::= { hpicfDhcpv4ServerObjects 10 }

--
-- DHCPv4 Ping parameters
--
    hpicfDhcpv4PingPktNumber OBJECT-TYPE
        SYNTAX      Integer32 (0..10)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object specifies the number of ping packets
                     sent by DHCP server to an IP address before
                     assigning this address to a requesting client."
        DEFVAL       { 2 }
        ::= { hpicfDhcpv4ServerObjects 11 }

    hpicfDhcpv4PingTimeOut OBJECT-TYPE
        SYNTAX      Integer32 (1..10)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object specifies the amount of time the DHCPv4
                     server must wait before timing out a ping packet."
        DEFVAL       { 1 }
        ::= { hpicfDhcpv4ServerObjects 12 }

--
-- Clear DHCPv4 statistics
--

    hpicfDhcpv4ClearStatistics    OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "All the DHCPv4 server and BOOTP statistics will be cleared
                     when this object is set to 'true'. An SNMP 'get' on
                     this object will always return 'false'."
        ::= { hpicfDhcpv4ServerObjects 13 }

    hpicfDhcpv4ClearBindings OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "When the IP address of this object is set to 0.0.0.0, all
                     IP bindings will be cleared. Specific IP binding will be
                     cleared when IP address is provided. An SNMP 'get' on
                     this object will always return 0.0.0.0 ."
        ::= { hpicfDhcpv4ServerObjects 14 }

    hpicfDhcpv4ClearConflictIP OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "When the value of this object is set to 0.0.0.0, all
                     conflicts will be cleared. Specific IP conflict will be
                     cleared when IP address is provided. An SNMP 'get' on
                     this object will always return 0.0.0.0 ."
        ::= { hpicfDhcpv4ServerObjects 15 }

--
-- Enable DHCPv4 conflicts logging
--

    hpicfDhcpv4ConflictsLog    OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Global configuration to enable or disable DHCPv4 server
                     conflicting address logging."
        DEFVAL      { false }
        ::= { hpicfDhcpv4ServerObjects 16 }

--
-- Enable DHCPv4 server notifications
--

    hpicfDhcpv4TrapEnable OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object will enables or disables the DHCPv4 server 
                     traps."
        DEFVAL      { true }
        ::= { hpicfDhcpv4ServerObjects 17 }

--
-- Enable DHCPv4 server on VLAN
--

    hpicfDhcpv4ServerVlanEnable OBJECT-TYPE
        SYNTAX      VidList
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Specifies the VLANs on which DHCPv4 server is enabled."
        ::= { hpicfDhcpv4ServerObjects 18 }

--
-- DHCPv4 protocol status
--
   hpicfDhcpv4ServerOperStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        disabled(0),
                        enabled(1),
                        paused(2),
                        inprogress(3),
                        shuttingdown(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Specifies operational status of DHCPv4 protocol."
        DEFVAL      { disabled }
        ::= { hpicfDhcpv4ServerObjects 19 }



--


--
-- DHCPv4 lease database
--

    hpicfDhcpv4ServerDBFile OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A location to store the lease database, to retrieve it
                     after a reboot.  The location  must be given in the form
                     of a URL as defined in RFC 2396.
                     The allowed character sets and the encoding rules defined
                     in RFC 2396 section 2 apply."
        ::= { hpicfDhcpv4LeaseDataBase 1 }

    hpicfDhcpv4ServerDBWriteDelay OBJECT-TYPE
        SYNTAX      Unsigned32 (15..86400)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of seconds to delay writing the DHCP lease
                     database file after a database change. This potentially
                     allows grouping multiple database changes into a single
                     write.  The default is 300 seconds."
        DEFVAL      { 300 }
        ::= { hpicfDhcpv4LeaseDataBase 2 }

    hpicfDhcpv4ServerDBWriteTimeout OBJECT-TYPE
        SYNTAX      Unsigned32 (0..86400)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The number of seconds to wait for the database file
                     transfer to finish before giving up and declaring a
                     failure. A value of 0 means continue retrying
                     indefinitely."
        DEFVAL      { 300 }
        ::= { hpicfDhcpv4LeaseDataBase 3 }

    hpicfDhcpServerDBFileWriteAttempts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of attempts that have been made to write the 
                     DHCP lease database to a configured file location."
        ::= {hpicfDhcpv4LeaseDataBase 4 }    

    hpicfDhcpServerDBFileWriteFailures OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Number of times that an attempt to write the DHCP lease
                     database to a configured file location has failed."
        ::= { hpicfDhcpv4LeaseDataBase 5 }  

    hpicfDhcpServerDBFileReadStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        notConfigured(1),
                        inProgress(2),
                        succeeded(3),
                        failed(4)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object indicates whether we were able to successfully
                     load the DHCP lease database from the configured location
                     after the last reboot."
        ::= { hpicfDhcpv4LeaseDataBase 6 }

    hpicfDhcpServerDBFileWriteStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        notConfigured(1),
                        delaying(2),
                        inProgress(3),
                        succeeded(4),
                        failed(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This object indicates whether the DHCP lease database is
                     currently synchronized with the configured file server.
                     'notConfigured'  means that we have not been configured
                     with a server location. 'delaying' means that we are
                     waiting for the write delay to expire before writing the
                     current database. 'inProgress' means that a lease database
                     transfer is active. 'succeeded' means that all leases in 
                     our database have been written to the server. 'failed'
                     means that the last attempt to write our lease database 
                     failed."
        ::= {hpicfDhcpv4LeaseDataBase 7 }

    hpicfDhcpServerDBFileLastWriteTime OBJECT-TYPE
        SYNTAX      DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The time that we last successfully wrote our lease
                     database to the server. This object will contain a
                     value of all zeroes if we have not written our
                     lease database since the last reboot."
        ::= { hpicfDhcpv4LeaseDataBase 8 }

    hpicfDhcpv4ServerDBFTPort OBJECT-TYPE
        SYNTAX      Unsigned32 (0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A location to store the port value of the FT Server. The 
                     default port value will be 69 for TFTP and 22 for SFTP"
        ::= { hpicfDhcpv4LeaseDataBase 9 }

    hpicfDhcpv4ServerDBSFTPUsername OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A location to store the Username of the SFTP Server. 
                    The default value of username is root."
        ::= { hpicfDhcpv4LeaseDataBase 10 }

    hpicfDhcpv4ServerDBSFTPPassword OBJECT-TYPE
        SYNTAX      SnmpAdminString (SIZE (0..255))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "A location to store the Password of the SFTP Server."
        ::= { hpicfDhcpv4LeaseDataBase 11 }

    hpicfDhcpv4ServerDBValidateSFTPServer OBJECT-TYPE
        SYNTAX      INTEGER {
                        enabled(1),
                        disabled(2)                 
                     }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This object sets the validate-sftp-server flag. When enabled, 
                     the user must login to the SFTP server to verify and accept 
                     the public key of the server. When disabled, the public key 
	 	     is accepted automatically."
        ::= { hpicfDhcpv4LeaseDataBase 12 }

--
-- Bootp Counters 
--

    hpicfBootpCountRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of packets received that contain a message type
                     of 1 (BOOTREQUEST) in the first octet and do not contain
                     option number 53 (DHCP Message Type) in the options."
        REFERENCE    "RFC-2131." 
        ::= { hpicfDhcpv4BootpCounters 1 }

    hpicfBootpCountReplies OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of packets sent that contain a message type
                     of 2 (BOOTREPLY) in the first octet and do not contain
                     option number 53 (DHCP Message Type) in the options."
        REFERENCE   "RFC-2131." 
        ::= { hpicfDhcpv4BootpCounters 2 }

--
-- DHCPv4 Counters
--
    hpicfDhcpv4CountDiscovers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPDISCOVER (option 53 with value 1)
                     packets received."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 1 }

    hpicfDhcpv4CountOffers OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPOFFER (option 53 with value 2)
                     packets sent."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 2 }

    hpicfDhcpv4CountRequests OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPREQUEST (option 53 with value 3)
                     packets received."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 3 }

    hpicfDhcpv4CountDeclines OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPDECLINE (option 53 with value 4)
                     packets received."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 4 }

    hpicfDhcpv4CountAcks OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPACK (option 53 with value 5)
                     packets sent."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 5 }

    hpicfDhcpv4CountNaks OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPNACK (option 53 with value 6)
                     packets sent."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 6 }

    hpicfDhcpv4CountReleases OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPRELEASE (option 53 with value 7)
                     packets received."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 7 }

    hpicfDhcpv4CountInforms OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCPINFORM (option 53 with value 8)
                     packets received."
        REFERENCE   "RFC2131; RFC2132, section 9.6." 
        ::= { hpicfDhcpv4Counters 8 }

    hpicfDhcpv4CountBadMsgs OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of malformed messages."
        ::= { hpicfDhcpv4Counters 9 }

    hpicfDhcpv4CountPools OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCP server IP pools."
        ::= { hpicfDhcpv4Counters 10 }

    hpicfDhcpv4CountAutoBindings OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCP server dynamic bindings."
        ::= { hpicfDhcpv4Counters 11 }

    hpicfDhcpv4CountStaticBindings OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCP server manual bindings."
        ::= { hpicfDhcpv4Counters 12 }

    hpicfDhcpv4CountExpiredOrFreeBindings OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The number of DHCP server lease bindings
                     that have expired or free."
        ::= { hpicfDhcpv4Counters 13 }


--
-- DHCPv4 server IP pool table
--

    hpicfDhcpv4ServerPoolTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfDhcpv4ServerPoolEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table that contains objects for DHCPv4 server
                     pool information."
        ::= { hpicfDhcpv4IpPool 1 }

    hpicfDhcpv4ServerPoolEntry OBJECT-TYPE
        SYNTAX      HpicfDhcpv4ServerPoolEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A set of objects that are used to support DHCPv4 server
                     pool information."
        INDEX       { hpicfDhcpv4ServerPoolName }
        ::= { hpicfDhcpv4ServerPoolTable 1 }

    HpicfDhcpv4ServerPoolEntry ::=
        SEQUENCE {
            hpicfDhcpv4ServerPoolName               DisplayString,
            hpicfDhcpv4ServerPoolNetworkAddress     InetAddressIPv4,
            hpicfDhcpv4ServerPoolNetworkAddressMask InetAddressIPv4,
            hpicfDhcpv4ServerPoolDomainName         DisplayString,
            hpicfDhcpv4ServerPoolNetBIOSNodeType    INTEGER,
            hpicfDhcpv4ServerPoolLeaseTime          Unsigned32,
            hpicfDhcpv4ServerPoolBootFile           DisplayString,
            hpicfDhcpv4ServerPoolLowThreshold       Unsigned32,
            hpicfDhcpv4ServerPoolHighThreshold      Unsigned32,
            hpicfDhcpv4ServerPoolFreeAddresses      Unsigned32,
            hpicfDhcpv4ServerDNSServerAddress       DisplayString,
            hpicfDhcpv4ServerNetBIOSNameServer      DisplayString,
            hpicfDhcpv4ServerDefaultRouter          DisplayString,
            hpicfDhcpv4ServerTFTPServerName         DisplayString,
            hpicfDhcpv4ServerTFTPServerIpAddress    InetAddressIPv4,
            hpicfDhcpv4ServerStaticIpAddress        InetAddressIPv4,
            hpicfDhcpv4ServerStaticIpAddressMask    InetAddressIPv4,
            hpicfDhcpv4ServerStaticHardwareAddress  MacAddress,
            hpicfDhcpv4ServerPoolIsAuthoritative    TruthValue,
            hpicfDhcpv4ServerPoolStatus             RowStatus
        }

    hpicfDhcpv4ServerPoolName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..32))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The name of this pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 1 }

    hpicfDhcpv4ServerPoolNetworkAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The network address of this DHCP pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 2 }

    hpicfDhcpv4ServerPoolNetworkAddressMask OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The network address mask of this DHCP pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 3 }

    hpicfDhcpv4ServerPoolDomainName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The domain name for the client if the server allocates
                     the address for the client from this pool."
        ::= { hpicfDhcpv4ServerPoolEntry 4 }

    hpicfDhcpv4ServerPoolNetBIOSNodeType OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(0),
                        broadcast(1),
                        peerTopeer(2),
                        mixed(3),
                        hybrid(4)
                    }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The NetBIOS node type for a Microsoft DHCP client."
        DEFVAL      { none }
        ::= { hpicfDhcpv4ServerPoolEntry 5 }

    hpicfDhcpv4ServerPoolLeaseTime OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "seconds"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The number of seconds remaining until this 
                     DHCP lease times out. A value of 0xffffffff indicates
                     an infinite lease."
        DEFVAL      { 86400 } -- one day
        ::= { hpicfDhcpv4ServerPoolEntry 6 }

    hpicfDhcpv4ServerPoolBootFile OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..64))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The name of the file that is used as a boot image."
        ::= { hpicfDhcpv4ServerPoolEntry 7 }

    hpicfDhcpv4ServerPoolLowThreshold OBJECT-TYPE
        SYNTAX  Unsigned32
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION "The low threshold for available free addresses in this
                     pool. If the value for available free addresses in this
                     pool becomes equal to or less than this value, a
                     dhcpv4ServerFreeAddressLow event is generated for this
                     pool. No more dhcpv4ServerFreeAddressLow events will be
                     generated for this subnet during this execution of the
                     DHCP server until the value for available free addresses
                     has exceeded the value of 
                     hpicfDhcpv4ServerPoolHighThreshold."
        ::= { hpicfDhcpv4ServerPoolEntry 8 }

    hpicfDhcpv4ServerPoolHighThreshold OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The high threshold for available free addresses in this
                     pool. If a dhcpv4ServerFreeAddressLow event was generated
                     for this pool, and the value for available free addresses
                     has exceeded the value of
                     hpicfDhcpv4ServerPoolHighThreshold, then a
                     hpicfDhcpv4ServerFreeAddressHigh event will be generated.
                     No more hpicfDhcpv4ServerFreeAddressHigh events will be
                     generated for this pool during this execution of the DHCP
                     server until the value for available free addresses
                     becomes equal to or less than the value of
                     hpicfDhcpv4ServerPoolLowThreshold."
        ::= { hpicfDhcpv4ServerPoolEntry 9 }

    hpicfDhcpv4ServerPoolFreeAddresses OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only 
        STATUS      current
        DESCRIPTION "The number of IPv4 addresses which are available within
                     this pool."
        ::= { hpicfDhcpv4ServerPoolEntry 10 }

    hpicfDhcpv4ServerDNSServerAddress OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..128))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The IP address of DNS IP servers that are available to
                     a DHCP client. One IP address is required and supports
                     up to eight IP addresses. Each IP address is separated
                     by a comma and the list is terminated by a semicolon."
        ::= { hpicfDhcpv4ServerPoolEntry 11 }

    hpicfDhcpv4ServerNetBIOSNameServer OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..128))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The NetBIOS WINS servers that are available to
                     a DHCP client. One IP address is required and supports
                     up to eight IP addresses. Each IP address is separated
                     by a comma and the list is terminated by a semicolon."
        ::= { hpicfDhcpv4ServerPoolEntry 12 }

    hpicfDhcpv4ServerDefaultRouter OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..128))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The default routers that are available to a DHCP client.
                     One IP address is required and supports up to eight
                     IP addresses. Each IP address is separated by a comma and
                     the list is terminated by a semicolon."
        ::= { hpicfDhcpv4ServerPoolEntry 13 }

    hpicfDhcpv4ServerTFTPServerName OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The TFTP server name of this DHCP pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 14 }

    hpicfDhcpv4ServerTFTPServerIpAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The TFTP server IP address of this DHCP pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 15 }

    hpicfDhcpv4ServerStaticIpAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The manual IP address of this DHCP pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 16 }

    hpicfDhcpv4ServerStaticIpAddressMask OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The manual IP address mask of this DHCP pool entry."
        ::= { hpicfDhcpv4ServerPoolEntry 17 }

    hpicfDhcpv4ServerStaticHardwareAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The ethernet MAC address of a client."
        ::= { hpicfDhcpv4ServerPoolEntry 18 }

    hpicfDhcpv4ServerPoolIsAuthoritative OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "This object indicates whether this DHCP server is the sole
                     authority for the IP subnet configured in this pool. When
                     configured as authoriative, the server will actively respond
                     with DHCP ACK or NACK appropriately for all the received
                     DHCP REQUEST and INFORM packets from the clients belonging
                     to this subnet. DHCP INFORM packets received from the
                     clients on a non-authoritative pool will always be ignored."
        ::= { hpicfDhcpv4ServerPoolEntry 19 }

    hpicfDhcpv4ServerPoolStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "RowStatus for this table."
        ::= { hpicfDhcpv4ServerPoolEntry 20 }

--
-- DHCPv4 server IP range table
--

    hpicfDhcpv4ServerRangeTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfDhcpv4ServerRangeEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table that contains objects for the range of
                     IP addresses in the pool."
        ::= { hpicfDhcpv4PoolIpRange 1 }

    hpicfDhcpv4ServerRangeEntry OBJECT-TYPE
        SYNTAX      HpicfDhcpv4ServerRangeEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A set of objects that are used to support pool IP range."
        INDEX       { hpicfDhcpv4ServerPoolName,
                      hpicfDhcpv4ServerRangeStartAddress
                    } 
        ::= { hpicfDhcpv4ServerRangeTable 1 }

    HpicfDhcpv4ServerRangeEntry ::=
        SEQUENCE {
            hpicfDhcpv4ServerRangeStartAddress  InetAddressIPv4,
            hpicfDhcpv4ServerRangeEndAddress    InetAddressIPv4,
            hpicfDhcpv4ServerRangeStatus        RowStatus
        }

    hpicfDhcpv4ServerRangeStartAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The start address of the range. The value of 
                     hpicfDhcpv4ServerRangeStartAddress must be less than or
                     equal to the value of hpicfDhcpv4ServerRangeEndAddress and
                     should be within the pool subnet."
        ::= { hpicfDhcpv4ServerRangeEntry 1 }

    hpicfDhcpv4ServerRangeEndAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "The last address in the range. The value of 
                     hpicfDhcpv4ServerRangeEndAddress must be greater than or
                     equal to the value of hpicfDhcpv4ServerRangeStartAddress
                     and should be within the pool subnet."
        ::= { hpicfDhcpv4ServerRangeEntry 2 }

    hpicfDhcpv4ServerRangeStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "RowStatus for this table."
        ::= { hpicfDhcpv4ServerRangeEntry 3 }

--
-- DHCPv4 server IP pool options table
--

    hpicfDhcpv4ServerPoolOptionTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfDhcpv4ServerPoolOptionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table that contains objects for DHCPv4 Server options."
        ::= { hpicfDhcpv4PoolOption 1 }

    hpicfDhcpv4ServerPoolOptionEntry OBJECT-TYPE
        SYNTAX      HpicfDhcpv4ServerPoolOptionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A set of objects that are used to support DHCPv4 server
                     options."
        INDEX       { hpicfDhcpv4ServerPoolName,
                      hpicfDhcpv4ServerPoolOptionCode
                    }
        ::= { hpicfDhcpv4ServerPoolOptionTable 1 }

    HpicfDhcpv4ServerPoolOptionEntry ::=
        SEQUENCE {
            hpicfDhcpv4ServerPoolOptionCode    Unsigned32,
            hpicfDhcpv4ServerPoolOptionType    INTEGER,
            hpicfDhcpv4ServerPoolOptionData    DisplayString,
            hpicfDhcpv4ServerPoolOptionStatus  RowStatus
          }

    hpicfDhcpv4ServerPoolOptionCode OBJECT-TYPE
        SYNTAX      Unsigned32 (2..254)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The DHCP option code as per RFC 2132."
        ::= { hpicfDhcpv4ServerPoolOptionEntry 1 }

    hpicfDhcpv4ServerPoolOptionType OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(0),
                        hexString(1),
                        asciiString(2),
                        ipAddresses(3)
                    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This specifies the type of pool option data."
        DEFVAL      { none }
        ::= { hpicfDhcpv4ServerPoolOptionEntry 2 }

    hpicfDhcpv4ServerPoolOptionData OBJECT-TYPE
        SYNTAX      DisplayString (SIZE (0..255)) 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This specifies data in dotted hexadecimal or ASCII
                     character string or IP addresses format based on
                     hpicfDhcpv4ServerPoolOptionType value. Each byte in
                     hexadecimal character strings is two hexadecimal digits.
                     Each byte can be separated by a period, colon, or
                     white space. ASCII strings that contain white spaces must
                     be enclosed within quotation marks. One IP address is
                     required and supports up to eight IP addresses. Each IP
                     address is separated by a comma and the list is terminated
                     by a semicolon."
         ::= { hpicfDhcpv4ServerPoolOptionEntry 3 }
         
    hpicfDhcpv4ServerPoolOptionStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "RowStatus for this table."
        ::= { hpicfDhcpv4ServerPoolOptionEntry 4 }

--
-- DHCPv4 server dynamic binding table
--

    hpicfDhcpv4BindingTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfDhcpv4BindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table that contains objects for DHCPv4 server
                     dynamic lease bindings."
        ::= { hpicfDhcpv4PoolDynamicBind 1 }

    hpicfDhcpv4BindingEntry OBJECT-TYPE
        SYNTAX      HpicfDhcpv4BindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A set of objects that are used to support DHCPv4 server
                     dynamic lease bindings."
        INDEX       { hpicfDhcpv4ServerPoolName,
                      hpicfDhcpv4BindingIpAddress
                    }
        ::= { hpicfDhcpv4BindingTable 1 }

    HpicfDhcpv4BindingEntry ::=
        SEQUENCE {
            hpicfDhcpv4BindingIpAddress       InetAddressIPv4,
            hpicfDhcpv4BindingHardwareAddress MacAddress,
            hpicfDhcpv4BindingType            INTEGER,
            hpicfDhcpv4BindingLifeTime        Unsigned32
        }

    hpicfDhcpv4BindingIpAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "The IP address assigned to a specific client."
        ::= { hpicfDhcpv4BindingEntry 1 }

    hpicfDhcpv4BindingHardwareAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The ethernet MAC address of a client."
        ::= { hpicfDhcpv4BindingEntry 2 }

    hpicfDhcpv4BindingType OBJECT-TYPE
        SYNTAX      INTEGER {
                        manual(1),
                        automatic(2),
                        dynamic(3)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The type  of this binding."
        ::= { hpicfDhcpv4BindingEntry 3 }

    hpicfDhcpv4BindingLifeTime OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "seconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The life time of the binding entry in seconds.
                     A value of 0xffffffff indicates an infinite life time."
        ::= { hpicfDhcpv4BindingEntry 4 }

--
-- DHCPv4 server IP conflicts table
--
    hpicfDhcpv4ConflictIPTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF HpicfDhcpv4ConflictIPEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Table that contains objects for DHCPv4 server
                     address conflicts."
        ::= { hpicfDhcpv4ServerConflicts 1 }

    hpicfDhcpv4ConflictIPEntry OBJECT-TYPE
        SYNTAX      HpicfDhcpv4ConflictIPEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "A set of objects that are used to support DHCPv4 server
                     conflicting address (use of the same IP address by two
                     hosts) entry."
        INDEX       { hpicfDhcpv4ConflictIPAddress }
        ::= { hpicfDhcpv4ConflictIPTable 1 }

    HpicfDhcpv4ConflictIPEntry ::=
        SEQUENCE {
            hpicfDhcpv4ConflictIPAddress         InetAddressIPv4,
            hpicfDhcpv4ConflictIPDetectionMethod INTEGER,
            hpicfDhcpv4ConflictIPDetectionTime   DateAndTime
        } 

    hpicfDhcpv4ConflictIPAddress OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "IP address which is duplicated and used by two hosts."
        ::= { hpicfDhcpv4ConflictIPEntry 1 }

    hpicfDhcpv4ConflictIPDetectionMethod OBJECT-TYPE
        SYNTAX      INTEGER {
                        ping(1),
                        gratuitousArp(2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The server detects conflicts using ping.
                     The client detects conflicts using gratuitous
                     Address Resolution Protocol (ARP)." 
        ::= { hpicfDhcpv4ConflictIPEntry 2 }

    hpicfDhcpv4ConflictIPDetectionTime	OBJECT-TYPE
        SYNTAX	    DateAndTime
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The system time at which a DHCP address conflict happens.
                     If there has been no change since the last
                     re-initialization of the local system, this object
                     contains the date and time of local system initialization.
                     If there has been no change since the entity was added to
                     the local system, this object contains the date and time
                     of the insertion."
        ::= { hpicfDhcpv4ConflictIPEntry 3 }

--
-- DHCPv4 server notifications
--

    hpicfDhcpv4ServerNotifyDuplicateIpAddr OBJECT-TYPE
        SYNTAX      InetAddressIPv4
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "The IPv4 address found to be a duplicate. Duplicates are
                     detected by servers, which issue an ICMP ECHOREQUEST 
                     prior to offering an IPv4 address lease, or by a client
                     issuing a gratuitous ARP message and reported through a
                     DHCPDECLINE message."
        ::= { hpicfDhcpv4ServerNotifs 1 }

    hpicfDhcpv4ServerNotifyDuplicateMac OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      accessible-for-notify
        STATUS          current
        DESCRIPTION "The offending MAC address which caused a duplicate IPv4
                     address to be detected, if captured by the server,
                     else 00-00-00-00-00-00."
        ::= { hpicfDhcpv4ServerNotifs 2 }

    hpicfDhcpv4ServerNotifyClientOrServerDetected OBJECT-TYPE
        SYNTAX      INTEGER  {
                        client(1),
                        server(2)
                    }
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "Duplicate IPv4 addresses can be detected either by a
                     server, using an ICMP ECHO message, or by a client using
                     ARP. This object is set by the server to (1) if the client
                     used DHCPDECLINE to mark the offered address as in use, or 
                     to (2) if the server discovered the address in use  by some
                     client before offering it."
        ::= { hpicfDhcpv4ServerNotifs 3 }

    hpicfDhcpv4ServerClientPhysicalAddress OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  accessible-for-notify
        STATUS      current
        DESCRIPTION "The hardware address of the client that requested the IP
                     lease."
        ::= { hpicfDhcpv4ServerNotifs 4 }

    hpicfDhcpv4ServerFreeAddressLow NOTIFICATION-TYPE
        OBJECTS     {
                        hpicfDhcpv4ServerPoolLowThreshold,
                        hpicfDhcpv4ServerPoolFreeAddresses
                    }
        STATUS      current
        DESCRIPTION "This notification signifies that the number of available
                     IPv4 addresses for a particular shared network has fallen
                     below the value of hpicfDhcpv4ServerPoolLowThreshold for
                     that shared network."
       ::= { hpicfDhcpv4ServerNotifs 5 }

    hpicfDhcpv4ServerFreeAddressHigh NOTIFICATION-TYPE
        OBJECTS     {
                        hpicfDhcpv4ServerPoolHighThreshold,
                        hpicfDhcpv4ServerPoolFreeAddresses
                    }
        STATUS      current
        DESCRIPTION "This notification signifies that the number of available
                     IPv4 addresses for a particular shared network has risen
                     above the value of  hpicfDhcpv4ServerPoolHighThreshold for
                     that shared network."
       ::= { hpicfDhcpv4ServerNotifs 6 }

    hpicfDhcpv4ServerDuplicateAddress NOTIFICATION-TYPE
        OBJECTS     {
                        hpicfDhcpv4ServerNotifyDuplicateIpAddr,
                        hpicfDhcpv4ServerNotifyDuplicateMac,
                        hpicfDhcpv4ServerNotifyClientOrServerDetected
                    }
        STATUS      current
        DESCRIPTION "This notification signifies that a duplicate IPv4 address
                     has been detected. The DHCP server can detect this
                     condition through the ping-before-offer mechanism.
                     Alternatively, the client may have sent a DHCPDECLINE back
                     to the server; this is assumed to be the result of the 
                     client detecting that the address was in use. In either 
                     case, the DHCP server marks the IPv4 address as unavailable
                     for leasing to clients. The
                     hpicfDhcpv4ServerNotifyClientOrServerDetected object
                     indicates whether the client or server detected this
                     condition."
       ::= { hpicfDhcpv4ServerNotifs 7 }

    hpicfDhcpv4ServerIfLeaseLimitExceeded NOTIFICATION-TYPE
        OBJECTS     {
                        ifName,
                        hpicfDhcpv4ServerClientPhysicalAddress
                    }
    STATUS          current
    DESCRIPTION     "This notification indicates that there are no more IP
                     leases available to offer on the receiving interface."
       ::= { hpicfDhcpv4ServerNotifs 8 }

--
-- Conformance
--

    hpicfDhcpv4ServerCompliances  OBJECT IDENTIFIER
       ::= { hpicfDhcpv4ServerConform 1 }

    hpicfDhcpv4ServerGroups  OBJECT IDENTIFIER
       ::= { hpicfDhcpv4ServerConform 2 }

   hpicfDhcpv4ServerCompliances1  OBJECT IDENTIFIER
       ::= { hpicfDhcpv4ServerConform 3 }

--
-- Compliance Statements
--
    hpicfDhcpv4ServerCompliance MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement  for HP routing switches
                     that support DHCP server."
        MODULE      -- this module
        MANDATORY-GROUPS {
                             hpicfDhcpv4ServerBaseGroup,
                             hpicfDhcpv4ServerLeaseDataBaseGroup,
                             hpicfDhcpv4ServerBootpCountersGroup,
                             hpicfDhcpv4ServerCounterGroup,
                             hpicfDhcpv4ServerPoolGroup,
                             hpicfDhcpv4ServerRangeGroup,
                             hpicfDhcpv4ServerOptionGroup,
                             hpicfDhcpv4ServerBindingGroup,
                             hpicfDhcpv4ServerConflictGroup,
                             hpicfDhcpv4ServerNotifyObjectsGroup,
                             hpicfDhcpv4ServerNotificationsGroup
                         }
        ::= { hpicfDhcpv4ServerCompliances 1 }

    hpicfDhcpv4ServerCompliance1 MODULE-COMPLIANCE
        STATUS      deprecated
        DESCRIPTION "The compliance statement  for HP routing switches
                     that support DHCP server."
        MODULE      -- this module
        MANDATORY-GROUPS {
                             hpicfDhcpv4ServerBaseGroup,
                             hpicfDhcpv4ServerBootpCountersGroup,
                             hpicfDhcpv4ServerCounterGroup,
                             hpicfDhcpv4ServerPoolGroup,
                             hpicfDhcpv4ServerRangeGroup,
                             hpicfDhcpv4ServerOptionGroup,
                             hpicfDhcpv4ServerBindingGroup,
                             hpicfDhcpv4ServerConflictGroup,
                             hpicfDhcpv4ServerNotifyObjectsGroup,
                             hpicfDhcpv4ServerNotificationsGroup,
                             hpicfDhcpv4ServerLeaseDataBaseGroup1
                         }
        ::= { hpicfDhcpv4ServerCompliances 2 }

    hpicfDhcpv4ServerCompliance2 MODULE-COMPLIANCE
        STATUS      current
        DESCRIPTION "The compliance statement  for HP routing switches
                     that support DHCP server."
        MODULE      -- this module
        MANDATORY-GROUPS {
                             hpicfDhcpv4ServerBootpCountersGroup,
                             hpicfDhcpv4ServerCounterGroup,
                             hpicfDhcpv4ServerPoolGroup,
                             hpicfDhcpv4ServerRangeGroup,
                             hpicfDhcpv4ServerOptionGroup,
                             hpicfDhcpv4ServerBindingGroup,
                             hpicfDhcpv4ServerConflictGroup,
                             hpicfDhcpv4ServerNotifyObjectsGroup,
                             hpicfDhcpv4ServerNotificationsGroup,
                             hpicfDhcpv4ServerLeaseDataBaseGroup1,
                             hpicfDhcpv4ServerBaseGroup1
                         }
        ::= { hpicfDhcpv4ServerCompliances 3 }
--
-- units of conformance
--
    hpicfDhcpv4ServerBaseGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerEnable,
                           hpicfDhcpv4PingPktNumber,
                           hpicfDhcpv4PingTimeOut,
                           hpicfDhcpv4ConflictsLog,
                           hpicfDhcpv4ClearStatistics,
                           hpicfDhcpv4ClearBindings,
                           hpicfDhcpv4ClearConflictIP,
                           hpicfDhcpv4TrapEnable,
                           hpicfDhcpv4ServerVlanEnable
                        }
            STATUS      deprecated
            DESCRIPTION "Controls the global configuration of the 
                         DHCPv4 server."
            ::= { hpicfDhcpv4ServerGroups 1 }

    hpicfDhcpv4ServerLeaseDataBaseGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerDBFile,
                           hpicfDhcpv4ServerDBWriteDelay,
                           hpicfDhcpv4ServerDBWriteTimeout,
                           hpicfDhcpServerDBFileWriteAttempts,
                           hpicfDhcpServerDBFileWriteFailures,
                           hpicfDhcpServerDBFileReadStatus,
                           hpicfDhcpServerDBFileWriteStatus,
                           hpicfDhcpServerDBFileLastWriteTime
                        }
            STATUS      deprecated
            DESCRIPTION "Group of objects to support lease database parameters."
            ::= { hpicfDhcpv4ServerGroups 2 }


    hpicfDhcpv4ServerBootpCountersGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfBootpCountRequests,
                           hpicfBootpCountReplies
                        }
            STATUS      current
            DESCRIPTION "Group of objects that count various BOOTP events."
            ::= { hpicfDhcpv4ServerGroups 3 }

    hpicfDhcpv4ServerCounterGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4CountDiscovers,
                           hpicfDhcpv4CountOffers,
                           hpicfDhcpv4CountRequests,
                           hpicfDhcpv4CountDeclines,
                           hpicfDhcpv4CountAcks,
                           hpicfDhcpv4CountNaks,
                           hpicfDhcpv4CountReleases,
                           hpicfDhcpv4CountInforms,
                           hpicfDhcpv4CountBadMsgs,
                           hpicfDhcpv4CountPools,
                           hpicfDhcpv4CountAutoBindings,
                           hpicfDhcpv4CountStaticBindings,
                           hpicfDhcpv4CountExpiredOrFreeBindings
                        }
            STATUS      current
            DESCRIPTION "Group of objects that count various DHCPv4 events."
            ::= { hpicfDhcpv4ServerGroups 4 }
   
    hpicfDhcpv4ServerPoolGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerPoolNetworkAddress,
                           hpicfDhcpv4ServerPoolNetworkAddressMask,
                           hpicfDhcpv4ServerPoolDomainName,
                           hpicfDhcpv4ServerPoolNetBIOSNodeType,
                           hpicfDhcpv4ServerPoolLeaseTime,
                           hpicfDhcpv4ServerPoolBootFile,
                           hpicfDhcpv4ServerPoolLowThreshold,
                           hpicfDhcpv4ServerPoolHighThreshold,
                           hpicfDhcpv4ServerPoolFreeAddresses,
                           hpicfDhcpv4ServerDNSServerAddress,
                           hpicfDhcpv4ServerNetBIOSNameServer,
                           hpicfDhcpv4ServerDefaultRouter,
                           hpicfDhcpv4ServerTFTPServerName,
                           hpicfDhcpv4ServerTFTPServerIpAddress,
                           hpicfDhcpv4ServerStaticIpAddress,
                           hpicfDhcpv4ServerStaticIpAddressMask,
                           hpicfDhcpv4ServerStaticHardwareAddress,
                           hpicfDhcpv4ServerPoolIsAuthoritative,
                           hpicfDhcpv4ServerPoolStatus
                        }
            STATUS      current
            DESCRIPTION "Group of objects to support DHCPv4 server pool 
                         parameters."
            ::= { hpicfDhcpv4ServerGroups 5 }

    hpicfDhcpv4ServerRangeGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerRangeEndAddress,
                           hpicfDhcpv4ServerRangeStatus
                        }
            STATUS      current
            DESCRIPTION "Group of objects to support DHCPv4 server IP range
                         parameters."
            ::= { hpicfDhcpv4ServerGroups 6 }

    hpicfDhcpv4ServerOptionGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerPoolOptionType,
                           hpicfDhcpv4ServerPoolOptionData,
                           hpicfDhcpv4ServerPoolOptionStatus
                        }
            STATUS      current
            DESCRIPTION "Group of objects to support DHCPv4 server raw option
                         parameters."
            ::= { hpicfDhcpv4ServerGroups 7 }

    hpicfDhcpv4ServerBindingGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4BindingHardwareAddress,
                           hpicfDhcpv4BindingType,
                           hpicfDhcpv4BindingLifeTime
                        }
            STATUS      current
            DESCRIPTION "Group of objects to support DHCPv4 server dynamic
                         binding parameters."
            ::= { hpicfDhcpv4ServerGroups 8 }

    hpicfDhcpv4ServerConflictGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ConflictIPDetectionMethod,
                           hpicfDhcpv4ConflictIPDetectionTime
                        }
            STATUS      current
            DESCRIPTION "Group of objects to support DHCPv4 server conflict
                         parameters."
            ::= { hpicfDhcpv4ServerGroups 9 }

    hpicfDhcpv4ServerNotifyObjectsGroup OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerPoolLowThreshold,
                           hpicfDhcpv4ServerPoolFreeAddresses,
                           hpicfDhcpv4ServerPoolHighThreshold,
                           hpicfDhcpv4ServerNotifyDuplicateIpAddr,
                           hpicfDhcpv4ServerNotifyDuplicateMac,
                           hpicfDhcpv4ServerNotifyClientOrServerDetected,
                           hpicfDhcpv4ServerClientPhysicalAddress
                        }
            STATUS      current
            DESCRIPTION "Group of objects required for notifications."
            ::= { hpicfDhcpv4ServerGroups 10 }

    hpicfDhcpv4ServerNotificationsGroup NOTIFICATION-GROUP
            NOTIFICATIONS {
                              hpicfDhcpv4ServerFreeAddressLow,
                              hpicfDhcpv4ServerFreeAddressHigh,
                              hpicfDhcpv4ServerDuplicateAddress,
                              hpicfDhcpv4ServerIfLeaseLimitExceeded
                          }
            STATUS        current
            DESCRIPTION   "Group of notifications."
            ::= { hpicfDhcpv4ServerGroups 11 }


    hpicfDhcpv4ServerLeaseDataBaseGroup1 OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerDBFile,
                           hpicfDhcpv4ServerDBWriteDelay,
                           hpicfDhcpv4ServerDBWriteTimeout,
                           hpicfDhcpServerDBFileWriteAttempts,
                           hpicfDhcpServerDBFileWriteFailures,
                           hpicfDhcpServerDBFileReadStatus,
                           hpicfDhcpServerDBFileWriteStatus,
                           hpicfDhcpServerDBFileLastWriteTime,
			   hpicfDhcpv4ServerDBFTPort, 
			   hpicfDhcpv4ServerDBSFTPUsername, 
 			   hpicfDhcpv4ServerDBSFTPPassword,
			   hpicfDhcpv4ServerDBValidateSFTPServer 
                        }
            STATUS      current
            DESCRIPTION "Group of objects to support lease database parameters."
            ::= { hpicfDhcpv4ServerGroups 12 }

    hpicfDhcpv4ServerBaseGroup1 OBJECT-GROUP
            OBJECTS     {
                           hpicfDhcpv4ServerEnable,
                           hpicfDhcpv4PingPktNumber,
                           hpicfDhcpv4PingTimeOut,
                           hpicfDhcpv4ConflictsLog,
                           hpicfDhcpv4ClearStatistics,
                           hpicfDhcpv4ClearBindings,
                           hpicfDhcpv4ClearConflictIP,
                           hpicfDhcpv4TrapEnable,
                           hpicfDhcpv4ServerVlanEnable,
                           hpicfDhcpv4ServerOperStatus
                        }
            STATUS      current
            DESCRIPTION "Controls the global configuration of the
                         DHCPv4 server."
            ::= { hpicfDhcpv4ServerGroups 13 }


END


