-- =============================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description:  DHCPv4 mib for server and relay
-- Reference:
-- Version:      V1.2
-- History:
-- V1.0 The initial version, created by lilin, 2012.5.24
-- V1.1 Modified the mib description by lilin, 2013.4.24
-- V1.2 Added hpnicfDhcpServer2PoolVerifyClass hpnicfDhcpServer2DefOptGrpTable
--      hpnicfDhcpServer2ValidClassTableby hpnicfDhcpServer2RuleHwAddrTable
--      hpnicfDhcpServer2OptionGroupTable hpnicfDhcpServer2OptionTable
--      by yuguoqing, 2014.3.20
-- =============================================================================
HPN-ICF-DHCP4-MIB DEFINITIONS ::= BEGIN

-- =============================================================================
-- Imported variables and types
-- =============================================================================
IMPORTS
    TruthValue, RowStatus, MacAddress
        FROM SNMPv2-TC
    OBJECT-TYPE, MODULE-IDENTITY, Integer32,
    TimeTicks, Counter64, Unsigned32
        FROM SNMPv2-SMI
    ifIndex, InterfaceIndexOrZero
        FROM IF-MIB
    InetAddressIPv4
        FROM INET-ADDRESS-MIB
    hpnicfCommon
        FROM HPN-ICF-OID-MIB;


-- =============================================================================
-- Module identity
-- =============================================================================
hpnicfDhcp4 MODULE-IDENTITY
    LAST-UPDATED "201304240000Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION "DHCPv4 MIB"
    REVISION
        "201304240000Z"
    DESCRIPTION
        "The private MIB file includes the DHCPv4 server and relay profile."
    ::= { hpnicfCommon 122 }

-- =============================================================================
-- DHCP server scalar objects definition.
-- =============================================================================
    hpnicfDhcpServer2ScalarObjects OBJECT IDENTIFIER ::= { hpnicfDhcp4 1 }

-- =============================================================================
-- hpnicfDhcpServer2ScalarObjects: hpnicfDhcpServer2ConfigGroup
-- =============================================================================
hpnicfDhcpServer2ConfigGroup OBJECT IDENTIFIER ::= { hpnicfDhcpServer2ScalarObjects 1 }

hpnicfDhcpServer2Enabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If the value of this object is 'true', the DHCP service is enabled."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2ConfigGroup 1 }

hpnicfDhcpServer2AlwaysBroadcast OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When the value of this object is set to 'true',
         the DHCP server always uses broadcast to reply the client."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2ConfigGroup 2 }

hpnicfDhcpServer2IgnoreBootp OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When the value of this object is set to 'true',
         the DHCP server ignores BOOTP requests."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2ConfigGroup 3 }

hpnicfDhcpServer2BootpReplyRfc1048 OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When the value of this object is set to 'true',
         the DHCP server use RFC 1048 format to reply to
         BOOTP requests."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2ConfigGroup 4 }

hpnicfDhcpServer2Opt82Enabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "When the value of this object is set to 'true',
         the DHCP server handles DHCP option 82."
    DEFVAL { true }
    ::= { hpnicfDhcpServer2ConfigGroup 5 }

hpnicfDhcpServer2PingNumber OBJECT-TYPE
    SYNTAX      Unsigned32(0..10)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of ping packets sent out."
    DEFVAL { 1 }
    ::= { hpnicfDhcpServer2ConfigGroup 6 }

hpnicfDhcpServer2PingTimeout OBJECT-TYPE
    SYNTAX      Unsigned32(0..10000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The delay for the reply of a ping packet in
         milliseconds."
    DEFVAL { 500 }
    ::= { hpnicfDhcpServer2ConfigGroup 7 }

-- =============================================================================
-- hpnicfDhcpServer2ScalarObjects: hpnicfDhcpServer2StatGroup
-- =============================================================================
hpnicfDhcpServer2StatGroup     OBJECT IDENTIFIER ::= { hpnicfDhcpServer2ScalarObjects 2 }

hpnicfDhcpServer2BadNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the bad packets received."
    ::= { hpnicfDhcpServer2StatGroup 1 }

hpnicfDhcpServer2BootpRequestNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the BOOTREQUEST packets received."
    ::= { hpnicfDhcpServer2StatGroup 2 }

hpnicfDhcpServer2DiscoverNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPDISCOVER packets
         received from the DHCP clients."
    ::= { hpnicfDhcpServer2StatGroup 3 }

hpnicfDhcpServer2RequestNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPREQUEST packets
         received from the DHCP clients."
    ::= { hpnicfDhcpServer2StatGroup 4 }

hpnicfDhcpServer2DeclineNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPDECLINE packets
         received from the DHCP clients."
    ::= { hpnicfDhcpServer2StatGroup 5 }

hpnicfDhcpServer2ReleaseNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPRELEASE packets
         received from the DHCP clients."
    ::= { hpnicfDhcpServer2StatGroup 6 }

hpnicfDhcpServer2InformNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPINFORM packets
         received from the DHCP clients."
    ::= { hpnicfDhcpServer2StatGroup 7 }

hpnicfDhcpServer2BootpReplyNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the BOOTREPLY packets
         sent by the DHCP server."
    ::= { hpnicfDhcpServer2StatGroup 8 }

hpnicfDhcpServer2OfferNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPOFFER packets
         sent by the DHCP server."
    ::= { hpnicfDhcpServer2StatGroup 9 }

hpnicfDhcpServer2AckNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPACK packets
         sent by the DHCP server."
    ::= { hpnicfDhcpServer2StatGroup 10 }

hpnicfDhcpServer2NakNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPNAK packets
         sent by the DHCP server."
    ::= { hpnicfDhcpServer2StatGroup 11 }

hpnicfDhcpServer2TotalPoolUsage OBJECT-TYPE
    SYNTAX      Unsigned32(0..100)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The percentage of IP addresses in use
         of all DHCP server pools."
    ::= { hpnicfDhcpServer2StatGroup 12 }

hpnicfDhcpServer2PoolNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of DHCP server pools."
    ::= { hpnicfDhcpServer2StatGroup 13 }

hpnicfDhcpServer2ConflictNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of conflict IP in all
         DHCP server pools."
    ::= { hpnicfDhcpServer2StatGroup 14 }

hpnicfDhcpServer2AutoBindNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of auto binding IP in
         DHCP server pools."
    ::= { hpnicfDhcpServer2StatGroup 15 }

hpnicfDhcpServer2ManualBindNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of manual binding IP in
         DHCP server pools."
    ::= { hpnicfDhcpServer2StatGroup 16 }

hpnicfDhcpServer2ExpiredBindNum OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of expired binding IP in
         DHCP server pools."
    ::= { hpnicfDhcpServer2StatGroup 17 }

-- =============================================================================
-- DHCP server table definition.
-- =============================================================================
    hpnicfDhcpServer2Tables OBJECT IDENTIFIER ::= { hpnicfDhcp4 2 }

-- =============================================================================
-- 1st Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2PoolTable
-- =============================================================================
hpnicfDhcpServer2PoolTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2PoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing DHCP server pool configurations."
    ::= { hpnicfDhcpServer2Tables 1 }

hpnicfDhcpServer2PoolEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2PoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing DHCP server pool configurations."
    INDEX { hpnicfDhcpServer2PoolIndex }
    ::= { hpnicfDhcpServer2PoolTable 1 }

HpnicfDhcpServer2PoolEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2PoolIndex                    Unsigned32,
            hpnicfDhcpServer2PoolName                     OCTET STRING,
            hpnicfDhcpServer2PoolVpnName                  OCTET STRING,
            hpnicfDhcpServer2PoolNetwork                  InetAddressIPv4,
            hpnicfDhcpServer2PoolNetworkMask              InetAddressIPv4,
            hpnicfDhcpServer2PoolStartAddr                InetAddressIPv4,
            hpnicfDhcpServer2PoolEndAddr                  InetAddressIPv4,
            hpnicfDhcpServer2PoolLeaseDay                 Integer32,
            hpnicfDhcpServer2PoolLeaseHour                Integer32,
            hpnicfDhcpServer2PoolLeaseMinute              Integer32,
            hpnicfDhcpServer2PoolLeaseSecond              Integer32,
            hpnicfDhcpServer2PoolLeaseUnlimit             TruthValue,
            hpnicfDhcpServer2PoolLeaseTime                TimeTicks,
            hpnicfDhcpServer2PoolDomainName               OCTET STRING,
            hpnicfDhcpServer2PoolGatewayIP                OCTET STRING,
            hpnicfDhcpServer2PoolDNSIP                    OCTET STRING,
            hpnicfDhcpServer2PoolPrimaryDNSIP             InetAddressIPv4,
            hpnicfDhcpServer2PoolSecondDNSIP              InetAddressIPv4,
            hpnicfDhcpServer2PoolNetbiosType              INTEGER,
            hpnicfDhcpServer2PoolNbnsIP                   OCTET STRING,
            hpnicfDhcpServer2PoolBootFileName             OCTET STRING,
            hpnicfDhcpServer2PoolBimsIP                   InetAddressIPv4,
            hpnicfDhcpServer2PoolBimsPort                 Unsigned32,
            hpnicfDhcpServer2PoolBimsKeyStr               OCTET STRING,
            hpnicfDhcpServer2PoolNextServer               InetAddressIPv4,
            hpnicfDhcpServer2PoolTftpDomName              OCTET STRING,
            hpnicfDhcpServer2PoolTftpIP                   InetAddressIPv4,
            hpnicfDhcpServer2PoolVoiceAsIP                InetAddressIPv4,
            hpnicfDhcpServer2PoolVoiceFailIP              InetAddressIPv4,
            hpnicfDhcpServer2PoolVoiceFailStr             OCTET STRING,
            hpnicfDhcpServer2PoolVoiceNCPIP               InetAddressIPv4,
            hpnicfDhcpServer2PoolVoiceVlanId              Unsigned32,
            hpnicfDhcpServer2PoolVoiceVlanEnbl            TruthValue,
            hpnicfDhcpServer2PoolRowStatus                RowStatus,
            hpnicfDhcpServer2PoolVerifyClass              TruthValue
        }

