HP-ICF-DHCPCLIENT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        hpSwitch            
            FROM HP-ICF-OID            
        OBJECT-TYPE, MODULE-IDENTITY, Counter32
            FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
        ifIndex
            FROM IF-MIB
        DisplayString
            FROM SNMPv2-TC
        InetVersion
            FROM INET-ADDRESS-MIB;

    -- 1.3.6.1.4.1.11.2.14.11.5.1.57
    hpicfDhcpClient MODULE-IDENTITY 
        LAST-UPDATED "201306010000Z"  -- June 1, 2013 at 00:00 GMT
        ORGANIZATION 
            "HP Networking."
        CONTACT-INFO 
                    "Hewlett-Packard Company
                     8000 Foothills Blvd.
                     Roseville, CA 95747"
        DESCRIPTION 
            "This MIB module contains HP proprietary
            objects for managing the DHCP Client."

	REVISION "201306010000Z"      -- June 1, 2013 at 00:00 GMT
        DESCRIPTION
            "Added 'hpicfDhcpClientTR069AcsUrlOptionStatus' MIB object"

        REVISION "201205310000Z"      -- May 31, 2012 at 00:00 GMT
        DESCRIPTION
            "Added 'hpicfDhcpv6ClientDuid' MIB object"

        REVISION "201008090000Z"      -- August 09, 2010 at 00:00 GMT
        DESCRIPTION
            "Added 'hpicfDhcpClientintfTable' and
             'hpicfDhcpClientStatisticsTable' tables."

        REVISION "200903180000Z"      -- March 18, 2009 at 00:00 GMT
        DESCRIPTION
            "Added 'hpicfDhcpClientImageFileUpdate' MIB object"

        REVISION "200810300000Z"      -- October 30, 2008 at 00:00 GMT
        DESCRIPTION 
            "Added 'hpicfDhcpClientHostNameOption' MIB object"
	    
        REVISION "200808270038Z"      -- August 27, 2008 at 00:38 GMT
        DESCRIPTION 
            "Initial revision."
        ::= { hpSwitch 57 }