hpnicfDhcpServer2PoolIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "DHCP server pool index."
    ::= { hpnicfDhcpServer2PoolEntry 1 }

hpnicfDhcpServer2PoolName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..63))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "DHCP server pool name.

         Once this object is created, the value of this object cannot
         be modified."
    ::= { hpnicfDhcpServer2PoolEntry 2 }

hpnicfDhcpServer2PoolVpnName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..31))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Name of the VPN instance that the DHCP pool binds to.

         The value of a zero-length string means the public network.

         Once this object is created, the value of this object cannot
         be modified."
    ::= { hpnicfDhcpServer2PoolEntry 3 }

hpnicfDhcpServer2PoolNetwork OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Network address of the primary subnet in a DHCP pool.

         If the value of this object is set to 0.0.0.0,
         hpnicfDhcpServer2PoolNetworkMask is set with 0.0.0.0
         automatically."
    ::= { hpnicfDhcpServer2PoolEntry 4 }

hpnicfDhcpServer2PoolNetworkMask OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Network mask of the primary subnet in a DHCP pool.

         The SET operation to this object ought to be with
         the SET of hpnicfDhcpServer2PoolNetwork together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    ::= { hpnicfDhcpServer2PoolEntry 5 }

hpnicfDhcpServer2PoolStartAddr OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Start IP of an address range of the DHCP pool.

         If the value of this object is set to 0.0.0.0,
         hpnicfDhcpServer2PoolEndAddr is set with 0.0.0.0 automatically.
         Otherwise hpnicfDhcpServer2PoolEndAddr must be set with
         an IP address NOT smaller than the value of this object."
    ::= { hpnicfDhcpServer2PoolEntry 6 }

hpnicfDhcpServer2PoolEndAddr OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "End IP of an address range of the DHCP pool,

         The SET operation to this object ought to be with
         the SET of hpnicfDhcpServer2PoolStartAddr together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    ::= { hpnicfDhcpServer2PoolEntry 7 }

hpnicfDhcpServer2PoolLeaseDay OBJECT-TYPE
    SYNTAX      Integer32(0..365)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Number of days of the lease.

         The SET operation to this object ought to be with
         the SET of hpnicfDhcpServer2PoolLeaseHour,
         hpnicfDhcpServer2PoolLeaseMinute,
         hpnicfDhcpServer2PoolLeaseSecond together,
         and any SET operation alone to any of these objects
         will be regarded as an invalid operation.

         These objects cannot be set with 0 simultaneously."
    DEFVAL { 1 }
    ::= { hpnicfDhcpServer2PoolEntry 8 }

hpnicfDhcpServer2PoolLeaseHour OBJECT-TYPE
    SYNTAX      Integer32(0..23)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Number of hours of the lease."
    DEFVAL { 0 }
    ::= { hpnicfDhcpServer2PoolEntry 9 }

hpnicfDhcpServer2PoolLeaseMinute OBJECT-TYPE
    SYNTAX      Integer32(0..59)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Number of minutes of the lease."
    DEFVAL { 0 }
    ::= { hpnicfDhcpServer2PoolEntry 10 }

hpnicfDhcpServer2PoolLeaseSecond OBJECT-TYPE
    SYNTAX      Integer32(0..59)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Number of seconds of the lease."
    DEFVAL { 0 }
    ::= { hpnicfDhcpServer2PoolEntry 11 }

hpnicfDhcpServer2PoolLeaseUnlimit OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A flag denoting whether the lease time of
         a DHCP pool is unlimited."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2PoolEntry 12 }

hpnicfDhcpServer2PoolLeaseTime OBJECT-TYPE
    SYNTAX      TimeTicks
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The lease time of a DHCP pool in number of timeticks.

         The value of this object cannot be set to 0
         and must be set to 4294967295 or a multiple of 100.

         If the object is set with 4294967295, the lease
         time of a DHCP pool is unlimited."
    ::= { hpnicfDhcpServer2PoolEntry 13 }

hpnicfDhcpServer2PoolDomainName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..50))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Domain name for DHCP clients.

         If the object is set with a zero-length string, the
         configuration of the domain name is removed."
    ::= { hpnicfDhcpServer2PoolEntry 14 }

hpnicfDhcpServer2PoolGatewayIP OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Gateway IP addresses for DHCP clients.

         IP addresses are space separated and the leading
         or trailing space will be trimmed.

         Since at most 8 gateway addresses can be configured
         for a pool, a string is defined to get or configure
         8 IP at a time.

         If the object is set with a zero-length string, the
         configuration of the gateway address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 15 }

hpnicfDhcpServer2PoolDNSIP OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "DNS server IP addresses for DHCP clients.

         IP addresses are space separated and the leading
         or trailing space will be trimmed.

         Since at most 8 DNS server addresses can be configured
         for a pool, a string is defined to get or configure 8
         IP at a time.

         If the object is set with a zero-length string, the
         configuration of the DNS address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 16 }

hpnicfDhcpServer2PoolPrimaryDNSIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The primary DNS server IP address to be assigned to
         the client."
    ::= { hpnicfDhcpServer2PoolEntry 17 }

hpnicfDhcpServer2PoolSecondDNSIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The secondary DNS server IP address to be assigned to
         the client."
    ::= { hpnicfDhcpServer2PoolEntry 18 }

hpnicfDhcpServer2PoolNetbiosType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            null(0),
            bnode(1),
            pnode(2),
            mnode(4),
            hnode(8)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "NetBios node type for DHCP clients."
    DEFVAL { null }
    ::= { hpnicfDhcpServer2PoolEntry 19 }

hpnicfDhcpServer2PoolNbnsIP OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "NetBios server IP addresses for DHCP clients.

         IP addresses are space separated and the leading
         or trailing space will be trimmed.

         Since at most 8 NetBios server addresses can be
         configured for a pool, a string is defined to get
         or configure 8 IP at a time.

         If the object is set with a zero-length string, the
         configuration of the NBNS address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 20 }

hpnicfDhcpServer2PoolBootFileName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..63))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Boot file name for DHCP clients.

         If the object is set with a zero-length string, the
         configuration of the boot file name is removed."
    ::= { hpnicfDhcpServer2PoolEntry 21 }

hpnicfDhcpServer2PoolBimsIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "BIMS server IP address.

         If the object is set with 0.0.0.0, hpnicfDhcpServer2PoolBimsPort
         is set with 0 and hpnicfDhcpServer2PoolBimsKeyStr is set with
         a zero-length string automatically.
         Otherwise hpnicfDhcpServer2PoolBimsPort and hpnicfDhcpServer2PoolBimsKeyStr
         must be set at the same time while hpnicfDhcpServer2PoolBimsKeyStr
         must be set with a non-zero length string."
    ::= { hpnicfDhcpServer2PoolEntry 22 }

hpnicfDhcpServer2PoolBimsPort OBJECT-TYPE
    SYNTAX      Unsigned32(0..65534)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "BIMS server port number.

         The SET operation to this object ought to be with
         the SET operation of hpnicfDhcpServer2PoolBimsIP and
         hpnicfDhcpServer2PoolBimsKeyStr together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    ::= { hpnicfDhcpServer2PoolEntry 23 }

hpnicfDhcpServer2PoolBimsKeyStr  OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..16))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "BIMS server key string.

         The SET operation to this object ought to be with
         the SET of hpnicfDhcpServer2PoolBimsIP and
         hpnicfDhcpServer2PoolBimsPort together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    ::= { hpnicfDhcpServer2PoolEntry 24 }

hpnicfDhcpServer2PoolNextServer OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Next DHCP server IP address for DHCP clients.

         If the object is set with 0.0.0.0, the configuration
         of the next server address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 25 }

hpnicfDhcpServer2PoolTftpDomName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..63))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "TFTP server domain name for DHCP clients.

         If the object is set with a zero-length string, the
         configuration of the TFTP domain name is removed."
    ::= { hpnicfDhcpServer2PoolEntry 26 }

hpnicfDhcpServer2PoolTftpIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "TFTP server IP address for DHCP clients.

         If the object is set with 0.0.0.0, the configuration
         of the TFTP server address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 27 }

hpnicfDhcpServer2PoolVoiceAsIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Voice backup server IP address for DHCP clients.

         If the object is set with 0.0.0.0, the configuration
         of voice backup server IP address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 28 }

hpnicfDhcpServer2PoolVoiceFailIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Voice failover IP address for DHCP clients.

         If the object is set with 0.0.0.0,
         hpnicfDhcpServer2PoolVoiceFailStr is set with a
         zero-length string automatically.
         Otherwise hpnicfDhcpServer2PoolVoiceFailStr must be set
         with a non-zero length string at the same time."
    ::= { hpnicfDhcpServer2PoolEntry 29 }

hpnicfDhcpServer2PoolVoiceFailStr OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..39))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Voice failover dialer string for DHCP clients.

         The characters in the string must be '0' ~ '9',or '*'.
         The SET operation to this object ought to be with
         the SET operation of hpnicfDhcpServer2PoolVoiceFailIP together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    ::= { hpnicfDhcpServer2PoolEntry 30 }

hpnicfDhcpServer2PoolVoiceNCPIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Voice network calling processing IP address for DHCP clients.

         If the object is set with 0.0.0.0, the configuration of
         voice network calling processing IP address is removed."
    ::= { hpnicfDhcpServer2PoolEntry 31 }

hpnicfDhcpServer2PoolVoiceVlanId OBJECT-TYPE
    SYNTAX      Unsigned32(2..4094 | 65535)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Voice VLAN ID for DHCP clients.

         If the value of this object is set to 65535,
         hpnicfDhcpServer2PoolVoiceVlanEnbl is set with 'false' automatically.
         Otherwise hpnicfDhcpServer2PoolVoiceVlanEnbl must also be set."
    ::= { hpnicfDhcpServer2PoolEntry 32 }

hpnicfDhcpServer2PoolVoiceVlanEnbl OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable status of the specified voice VLAN for DHCP clients.

         The SET operation to this object ought to be with
         the SET operation of hpnicfDhcpServer2PoolVoiceVlanId together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2PoolEntry 33 }

hpnicfDhcpServer2PoolRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy."
    ::= { hpnicfDhcpServer2PoolEntry 34 }

hpnicfDhcpServer2PoolVerifyClass OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable the user class verification.

         When the value of this object is set to 'true', the DHCP server
         processes packets from DHCP clients in the defined user classes.
         The user class verification does not apply to packets from DHCP
         clients with static bindings."
    DEFVAL { false }
    ::= { hpnicfDhcpServer2PoolEntry 35 }

-- =============================================================================
-- 2nd Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2IfApplyPoolTable
-- =============================================================================
hpnicfDhcpServer2IfApplyPoolTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2IfApplyPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for applying a DHCP pool on interfaces."
    ::= { hpnicfDhcpServer2Tables 2 }

hpnicfDhcpServer2IfApplyPoolEntry  OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2IfApplyPoolEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for applying a DHCP pool on the interface."
    INDEX { ifIndex }
    ::= { hpnicfDhcpServer2IfApplyPoolTable 1 }

HpnicfDhcpServer2IfApplyPoolEntry ::=
    SEQUENCE
    {
        hpnicfDhcpServer2IfApplyPoolName OCTET STRING
    }

hpnicfDhcpServer2IfApplyPoolName    OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The name of the DHCP pool that apply to the interface.
         If the object is set with a zero-length string, the configuration
         will be deleted."
    ::= { hpnicfDhcpServer2IfApplyPoolEntry 1 }

-- =============================================================================
-- 3rd Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2PoolSecNwTable
-- =============================================================================
hpnicfDhcpServer2PoolSecNwTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2PoolSecNwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the secondary network configuration of
         DHCP pools."
    ::= { hpnicfDhcpServer2Tables 3 }

hpnicfDhcpServer2PoolSecNwEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2PoolSecNwEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing the objects for configuring
         the secondary network for DHCP pools."
    INDEX
        {
            hpnicfDhcpServer2PoolIndex,
            hpnicfDhcpServer2PoolSecNw,
            hpnicfDhcpServer2PoolSecNwMask
        }
    ::= { hpnicfDhcpServer2PoolSecNwTable 1 }

HpnicfDhcpServer2PoolSecNwEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2PoolSecNw                InetAddressIPv4,
            hpnicfDhcpServer2PoolSecNwMask            InetAddressIPv4,
            hpnicfDhcpServer2PoolSecNwGwIP            OCTET STRING,
            hpnicfDhcpServer2PoolSecNwStatus          RowStatus
        }

hpnicfDhcpServer2PoolSecNw OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Network address of the secondary subnets in a DHCP pool."
    ::= { hpnicfDhcpServer2PoolSecNwEntry 1 }

hpnicfDhcpServer2PoolSecNwMask OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Network mask of the secondary subnets in a DHCP pool."
    ::= { hpnicfDhcpServer2PoolSecNwEntry 2 }

hpnicfDhcpServer2PoolSecNwGwIP OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Gateway IP addresses of the secondary subnets in a DHCP pool.

         IP addresses are space separated and the leading
         or trailing space will be trimmed.

         Since at most 8 gateway addresses can be configured
         for a secondary network, a string is defined to get
         or configure 8 IP at a time.

         If the object is set with a zero-length string,
         the configuration of the gateway address is removed."
    ::= { hpnicfDhcpServer2PoolSecNwEntry 3 }

hpnicfDhcpServer2PoolSecNwStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy."
    ::= { hpnicfDhcpServer2PoolSecNwEntry 4 }

-- =============================================================================
-- 4th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2PoolClassTable
-- =============================================================================
hpnicfDhcpServer2PoolClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2PoolClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing address range of the DHCP
         server pool for user classes."
    ::= { hpnicfDhcpServer2Tables 4 }

hpnicfDhcpServer2PoolClassEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2PoolClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing address range of DHCP pools
         for user classes."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2PoolClassName }
    ::= { hpnicfDhcpServer2PoolClassTable 1 }

HpnicfDhcpServer2PoolClassEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2PoolClassName            OCTET STRING,
            hpnicfDhcpServer2PoolClassStart           InetAddressIPv4,
            hpnicfDhcpServer2PoolClassEnd             InetAddressIPv4,
            hpnicfDhcpServer2PoolClassStatus          RowStatus
        }

hpnicfDhcpServer2PoolClassName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..63))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "User class name."
    ::= { hpnicfDhcpServer2PoolClassEntry 1 }

hpnicfDhcpServer2PoolClassStart OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Start address of an address range for a DHCP user class.

         The SET operation to this object ought to be with
         the SET operation of hpnicfDhcpServer2PoolClassEnd together,
         and any SET operation alone to this object will be
         regarded as an invalid operation."
    ::= { hpnicfDhcpServer2PoolClassEntry 2 }

hpnicfDhcpServer2PoolClassEnd OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "End address of an address range for a DHCP user class.

         The SET operation to this object ought to be with
         the SET of hpnicfDhcpServer2PoolClassStart together,
         and any SET operation alone to this object will be
         regarded as an invalid operation.

         This object must be set with an IP address NOT smaller
         than the value of hpnicfDhcpServer2PoolClassStart."
    ::= { hpnicfDhcpServer2PoolClassEntry 3 }

hpnicfDhcpServer2PoolClassStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2PoolClassStart and hpnicfDhcpServer2PoolClassEnd
         must also be set."
    ::= { hpnicfDhcpServer2PoolClassEntry 4 }

-- =============================================================================
-- 5th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2PoolStaticTable
-- =============================================================================
hpnicfDhcpServer2PoolStaticTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2PoolStaticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the static binding configurations
         in DHCP pools."
    ::= { hpnicfDhcpServer2Tables 5 }

hpnicfDhcpServer2PoolStaticEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2PoolStaticEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing the objects for configuring
         the static binding in DHCP pools."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2PoolStaticIP}
    ::= { hpnicfDhcpServer2PoolStaticTable 1 }

HpnicfDhcpServer2PoolStaticEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2PoolStaticIP          InetAddressIPv4,
            hpnicfDhcpServer2PoolStaticMask        InetAddressIPv4,
            hpnicfDhcpServer2PoolStaticCID         OCTET STRING,
            hpnicfDhcpServer2PoolStaticHAddr       OCTET STRING,
            hpnicfDhcpServer2PoolStaticHType       INTEGER,
            hpnicfDhcpServer2PoolStaticStatus      RowStatus
        }

hpnicfDhcpServer2PoolStaticIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Ip address of a static binding in a DHCP pool."
    ::= { hpnicfDhcpServer2PoolStaticEntry 1 }

hpnicfDhcpServer2PoolStaticMask OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Network mask of a static binding in a DHCP pool."
    ::= { hpnicfDhcpServer2PoolStaticEntry 2 }