--
-- Node definitions
--

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1
     hpicfDhcpClientOptions OBJECT IDENTIFIER ::= { hpicfDhcpClient 1 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.2
     hpicfDhcpClientOptionsConf OBJECT IDENTIFIER ::= { hpicfDhcpClient 2 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.1
     hpicfDhcpClientVendorSpecOptionStatus OBJECT-TYPE
         SYNTAX      INTEGER{
                             enable(1),
                             disable(2)
                    }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "This flag indicates whether DHCP vendor specific
                      configurations are enabled for this interface
                      or not.

                      Setting this flag to 'enabled' (the default)
                      results in sending 'Vendor Class Identifier'(VCI)
                      to DHCP server and requesting vendor specific
                      configurations from DHCP servers for this
                      interface. Refer to RFC 2132 for more details.

                      Setting this flag to 'disabled' results in not
                      sending VCI to DHCP server and not requesting
                      vendor specific configurations from DHCP servers."
         ::= { hpicfDhcpClientOptions 1 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.2
     hpicfDhcpClientHostNameOption OBJECT-TYPE
         SYNTAX      INTEGER{
                             enable(1),
                             disable(2)
                    }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "This object enables/disables DHCP option 12 that
                     allows for sending the system's hostname in DHCP
                     packets.

                     By default this object is set to be disabled.

                     Setting this flag to 'enabled' results in the 
                     inclusion of system hostname in DHCP packets."
         ::= { hpicfDhcpClientOptions 2 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.3
     hpicfDhcpClientImageFileUpdate OBJECT-TYPE
         SYNTAX       INTEGER{
                             enabled(1),
                             disabled(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "This object facilitates enabling or disabling of
                      the image file update feature through DHCP. 
                      Setting this object to 1 enables this feature
                      and setting it to 2 disables this feature.
                      This MIB object can be set to 1 only if 
                      hpicfDhcpClientVendorSpecOptionStatus has already
                      been set to 1. 
                      By default, hpicfDhcpClientImageFileUpdate is set
                      to 1. When this feature is enabled, the Auto-TFTP
                      settings will be disabled."
         ::= { hpicfDhcpClientOptions 3 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.4
     hpicfDhcpClientintfTable OBJECT-TYPE

         SYNTAX      SEQUENCE OF HpicfDhcpClientintfEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "DHCP client's interface level configuration table.
                      Common to both v4 and v6 DHCP clients."
         ::= { hpicfDhcpClientOptions 4 }

     hpicfDhcpClientintfEntry OBJECT-TYPE

         SYNTAX      HpicfDhcpClientintfEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION "A row in hpicfDhcpClientintfTable."
         INDEX       { ifIndex }
         ::= { hpicfDhcpClientintfTable 1 }

     HpicfDhcpClientintfEntry ::= SEQUENCE {
         hpicfDhcpClientAuthType   INTEGER,
         hpicfDhcpClientKeyChain   DisplayString
         }

     hpicfDhcpClientAuthType OBJECT-TYPE
         SYNTAX       INTEGER{
                             none(0),
                             md5(1)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "The authentication type specified for an interface."
         ::= { hpicfDhcpClientintfEntry 1 }

     hpicfDhcpClientKeyChain OBJECT-TYPE
         SYNTAX      DisplayString (SIZE(0..1024))
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "KMS chain name specified for an interface."
         ::= { hpicfDhcpClientintfEntry 2 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.5
     hpicfDhcpClientStatisticsTable OBJECT-TYPE
         SYNTAX   SEQUENCE OF HpicfDhcpClientStatisticsEntry
         MAX-ACCESS   not-accessible
         STATUS   current
         DESCRIPTION "DHCP client's interface level statistics."
         ::= { hpicfDhcpClientOptions 5 }

     hpicfDhcpClientStatisticsEntry OBJECT-TYPE
         SYNTAX   HpicfDhcpClientStatisticsEntry
         MAX-ACCESS   not-accessible
         STATUS   current
         DESCRIPTION "A row in hpicfDhcpClientStatisticsTable"
         INDEX { ifIndex, hpicfIPVersion }
         ::= { hpicfDhcpClientStatisticsTable 1 }

     HpicfDhcpClientStatisticsEntry ::= SEQUENCE {
          hpicfIPVersion                  InetVersion,
          hpicfDhcpClientPktTx            Counter32,
          hpicfDhcpClientPktRx            Counter32,
          hpicfDhcpClientPktAuthFailed    Counter32
          }

     hpicfIPVersion OBJECT-TYPE
           SYNTAX   InetVersion
           MAX-ACCESS   not-accessible
           STATUS   current
           DESCRIPTION " IP version of this row."
           ::= { hpicfDhcpClientStatisticsEntry 1 }

       hpicfDhcpClientPktTx OBJECT-TYPE
           SYNTAX   Counter32
           MAX-ACCESS   read-only
           STATUS   current
           DESCRIPTION "Number of DHCP packets transmitted."
           ::= { hpicfDhcpClientStatisticsEntry 2 }

       hpicfDhcpClientPktRx OBJECT-TYPE
           SYNTAX   Counter32
           MAX-ACCESS   read-only
           STATUS   current
           DESCRIPTION "Number of DHCP packets received."
           ::= { hpicfDhcpClientStatisticsEntry 3 }

       hpicfDhcpClientPktAuthFailed OBJECT-TYPE
           SYNTAX   Counter32
           MAX-ACCESS   read-only
           STATUS   current
           DESCRIPTION "Number of DHCP packets dropped due to authentication
                        failure."
           ::= { hpicfDhcpClientStatisticsEntry 4 }


      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.6
      hpicfDhcpv6ClientDuid OBJECT-TYPE
         SYNTAX      OCTET STRING (SIZE(25..128))
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION "The DUID (Dhcp Unique IDentifier) of the local device.
                      The value is a DUID-LL as defined in RFC 3351,
                      represented in hexadecimal."
         ::= { hpicfDhcpClientOptions 6 }

      -- 1.3.6.1.4.1.11.2.14.11.5.1.57.1.7
      hpicfDhcpClientTR069AcsUrlOptionStatus OBJECT-TYPE
         SYNTAX       INTEGER {
                             enabled(1),
                             disabled(2)
                     }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION "This flag indicates whether the DHCP client will
                      process the TR-069 CWMP ACS URL option.
                      This object can only be enabled when
                      hpicfDhcpClientVendorSpecOptionStatus is also
                      enabled."
         ::= { hpicfDhcpClientOptions 7 }



------------------------------------------------------------------------------
-- Conformance Information
------------------------------------------------------------------------------

    hpicfDhcpClientGroups        
    OBJECT IDENTIFIER ::= { hpicfDhcpClientOptionsConf 1 }
    hpicfDhcpClientCompliances   
    OBJECT IDENTIFIER ::= { hpicfDhcpClientOptionsConf 2 }

-- compliance statements

    hpicfDhcpClientCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION     "The compliance statement for DHCP Client implementation."
        MODULE          -- this module
        MANDATORY-GROUPS { hpicfDhcpClientOptionsGroup }
    ::= { hpicfDhcpClientCompliances 1 }

    hpicfDhcpClientVendorSpecOptionsCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION     "The compliance statement for DHCP client implementation."
        MODULE          -- this module
        MANDATORY-GROUPS { hpicfDhcpClientVendorSpecOptionsGroup }
    ::= { hpicfDhcpClientCompliances 2 }

    hpicfDhcpClientAuthCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION     "The compliance statement for DHCP Authentication implementation."
        MODULE          -- this module
        MANDATORY-GROUPS { hpicfDhcpClientAuthGroup }
    ::= { hpicfDhcpClientCompliances 3 }  

    hpicfDhcpv6ClientCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION     "The compliance statement for DHCPv6 client implementation."
        MODULE          -- this module
        MANDATORY-GROUPS { hpicfDhcpv6ClientGroup }
    ::= { hpicfDhcpClientCompliances 4 }  

    hpicfDhcpClientTR069OptionsCompliance MODULE-COMPLIANCE
        STATUS          current
        DESCRIPTION     "The compliance statement for DHCP client TR-069 options
                         implementation."
        MODULE          -- this module
        MANDATORY-GROUPS { hpicfDhcpClientTR069OptionsGroup }
    ::= { hpicfDhcpClientCompliances 5 }

-- MIB Groupings

    hpicfDhcpClientOptionsGroup OBJECT-GROUP
    OBJECTS {
      hpicfDhcpClientVendorSpecOptionStatus,
      hpicfDhcpClientHostNameOption
    }
    STATUS              current
    DESCRIPTION         "A mandatory group with a set of DHCP client's option 
                         object(s)."
    ::= { hpicfDhcpClientGroups 1 }

    hpicfDhcpClientVendorSpecOptionsGroup OBJECT-GROUP
    OBJECTS {
      hpicfDhcpClientImageFileUpdate
    }
    STATUS              current
    DESCRIPTION         "A mandatory group with a set of DHCP vendor
                         specific option object(s)."
    ::= { hpicfDhcpClientGroups 2 } 

    hpicfDhcpClientAuthGroup OBJECT-GROUP
    OBJECTS {
      hpicfDhcpClientAuthType,
      hpicfDhcpClientKeyChain,
      hpicfDhcpClientPktTx,
      hpicfDhcpClientPktRx,
      hpicfDhcpClientPktAuthFailed
    }
    STATUS              current
    DESCRIPTION         "A mandatory group with a set of DHCP Client
                         Authentication object(s)."
    ::= { hpicfDhcpClientGroups 3 }

    hpicfDhcpv6ClientGroup OBJECT-GROUP
    OBJECTS {
      hpicfDhcpv6ClientDuid  
    }
    STATUS              current
    DESCRIPTION         "A mandatory group with a set of DHCPv6 client 
                         related object(s)."
    ::= { hpicfDhcpClientGroups 4 } 

    hpicfDhcpClientTR069OptionsGroup OBJECT-GROUP
    OBJECTS {
      hpicfDhcpClientTR069AcsUrlOptionStatus
    }
    STATUS              current
    DESCRIPTION         "A mandatory group with a set of DHCP vendor
                         specific options for TR-069 related object(s)."
    ::= { hpicfDhcpClientGroups 5 } 

END