hpnicfDhcpServer2PoolStaticCID OBJECT-TYPE
    SYNTAX     OCTET STRING(SIZE(0|4..254))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Client identifier of a DHCP client that the IP
         address binds to.

         The structure of the OCTET STRING is
         H-H-H... while H indicates 4 hexadecimal characters
         except that the last H indicates 2 or 4 hexadecimal
         characters."
    ::= { hpnicfDhcpServer2PoolStaticEntry 3 }

hpnicfDhcpServer2PoolStaticHAddr OBJECT-TYPE
    SYNTAX     OCTET STRING(SIZE(0|4..39))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hardware address of a DHCP client that the IP
         address binds to.

         The structure of the OCTET STRING is
         H-H-H... while H indicates 4 hexadecimal characters
         except that the last H indicates 2 or 4 hexadecimal
         characters."
    ::= { hpnicfDhcpServer2PoolStaticEntry 4 }

hpnicfDhcpServer2PoolStaticHType OBJECT-TYPE
    SYNTAX     INTEGER
        {
            default(1),
            ethernet(2),
            tokenRing(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hardware type of a DHCP client that the IP address binds to.

         The SET operation to this object ought to be with
         the SET operation of hpnicfDhcpServer2PoolStaticHAddr,
         and any SET operation alone to this object will be
         regarded as an invalid operation.

         'default' indicates that the hardware type is unknown.
         If the value of hpnicfDhcpServer2PoolStaticCID is set to a non-zero
         length string, the object is set with 'default' automatically.
         Otherwise it cannot be set with 'default'.

         'ethernet' indicates that the hardware type is ethernet.
         If the value of hpnicfDhcpServer2PoolStaticHAddr is set with
         a non-zero length string, the default value of this object
         is 'ethernet'.

         'tokenRing' indicates that the hardware type is token-ring."
    ::= { hpnicfDhcpServer2PoolStaticEntry 5 }

hpnicfDhcpServer2PoolStaticStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2PoolStaticCID or (hpnicfDhcpServer2PoolStaticHardAddr
         and hpnicfDhcpServer2PoolStaticHardType) must also be set."
    ::= { hpnicfDhcpServer2PoolStaticEntry 6 }

-- =============================================================================
-- 6th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2PoolOptionTable
-- =============================================================================
hpnicfDhcpServer2PoolOptionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2PoolOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring user-defined options for DHCP pools."
    ::= { hpnicfDhcpServer2Tables 6 }

hpnicfDhcpServer2PoolOptionEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2PoolOptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing the objects for configuring user-defined
         options for DHCP pools."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2PoolOptCode }
    ::= { hpnicfDhcpServer2PoolOptionTable 1 }

HpnicfDhcpServer2PoolOptionEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2PoolOptCode         Integer32,
            hpnicfDhcpServer2PoolOptType         INTEGER,
            hpnicfDhcpServer2PoolOptAscii        OCTET STRING,
            hpnicfDhcpServer2PoolOptHexStr       OCTET STRING,
            hpnicfDhcpServer2PoolOptIPStr        OCTET STRING,
            hpnicfDhcpServer2PoolOptRowStatus    RowStatus
        }

hpnicfDhcpServer2PoolOptCode OBJECT-TYPE
    SYNTAX      Integer32(2..254)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Option code."
    ::= { hpnicfDhcpServer2PoolOptionEntry 1 }

hpnicfDhcpServer2PoolOptType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            ascii(1),
            hex(2),
            ip(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Option type.

         'ascii' means using the ascii string that is defined
         by hpnicfDhcpServer2PoolOptAscii to fill in the option.

         'hex' means using the hex string that is defined by
         hpnicfDhcpServer2PoolOptHexStr to fill in the option.

         'ip' means using the IP string that is defined by
         hpnicfDhcpServer2PoolOptIPStr to fill in the option."
    ::= { hpnicfDhcpServer2PoolOptionEntry 2 }

hpnicfDhcpServer2PoolOptAscii OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Ascii string of an option.

         If hpnicfDhcpServer2PoolOptType is set with 'ascii',
         this object must be set with a non-zero length
         string."
    ::= { hpnicfDhcpServer2PoolOptionEntry 3 }

hpnicfDhcpServer2PoolOptHexStr OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..510))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hex string of an option.

         The length of the string must be even.
         If hpnicfDhcpServer2PoolOptType is set with 'hex',
         this object must be set with a non-zero length
         string."
    ::= { hpnicfDhcpServer2PoolOptionEntry 4 }

hpnicfDhcpServer2PoolOptIPStr OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "IP string of an option.

         IP addresses are space separated and the leading
         or trailing space will be trimmed.

         1 to 8 IP addresses can be configured simultaneously.

         If hpnicfDhcpServer2PoolOptType is set with 'ip',
         this object must be set with a non-zero length string
         that must contain at least one IP address."
    ::= { hpnicfDhcpServer2PoolOptionEntry 5 }

hpnicfDhcpServer2PoolOptRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active, createAndGo,
         destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2PoolOptType must also be set."
    ::= { hpnicfDhcpServer2PoolOptionEntry 6 }

-- =============================================================================
-- 7th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2PoolForbidTable
-- =============================================================================
hpnicfDhcpServer2PoolForbidTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2PoolForbidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring forbidden IP for a DHCP server pool."
    ::= { hpnicfDhcpServer2Tables 7 }

hpnicfDhcpServer2PoolForbidEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2PoolForbidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring forbidden IP for a DHCP server pool."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2PoolForbidIP }
    ::= { hpnicfDhcpServer2PoolForbidTable 1 }

HpnicfDhcpServer2PoolForbidEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2PoolForbidIP             InetAddressIPv4,
            hpnicfDhcpServer2PoolForbidStatus         RowStatus
        }

hpnicfDhcpServer2PoolForbidIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Forbidden IP of the DHCP pool."
    ::= { hpnicfDhcpServer2PoolForbidEntry 1 }

hpnicfDhcpServer2PoolForbidStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy."
    ::= { hpnicfDhcpServer2PoolForbidEntry 2 }

-- =============================================================================
-- 8th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2ClassTable
-- =============================================================================
hpnicfDhcpServer2ClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2ClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring user class to DHCP server."
    ::= { hpnicfDhcpServer2Tables 8 }

hpnicfDhcpServer2ClassEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2ClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring user class to DHCP server."
    INDEX { hpnicfDhcpServer2ClassName }
    ::= { hpnicfDhcpServer2ClassTable 1 }

HpnicfDhcpServer2ClassEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2ClassName           OCTET STRING,
            hpnicfDhcpServer2ClassRowStatus      RowStatus
        }

hpnicfDhcpServer2ClassName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..63))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "DHCP user class name."
    ::= { hpnicfDhcpServer2ClassEntry 1 }

hpnicfDhcpServer2ClassRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy."
    ::= { hpnicfDhcpServer2ClassEntry 2 }

-- =============================================================================
-- 9th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2RuleTable
-- =============================================================================
hpnicfDhcpServer2RuleTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2RuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring option rules used to match DHCP users."
    ::= { hpnicfDhcpServer2Tables 9 }

hpnicfDhcpServer2RuleEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2RuleEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring option rules used to match DHCP users."
    INDEX
        {
            hpnicfDhcpServer2ClassName,
            hpnicfDhcpServer2RuleNumber
        }
    ::= { hpnicfDhcpServer2RuleTable 1 }

HpnicfDhcpServer2RuleEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2RuleNumber           Integer32,
            hpnicfDhcpServer2RuleOptCode          Integer32,
            hpnicfDhcpServer2RuleOptHexStr        OCTET STRING,
            hpnicfDhcpServer2RuleOptMask          OCTET STRING,
            hpnicfDhcpServer2RuleOptOffset        Integer32,
            hpnicfDhcpServer2RuleOptLength        Integer32,
            hpnicfDhcpServer2RuleRowStatus        RowStatus
        }

hpnicfDhcpServer2RuleNumber OBJECT-TYPE
    SYNTAX      Integer32(1..16)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Rule number."
    ::= { hpnicfDhcpServer2RuleEntry 1 }

hpnicfDhcpServer2RuleOptCode OBJECT-TYPE
    SYNTAX      Integer32(1..254)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Option code."
    ::= { hpnicfDhcpServer2RuleEntry 2 }

hpnicfDhcpServer2RuleOptHexStr OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..510))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hex string of an option.

         The length of the string must be even."
    ::= { hpnicfDhcpServer2RuleEntry 3 }

hpnicfDhcpServer2RuleOptMask OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..510))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The mask used to match options.

         The length of this object must be same with that of
         hpnicfDhcpServer2RuleOptHexStr.

         The SET operation of this object must be with
         the SET operation of hpnicfDhcpServer2RuleOptHexStr."
    ::= { hpnicfDhcpServer2RuleEntry 4 }

hpnicfDhcpServer2RuleOptOffset OBJECT-TYPE
    SYNTAX      Integer32(0..254)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The option offset used to match users.

         The SET operation of this object must be with
         the SET operation of hpnicfDhcpServer2RuleOptHexStr,
         hpnicfDhcpServer2RuleOptLength."
    ::= { hpnicfDhcpServer2RuleEntry 5 }

hpnicfDhcpServer2RuleOptLength OBJECT-TYPE
    SYNTAX      Integer32(0..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The option length used to match user options.

         The SET operation of this object must be with
         the SET operation of hpnicfDhcpServer2RuleOptOffset."
    ::= { hpnicfDhcpServer2RuleEntry 6 }

hpnicfDhcpServer2RuleRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2RuleOptCode must also be set."
    ::= { hpnicfDhcpServer2RuleEntry 7 }

-- =============================================================================
-- 10th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2ForbidTable
-- =============================================================================
hpnicfDhcpServer2ForbidTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2ForbidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring forbidden IP range to DHCP server."
    ::= { hpnicfDhcpServer2Tables 10 }

hpnicfDhcpServer2ForbidEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2ForbidEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring forbidden IP range to DHCP server."
    INDEX
        {
            hpnicfDhcpServer2ForbidVpnName,
            hpnicfDhcpServer2ForbidStart,
            hpnicfDhcpServer2ForbidEnd
        }
    ::= { hpnicfDhcpServer2ForbidTable 1 }

HpnicfDhcpServer2ForbidEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2ForbidVpnName      OCTET STRING,
            hpnicfDhcpServer2ForbidStart        InetAddressIPv4,
            hpnicfDhcpServer2ForbidEnd          InetAddressIPv4,
            hpnicfDhcpServer2ForbidRowStatus    RowStatus
        }

hpnicfDhcpServer2ForbidVpnName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..31))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Name of the VPN instance that the forbidden IP range
         binds to.

         If the value of this object is 0x1, the network that
         the forbidden IP range belongs to is the public network."
    ::= { hpnicfDhcpServer2ForbidEntry 1 }

hpnicfDhcpServer2ForbidStart OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Start IP of forbidden IP range."
    ::= { hpnicfDhcpServer2ForbidEntry 2 }

hpnicfDhcpServer2ForbidEnd OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "End IP of forbidden IP range."
    ::= { hpnicfDhcpServer2ForbidEntry 3 }

hpnicfDhcpServer2ForbidRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active,
         createAndGo, destroy."
    ::= { hpnicfDhcpServer2ForbidEntry 4 }

-- =============================================================================
-- 11th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2FreeTable
-- =============================================================================
hpnicfDhcpServer2FreeTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2FreeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for displaying free IP range for DHCP server."
    ::= { hpnicfDhcpServer2Tables 11 }

hpnicfDhcpServer2FreeEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2FreeEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for displaying free IP range for DHCP server."
    INDEX
        {
            hpnicfDhcpServer2PoolIndex,
            hpnicfDhcpServer2FreeStart
        }
    ::= { hpnicfDhcpServer2FreeTable 1 }

HpnicfDhcpServer2FreeEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2FreeStart             InetAddressIPv4,
            hpnicfDhcpServer2FreeEnd               InetAddressIPv4
        }

hpnicfDhcpServer2FreeStart OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Start IP of free IP range."
    ::= { hpnicfDhcpServer2FreeEntry 1 }

hpnicfDhcpServer2FreeEnd OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "End IP of free IP range."
    ::= { hpnicfDhcpServer2FreeEntry 2 }

-- =============================================================================
-- 12th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2ConflictTable
-- =============================================================================
hpnicfDhcpServer2ConflictTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2ConflictEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for displaying the information of conflict
         IP for DHCP server."
    ::= { hpnicfDhcpServer2Tables 12 }

hpnicfDhcpServer2ConflictEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2ConflictEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for displaying the information of
         conflict IP for DHCP server."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2ConflictIP }
    ::= { hpnicfDhcpServer2ConflictTable 1 }

HpnicfDhcpServer2ConflictEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2ConflictIP            InetAddressIPv4,
            hpnicfDhcpServer2ConflictType          INTEGER,
            hpnicfDhcpServer2ConflictTime          OCTET STRING,
            hpnicfDhcpServer2ConflictRowStatus     RowStatus
        }

hpnicfDhcpServer2ConflictIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Conflict IP."
    ::= { hpnicfDhcpServer2ConflictEntry 1 }

hpnicfDhcpServer2ConflictType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            detectByServer(1),
            detectByClient(2)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of the detection of conflict IP.
         'detectByServer' denotes that the conflict is detected
         by DHCP server.
         'detectByClient' denotes that the conflict is detected
         by DHCP client."
    ::= { hpnicfDhcpServer2ConflictEntry 2 }

hpnicfDhcpServer2ConflictTime OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..19))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Time when the conflict is detected.
         The structure of the OCTET STRING is
         month/day/year hour:munite:second
         (MM/DD/YYYY hh:mm:ss)."
    ::= { hpnicfDhcpServer2ConflictEntry 3 }

hpnicfDhcpServer2ConflictRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Only destroy action is allow to use."
    ::= { hpnicfDhcpServer2ConflictEntry 4 }

-- =============================================================================
-- 13th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2ExpiredTable
-- =============================================================================
hpnicfDhcpServer2ExpiredTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HpnicfDhcpServer2ExpiredEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table for displaying the information of expired IP
         for DHCP Server pools. "
    ::= { hpnicfDhcpServer2Tables 13 }

hpnicfDhcpServer2ExpiredEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2ExpiredEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of objects for displaying information
         of expired IP for DHCP server pools."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2ExpiredIP }
    ::= { hpnicfDhcpServer2ExpiredTable 1 }

HpnicfDhcpServer2ExpiredEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2ExpiredIP                  InetAddressIPv4,
            hpnicfDhcpServer2ExpiredClientId            OCTET STRING,
            hpnicfDhcpServer2ExpiredTime                OCTET STRING,
            hpnicfDhcpServer2ExpiredRowStatus           RowStatus
        }

hpnicfDhcpServer2ExpiredIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Expired IP address."
    ::= { hpnicfDhcpServer2ExpiredEntry 1 }

hpnicfDhcpServer2ExpiredClientId OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(4..254))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Client identifier or hardware address."
    ::= { hpnicfDhcpServer2ExpiredEntry 2 }

hpnicfDhcpServer2ExpiredTime OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..19))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Expired time.
         The structure of the OCTET STRING is
         month/day/year hour:munite:second
         (MM/DD/YYYY hh:mm:ss)."
    ::= { hpnicfDhcpServer2ExpiredEntry 3 }

hpnicfDhcpServer2ExpiredRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Only destroy action is allow to use."
    ::= { hpnicfDhcpServer2ExpiredEntry 4 }

-- =============================================================================
-- 14th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2IPInUseTable
-- =============================================================================
hpnicfDhcpServer2IPInUseTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HpnicfDhcpServer2IPInUseEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table for displaying the information of IP in use
         for DHCP Server pools. "
    ::= { hpnicfDhcpServer2Tables 14 }

hpnicfDhcpServer2IPInUseEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2IPInUseEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry of objects for displaying information
         of IP in use for DHCP server pools."
    INDEX { hpnicfDhcpServer2PoolIndex, hpnicfDhcpServer2IPInUseIP }
    ::= { hpnicfDhcpServer2IPInUseTable 1 }

HpnicfDhcpServer2IPInUseEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2IPInUseIP                  InetAddressIPv4,
            hpnicfDhcpServer2IPInUseClientId            OCTET STRING,
            hpnicfDhcpServer2IPInUseHardAddr            OCTET STRING,
            hpnicfDhcpServer2IPInUseHardType            INTEGER,
            hpnicfDhcpServer2IPInUseVlanId              Unsigned32,
            hpnicfDhcpServer2IPInUseEndLease            OCTET STRING,
            hpnicfDhcpServer2IPInUseType                INTEGER,
            hpnicfDhcpServer2IPInUseIfIndex             InterfaceIndexOrZero,
            hpnicfDhcpServer2IPInUseRowStatus           RowStatus
        }

hpnicfDhcpServer2IPInUseIP OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Ip address in use."
    ::= { hpnicfDhcpServer2IPInUseEntry 1 }

hpnicfDhcpServer2IPInUseClientId OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0|4..254))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Client identifier."
    ::= { hpnicfDhcpServer2IPInUseEntry 2 }

hpnicfDhcpServer2IPInUseHardAddr OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0|4..39))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Hardware address."
    ::= { hpnicfDhcpServer2IPInUseEntry 3 }

hpnicfDhcpServer2IPInUseHardType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            default(1),
            ethernet(2),
            tokenRing(3)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Hardware address type."
    ::= { hpnicfDhcpServer2IPInUseEntry 4 }

hpnicfDhcpServer2IPInUseVlanId OBJECT-TYPE
    SYNTAX      Unsigned32(1..4094|65535)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "User's VLAN ID.

         65535 means that a client doesn't have VLAN ID or have an
         invalid VLAN ID."
    ::= { hpnicfDhcpServer2IPInUseEntry 5 }

hpnicfDhcpServer2IPInUseEndLease OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..19))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "End time of lease.
         The structure of the OCTET STRING is
         month/day/year hour:munite:second
         (MM/DD/YYYY hh:mm:ss)."
    ::= { hpnicfDhcpServer2IPInUseEntry 6 }

hpnicfDhcpServer2IPInUseType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            staticUnallocated(1),
            staticOffered(2),
            staticCommitted(3),
            autoOffered(4),
            autoCommitted(5)
        }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of binding."
    ::= { hpnicfDhcpServer2IPInUseEntry 7 }

hpnicfDhcpServer2IPInUseIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Interface index information.
         If the value of this object is zero,
         the interface is unknown."
    ::= { hpnicfDhcpServer2IPInUseEntry 8 }

hpnicfDhcpServer2IPInUseRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Only destroy action is allow to use."
    ::= { hpnicfDhcpServer2IPInUseEntry 9 }

-- =============================================================================
-- 15th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2DefOptGrpTable
-- =============================================================================
hpnicfDhcpServer2DefOptGrpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2DefOptGrpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing option group of the DHCP server pool for user
         classes."
    ::= { hpnicfDhcpServer2Tables 15 }

hpnicfDhcpServer2DefOptGrpEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2DefOptGrpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing option group of DHCP pools for user classes."
    INDEX {
            hpnicfDhcpServer2PoolIndex,
            hpnicfDhcpServer2DefOptGrpClass
          }
    ::= { hpnicfDhcpServer2DefOptGrpTable 1 }

HpnicfDhcpServer2DefOptGrpEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2DefOptGrpClass        OCTET STRING,
            hpnicfDhcpServer2DefOptGrpId           Integer32,
            hpnicfDhcpServer2DefOptGrpStatus       RowStatus
        }

hpnicfDhcpServer2DefOptGrpClass OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..63))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "User class name."
    ::= { hpnicfDhcpServer2DefOptGrpEntry 1 }

hpnicfDhcpServer2DefOptGrpId OBJECT-TYPE
    SYNTAX      Integer32 (1..32768)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The option group ID."
    ::= { hpnicfDhcpServer2DefOptGrpEntry 2 }

hpnicfDhcpServer2DefOptGrpStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active, createAndGo, destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2DefOptGrpId must also be set."
    ::= { hpnicfDhcpServer2DefOptGrpEntry 3 }

-- =============================================================================
-- 16th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2ValidClassTable
-- =============================================================================
hpnicfDhcpServer2ValidClassTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2ValidClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing valid user classes for DHCP server pool."
    ::= { hpnicfDhcpServer2Tables 16 }

hpnicfDhcpServer2ValidClassEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2ValidClassEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing valid user classes for DHCP server pool."
    INDEX {
      hpnicfDhcpServer2PoolIndex,
      hpnicfDhcpServer2ValidClassName
    }
    ::= { hpnicfDhcpServer2ValidClassTable 1 }

HpnicfDhcpServer2ValidClassEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2ValidClassName            OCTET STRING,
            hpnicfDhcpServer2ValidClassStatus          RowStatus
        }

hpnicfDhcpServer2ValidClassName OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(1..63))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "User class name."
    ::= { hpnicfDhcpServer2ValidClassEntry 1 }

hpnicfDhcpServer2ValidClassStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active, createAndGo, destroy."
    ::= { hpnicfDhcpServer2ValidClassEntry 2 }

-- =============================================================================
-- 17th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2RuleHwAddrTable
-- =============================================================================
hpnicfDhcpServer2RuleHwAddrTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2RuleHwAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring hardware address rules used to match DHCP
         users."
    ::= { hpnicfDhcpServer2Tables 17 }

hpnicfDhcpServer2RuleHwAddrEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2RuleHwAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring hardware address rules used to match DHCP
         users."
    INDEX
        {
          hpnicfDhcpServer2ClassName,
          hpnicfDhcpServer2RuleHwAddrNumber
        }
    ::= { hpnicfDhcpServer2RuleHwAddrTable 1 }

HpnicfDhcpServer2RuleHwAddrEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2RuleHwAddrNumber           Integer32,
            hpnicfDhcpServer2RuleHwAddress              OCTET STRING,
            hpnicfDhcpServer2RuleHwAddrMask             OCTET STRING,
            hpnicfDhcpServer2RuleHwAddrType             Integer32,
            hpnicfDhcpServer2RuleHwAddrStatus           RowStatus
        }

hpnicfDhcpServer2RuleHwAddrNumber OBJECT-TYPE
    SYNTAX      Integer32(1..16)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Rule number."
    ::= { hpnicfDhcpServer2RuleHwAddrEntry 1 }

hpnicfDhcpServer2RuleHwAddress OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(4..39))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hardware address for a rule.

         The structure of the OCTET STRING is H-H-H... while H indicates 4
         hexadecimal characters except that the last H indicates 2 or 4
         hexadecimal characters.

         The SET operation to this object ought to be with the SET operation
         of hpnicfDhcpServer2RuleHwAddrMask together, and any SET operation
         alone to this object will be regarded as an invalid operation."
    ::= { hpnicfDhcpServer2RuleHwAddrEntry 2 }

hpnicfDhcpServer2RuleHwAddrMask OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(4..39))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Mask of hardware address for a rule.

         The structure of the OCTET STRING is the same with
         hpnicfDhcpServer2RuleHwAddress.

         The SET operation to this object ought to be with the SET operation
         of hpnicfDhcpServer2RuleHwAddress together, and any SET operation
         alone to this object will be regarded as an invalid operation."
    ::= { hpnicfDhcpServer2RuleHwAddrEntry 3 }

hpnicfDhcpServer2RuleHwAddrType OBJECT-TYPE
    SYNTAX      Integer32(1..255)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hardware type for a rule.

         The codes of all hardware types see ARP section in RFC 1700.

         The SET operation alone to this object will be regarded as an
         invalid operation."
    DEFVAL { 1 }
    ::= { hpnicfDhcpServer2RuleHwAddrEntry 4 }

hpnicfDhcpServer2RuleHwAddrStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active, createAndGo, destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2RuleHwAddrAddress and hpnicfDhcpServer2RuleHwAddrMask
         must also be set."
    ::= { hpnicfDhcpServer2RuleHwAddrEntry 5 }

-- =============================================================================
-- 18th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2OptionGroupTable
-- =============================================================================
hpnicfDhcpServer2OptionGroupTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2OptionGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for creating DHCP server option groups."
    ::= { hpnicfDhcpServer2Tables 18 }

hpnicfDhcpServer2OptionGroupEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2OptionGroupEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing objects for creating or deleting an option
         group."
    INDEX { hpnicfDhcpServer2OptionGroupId }
    ::= { hpnicfDhcpServer2OptionGroupTable 1 }

HpnicfDhcpServer2OptionGroupEntry ::=
    SEQUENCE
        {
            hpnicfDhcpServer2OptionGroupId         Integer32,
            hpnicfDhcpServer2OptionGroupStatus     RowStatus
        }

hpnicfDhcpServer2OptionGroupId OBJECT-TYPE
    SYNTAX      Integer32 (1..32768)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The option group ID."
    ::= { hpnicfDhcpServer2OptionGroupEntry 1 }

hpnicfDhcpServer2OptionGroupStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active, createAndGo, destroy."
    ::= { hpnicfDhcpServer2OptionGroupEntry 2 }

-- =============================================================================
-- 19th Table of hpnicfDhcpServer2Tables: hpnicfDhcpServer2OptionTable
-- =============================================================================
hpnicfDhcpServer2OptionTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpServer2OptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring options in an option group."
    ::= { hpnicfDhcpServer2Tables 19 }

hpnicfDhcpServer2OptionEntry OBJECT-TYPE
    SYNTAX      HpnicfDhcpServer2OptionEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing objects for configuring an option in an option
         group."
    INDEX
        {
          hpnicfDhcpServer2OptionGroupId,
          hpnicfDhcpServer2OptionCode
        }
    ::= { hpnicfDhcpServer2OptionTable 1 }

HpnicfDhcpServer2OptionEntry ::=
    SEQUENCE
        {   hpnicfDhcpServer2OptionCode         Integer32,
            hpnicfDhcpServer2OptionType         INTEGER,
            hpnicfDhcpServer2OptionAscii        OCTET STRING,
            hpnicfDhcpServer2OptionHexStr       OCTET STRING,
            hpnicfDhcpServer2OptionIPStr        OCTET STRING,
            hpnicfDhcpServer2OptionRowStatus    RowStatus
        }

hpnicfDhcpServer2OptionCode OBJECT-TYPE
    SYNTAX      Integer32 (2..254)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Option code."
    ::= { hpnicfDhcpServer2OptionEntry 1 }

hpnicfDhcpServer2OptionType OBJECT-TYPE
    SYNTAX      INTEGER
        {
            ascii(1),
            hex(2),
            ip(3)
        }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Option type.

         'ascii' means using the ascii string that is defined by
         hpnicfDhcpServer2OptionAscii to fill in the option.

         'hex' means using the hex string that is defined by
         hpnicfDhcpServer2OptionHexStr to fill in the option.

         'ip' means using the IP string that is defined by
         hpnicfDhcpServer2OptionIPStr to fill in the option."
    ::= { hpnicfDhcpServer2OptionEntry 2 }

hpnicfDhcpServer2OptionAscii    OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Ascii string of an option.

         If hpnicfDhcpServer2OptionType is set with 'ascii', this object must
         be set with a non-zero length string."
    ::= { hpnicfDhcpServer2OptionEntry 3 }

hpnicfDhcpServer2OptionHexStr    OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..510))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Hex string of an option.

         The length of the string must be even.  If
         hpnicfDhcpServer2OptionType is set with 'hex', this object must be
         set with a non-zero length string."
    ::= { hpnicfDhcpServer2OptionEntry 4 }

hpnicfDhcpServer2OptionIPStr    OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..127))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "IP string of an option.

         IP addresses are space separated and the leading or trailing space
         will be trimmed.

         1 to 8 IP addresses can be configured simultaneously.

         If hpnicfDhcpServer2OptionType is set with 'ip', this object must be
         set with a non-zero length string that must contain at least one IP
         address."
    ::= { hpnicfDhcpServer2OptionEntry 5 }

hpnicfDhcpServer2OptionRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "RowStatus.  Three actions are used: active, createAndGo, destroy.

         If the value of this object is set to 'createAndGo',
         hpnicfDhcpServer2OptionType must also be set."
    ::= { hpnicfDhcpServer2OptionEntry 6 }

-- =============================================================================
-- DHCP relay scalar object definition begin
-- =============================================================================
    hpnicfDhcpRelay2ScalarObjects   OBJECT IDENTIFIER ::= { hpnicfDhcp4 3 }

-- =============================================================================
-- hpnicfDhcpRelay2ScalarObjects: hpnicfDhcpRelay2ConfigGroup
-- =============================================================================
hpnicfDhcpRelay2ConfigGroup  OBJECT IDENTIFIER ::= { hpnicfDhcpRelay2ScalarObjects 1 }

hpnicfDhcpRelay2UserInfoRecord OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If the value is 'true', user information will be recorded."
    DEFVAL { false }
    ::= { hpnicfDhcpRelay2ConfigGroup 1 }

hpnicfDhcpRelay2UserInfoRefresh OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If the value is 'true', user information will be refreshed
         on timer."
    DEFVAL { true }
    ::= { hpnicfDhcpRelay2ConfigGroup 2 }

hpnicfDhcpRelay2UserInfoFlushTime OBJECT-TYPE
    SYNTAX      Unsigned32(0..120)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User information refresh interval in seconds.

         If the value of the object is set to 0, the interval is
         calculated automatically by the number of user
         information entries."
    DEFVAL { 0 }
    ::= { hpnicfDhcpRelay2ConfigGroup 3 }

hpnicfDhcpRelay2ReleaseAddr   OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..47))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "User address to be released.

         The structure of the OCTET STRING is
         IP address:VPN name.
         If the VPN instance name is NOT specified,
         the IP address is in public network."
    ::= { hpnicfDhcpRelay2ConfigGroup 4 }

-- =============================================================================
-- hpnicfDhcpRelay2ScalarObjects: hpnicfDhcpRelay2StatisticsGroup
-- =============================================================================
hpnicfDhcpRelay2StatisticsGroup  OBJECT IDENTIFIER ::= { hpnicfDhcpRelay2ScalarObjects 2 }

hpnicfDhcpRelay2RxClientNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets received from DHCP
         clients by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 1 }

hpnicfDhcpRelay2TxClientNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets transmitted to
         DHCP clients by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 2 }

hpnicfDhcpRelay2RxServerNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets received from
         DHCP Servers by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 3 }

hpnicfDhcpRelay2TxServerNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the packets transmitted to
         DHCP Servers by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 4 }

hpnicfDhcpRelay2BadNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the bad packets received."
    ::= { hpnicfDhcpRelay2StatisticsGroup 5 }

hpnicfDhcpRelay2BootpRequestNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the BOOTREQUEST packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 6 }

hpnicfDhcpRelay2DiscoverNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPDISCOVER packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 7 }

hpnicfDhcpRelay2RequestNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPREQUEST packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 8 }

hpnicfDhcpRelay2DeclineNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPDECLINE packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 9 }

hpnicfDhcpRelay2ReleaseNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPRELEASE packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 10 }

hpnicfDhcpRelay2InformNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPINFORM packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 11 }

hpnicfDhcpRelay2BootpReplyNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the BOOTREPLY packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 12 }

hpnicfDhcpRelay2OfferNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPOFFER packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 13 }

hpnicfDhcpRelay2AckNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPACK packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 14 }

hpnicfDhcpRelay2NakNum OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of the DHCPNAK packets handled
         by DHCP relay."
    ::= { hpnicfDhcpRelay2StatisticsGroup 15 }

-- =============================================================================
-- DHCP relay table definition.
-- =============================================================================
    hpnicfDhcpRelay2Tables OBJECT IDENTIFIER ::= { hpnicfDhcp4 4 }

-- =============================================================================
-- 1st Table of hpnicfDhcpRelay2Tables: hpnicfDhcpRelay2IfConfigTable
-- =============================================================================
hpnicfDhcpRelay2IfConfigTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpRelay2IfConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring relay functions for interfaces."
    ::= { hpnicfDhcpRelay2Tables 1 }

hpnicfDhcpRelay2IfConfigEntry  OBJECT-TYPE
    SYNTAX      HpnicfDhcpRelay2IfConfigEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring relay functions for an interface."
    INDEX { ifIndex }
    ::= { hpnicfDhcpRelay2IfConfigTable 1 }

HpnicfDhcpRelay2IfConfigEntry ::=
    SEQUENCE
        {
            hpnicfDhcpRelay2IfSelectRelay              TruthValue,
            hpnicfDhcpRelay2IfCheckMac                 TruthValue,
            hpnicfDhcpRelay2IfOpt82Enable              TruthValue,
            hpnicfDhcpRelay2IfOpt82Strategy            INTEGER,
            hpnicfDhcpRelay2IfOpt82CIDMode             INTEGER,
            hpnicfDhcpRelay2IfOpt82CIDNodeType         INTEGER,
            hpnicfDhcpRelay2IfOpt82CIDNodeStr          OCTET STRING,
            hpnicfDhcpRelay2IfOpt82CIDStr              OCTET STRING,
            hpnicfDhcpRelay2IfOpt82CIDFormat           INTEGER,
            hpnicfDhcpRelay2IfOpt82RIDMode             INTEGER,
            hpnicfDhcpRelay2IfOpt82RIDStr              OCTET STRING,
            hpnicfDhcpRelay2IfOpt82RIDFormat           INTEGER
        }

hpnicfDhcpRelay2IfSelectRelay    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If the value is 'true', the DHCP relay function
         would be enabled on this interface."
    DEFVAL      { false }
    ::= { hpnicfDhcpRelay2IfConfigEntry 1 }

hpnicfDhcpRelay2IfCheckMac    OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If the value is 'true', the function of checking MAC address
         of packets received from the interface would be enabled."
    DEFVAL      { false }
    ::= { hpnicfDhcpRelay2IfConfigEntry 2 }

hpnicfDhcpRelay2IfOpt82Enable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If DHCP relay supports option 82 functions, the
         value is 'true'.
         If DHCP relay does NOT support option 82 functions,
         the value is 'false'."
    DEFVAL      { false }
    ::= { hpnicfDhcpRelay2IfConfigEntry 3 }

hpnicfDhcpRelay2IfOpt82Strategy     OBJECT-TYPE
    SYNTAX      INTEGER
    {
        drop(1),
        keep(2),
        replace(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The strategies of DHCP relay handling option 82.

         'drop' indicates DHCP relay discarding the request
         packet including option 82.

         'keep' indicates DHCP relay accepting the request
         packet without any change of the option 82.

         'replace' indicates DHCP relay accepting the
         request packet on condition that it generates a new
         option 82 to replace the original one."
    DEFVAL      { replace }
    ::= { hpnicfDhcpRelay2IfConfigEntry 4 }

hpnicfDhcpRelay2IfOpt82CIDMode OBJECT-TYPE
    SYNTAX      INTEGER
    {
        normal(1),
        verbose(2),
        userDefine(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The mode of the circuit ID suboption of DHCP option 82.

         'normal' is the standard mode.

         'verbose' is the detailed mode.

         'userDefine' is the user-defined mode.

         If the value of this object is set to 'userDefine',
         hpnicfDhcpRelay2IfOpt82CIDStr must also be set."
    DEFVAL      { normal }
    ::= { hpnicfDhcpRelay2IfConfigEntry 5 }

hpnicfDhcpRelay2IfOpt82CIDNodeType OBJECT-TYPE
    SYNTAX      INTEGER
    {
        invalid(1),
        mac(2),
        sysname(3),
        userDefine(4)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Type of access node identifier that is used to fill
         in the circuit ID suboption of option 82 when the value
         of hpnicfDhcpRelay2IfOpt82CIDMode is set to 'verbose'.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpRelay2IfOpt82CIDMode.

         'invalid' indicates that the node identifier is NOT used
         to fill in the circuit ID suboption of option 82.
         If the value of hpnicfDhcpRelay2IfOpt82CIDMode is NOT 'verbose',
         the value of this object is set to 'invalid' automatically.
         Otherwise the value of this object cannot be set to 'invalid'.

         'mac' indicates that the node identifier is filled in with
         the MAC of DHCP relay input interface.
         If the value of hpnicfDhcpRelay2IfOpt82CIDMode is set to
         'verbose', the default value of this object is 'mac'.

         'sysname' indicates that the node identifier is filled in with
         the sysname of the DHCP relay device.

         'userDefine' indicates that the node identifier is filled in with
         the string defined by the object of hpnicfDhcpRelay2IfOpt82CIDNodeStr.
         If the value is set to 'userDefine', the value of
         hpnicfDhcpRelay2IfOpt82CIDNodeStr must be set to a non-zero
         length string simultaneously."
    ::= { hpnicfDhcpRelay2IfConfigEntry 6 }

hpnicfDhcpRelay2IfOpt82CIDNodeStr      OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0..50))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "The string defined by user to fill in the
          node identifier in the verbose mode.

          If the value of hpnicfDhcpRelay2IfOpt82CIDMode is NOT 'verbose',
          or the value of hpnicfDhcpRelay2IfOpt82CIDNodeType is
          NOT 'userDefine', it is set with a zero-length string
          automatically.
          Otherwise it must be set with a non-zero length string.

          The SET operation of this object must be with the SET
          operation of hpnicfDhcpRelay2IfOpt82CIDMode and
          hpnicfDhcpRelay2IfOpt82CIDNodeType."
    ::= { hpnicfDhcpRelay2IfConfigEntry 7 }

hpnicfDhcpRelay2IfOpt82CIDStr      OBJECT-TYPE
    SYNTAX      OCTET STRING(SIZE(0|3..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The string defined by user to fill in the circuit ID
         suboption of option 82 in the user-define mode.

         If the value of hpnicfDhcpRelay2IfOpt82CIDMode is NOT 'userDefine',
         it is set to a zero-length string automatically.
         Otherwise it must be set with a non-zero length string.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpRelay2IfOpt82CIDMode."
    ::= { hpnicfDhcpRelay2IfConfigEntry 8 }

hpnicfDhcpRelay2IfOpt82CIDFormat    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        hex(1),
        ascii(2),
        undefine(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The format of the circuit ID suboption of DHCP
         option 82.

         'hex' is the hex format.

         'ascii' is the ascii format.

         'undefine' is the undefine format.

         If the value of hpnicfDhcpRelay2IfOpt82CIDMode is
         'normal', the value of this object is set to 'hex'
         automatically and cannot be set to 'undefine'.

         If the value of hpnicfDhcpRelay2IfOpt82CIDMode is
         'verbose', the default value of this object is 'undefine'.

         If the value of hpnicfDhcpRelay2IfOpt82CIDMode is
         'userDefine', the value of this object is set to
         'ascii' automatically and cannot be set to other value.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpRelay2IfOpt82CIDMode."
    ::= { hpnicfDhcpRelay2IfConfigEntry 9 }

hpnicfDhcpRelay2IfOpt82RIDMode OBJECT-TYPE
    SYNTAX      INTEGER
    {
        normal(1),
        sysname(2),
        userDefine(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The mode of the remote ID suboption of DHCP
         option 82.

         'normal' is the standard mode.

         'sysname' is the sysname mode.

         'userDefine' is the user-defined mode.

         If the value of this object is set to 'userDefine',
         hpnicfDhcpRelay2IfOpt82RIDStr must also be set."
    DEFVAL      { normal }
    ::= { hpnicfDhcpRelay2IfConfigEntry 10 }

hpnicfDhcpRelay2IfOpt82RIDStr  OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(0..63))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The string defined by user to fill in the
         remote ID in the user-defined mode.

         If the value of hpnicfDhcpRelay2IfOpt82RIDMode is NOT
         'userDefine', it is set to a zero-length string automatically.
         Otherwise it must be set with a non-zero length string.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpRelay2IfOpt82RIDMode."
    ::= { hpnicfDhcpRelay2IfConfigEntry 11 }

hpnicfDhcpRelay2IfOpt82RIDFormat    OBJECT-TYPE
    SYNTAX      INTEGER
    {
        hex(1),
        ascii(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The format of the remote ID suboption of DHCP option 82.

         'hex' is the hex format.

         'ascii' is the ascii format.

         If the value of hpnicfDhcpRelay2IfOpt82RIDMode is
         'sysname' or 'userDefine', this object is set with 'ascii'
         automatically and cannot be set with other value.

         If the value of hpnicfDhcpRelay2IfOpt82RIDMode is 'normal',
         the default value of this object is 'hex'.

         The SET operation of this object must be with the SET
         operation of hpnicfDhcpRelay2IfOpt82RIDMode."
    ::= { hpnicfDhcpRelay2IfConfigEntry 12 }

-- =============================================================================
-- 2nd Table of hpnicfDhcpRelay2Tables: hpnicfDhcpRelay2SrvAddrTable
-- =============================================================================
hpnicfDhcpRelay2SrvAddrTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpRelay2SrvAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table for configuring a DHCP
         server address on the interface."
    ::= { hpnicfDhcpRelay2Tables 2 }

hpnicfDhcpRelay2SrvAddrEntry  OBJECT-TYPE
    SYNTAX      HpnicfDhcpRelay2SrvAddrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry for configuring a DHCP
         server address on the interface."
    INDEX
        {
            ifIndex,
            hpnicfDhcpRelay2SrvAddrIP
        }
    ::= { hpnicfDhcpRelay2SrvAddrTable 1 }

HpnicfDhcpRelay2SrvAddrEntry ::=
    SEQUENCE
        {
            hpnicfDhcpRelay2SrvAddrIP                InetAddressIPv4,
            hpnicfDhcpRelay2SrvAddrRowStatus         RowStatus
        }

hpnicfDhcpRelay2SrvAddrIP    OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Ip address of DHCP server."
    ::= { hpnicfDhcpRelay2SrvAddrEntry 1 }

hpnicfDhcpRelay2SrvAddrRowStatus    OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry.
         Three actions are used: active,
         createAndGo, destroy."
    ::= { hpnicfDhcpRelay2SrvAddrEntry 2 }

-- =============================================================================
-- 3rd Table of hpnicfDhcpRelay2Tables: hpnicfDhcpRelay2UserInfoTable
-- =============================================================================
hpnicfDhcpRelay2UserInfoTable   OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfDhcpRelay2UserInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the user information of DHCP client."
    ::= { hpnicfDhcpRelay2Tables 3 }

hpnicfDhcpRelay2UserInfoEntry  OBJECT-TYPE
    SYNTAX      HpnicfDhcpRelay2UserInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry containing the user information of DHCP client."
    INDEX
    {
        hpnicfDhcpRelay2UserInfoVpnIndex,
        hpnicfDhcpRelay2UserInfoIpAddr
    }
    ::= { hpnicfDhcpRelay2UserInfoTable 1 }

HpnicfDhcpRelay2UserInfoEntry   ::=
    SEQUENCE
    {
        hpnicfDhcpRelay2UserInfoVpnIndex      Unsigned32,
        hpnicfDhcpRelay2UserInfoIpAddr        InetAddressIPv4,
        hpnicfDhcpRelay2UserInfoMacAddr       MacAddress,
        hpnicfDhcpRelay2UserInfoIfIndex       InterfaceIndexOrZero,
        hpnicfDhcpRelay2UserInfoRowStatus     RowStatus
    }

hpnicfDhcpRelay2UserInfoVpnIndex OBJECT-TYPE
    SYNTAX      Unsigned32(0 .. 65534)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "VPN index of the DHCP client."
    ::= { hpnicfDhcpRelay2UserInfoEntry 1 }

hpnicfDhcpRelay2UserInfoIpAddr     OBJECT-TYPE
    SYNTAX      InetAddressIPv4
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "DHCP client's IP address."
    ::= { hpnicfDhcpRelay2UserInfoEntry 2 }

hpnicfDhcpRelay2UserInfoMacAddr    OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "DHCP client's MAC address."
    ::= { hpnicfDhcpRelay2UserInfoEntry 3 }

hpnicfDhcpRelay2UserInfoIfIndex      OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The index of the interface that DHCP client adhered to.
         0 means that no interface information is recorded in the
         user information entry."
    ::= { hpnicfDhcpRelay2UserInfoEntry 4 }

hpnicfDhcpRelay2UserInfoRowStatus     OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Operation status of this table entry.
         Only destroy action is allow to use."
    ::= { hpnicfDhcpRelay2UserInfoEntry 5 }

END
