-- =================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: DHCP Relay MIB
-- Reference:
-- Version: V1.0
-- History:
--
-- =================================================================

    HPN-ICF-DHCPR-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            hpnicfRhw
                FROM HPN-ICF-OID-MIB
            ifIndex
                FROM RFC1213-MIB
            OBJECT-GROUP
                FROM SNMPv2-CONF
            IpAddress, Integer32, OBJECT-TYPE, MODULE-IDENTITY
                FROM SNMPv2-SMI
            RowStatus
                FROM SNMPv2-TC;

        hpnicfDHCPRelayMib MODULE-IDENTITY
            LAST-UPDATED "200303010000Z"        -- March 01, 2003 at 00:00 GMT
            ORGANIZATION
                ""
            CONTACT-INFO
                ""
            DESCRIPTION
                "This MIB describes objects used for managing DHCP relay."
            REVISION "200302120000Z"        -- February 12, 2003 at 00:00 GMT
            DESCRIPTION
                "The initial revision of this MIB module."
            ::= { hpnicfRhw 1 }



--
-- Node definitions
--

        hpnicfDHCPRelayMibObject OBJECT IDENTIFIER ::= { hpnicfDHCPRelayMib 1 }

-- =================================================================
-- 1st Table of hpnicfDHCPRelayMibObjects: hpnicfDHCPRIPTable
-- =================================================================
        hpnicfDHCPRIPTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HpnicfDHCPRIPEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table for configuring ip addresses for DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 1 }

        hpnicfDHCPRIPEntry OBJECT-TYPE
            SYNTAX HpnicfDHCPRIPEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry for configuring ip addresses for DHCP
                relay"
            INDEX { ifIndex, hpnicfDHCPRIPAddr }
            ::= { hpnicfDHCPRIPTable 1 }

        HpnicfDHCPRIPEntry ::=
            SEQUENCE {
                hpnicfDHCPRIPAddr
                    IpAddress,
                hpnicfDHCPRIPRowStatus
                    RowStatus
             }

        hpnicfDHCPRIPAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Ip address for DHCP relay"
            ::= { hpnicfDHCPRIPEntry 1 }

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

-- =================================================================
-- 2nd Table of hpnicfDHCPRelayMibObjects: hpnicfDHCPRSeletAllocateModeTable
-- =================================================================
        hpnicfDHCPRSeletAllocateModeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HpnicfDHCPRSeletAllocateModeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A table for selecting allocation mode of dhcp
                service"
            ::= { hpnicfDHCPRelayMibObject 2 }

        hpnicfDHCPRSeletAllocateModeEntry OBJECT-TYPE
            SYNTAX HpnicfDHCPRSeletAllocateModeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry for configuring the allocation mode of
                DHCP service"
            INDEX { ifIndex }
            ::= { hpnicfDHCPRSeletAllocateModeTable 1 }

        HpnicfDHCPRSeletAllocateModeEntry ::=
            SEQUENCE {
                hpnicfDHCPRSelectAllocateMode
                    INTEGER
             }

        hpnicfDHCPRSelectAllocateMode OBJECT-TYPE
            SYNTAX INTEGER
                {
                global(0),
                interface(1),
                relay(2)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Allocation mode of DHCP service"
            ::= { hpnicfDHCPRSeletAllocateModeEntry 1 }

--
-- Non-table objects
--
        hpnicfDHCPRelayCycleStatus OBJECT-TYPE
            SYNTAX INTEGER
                {
                on(0),
                off(1)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Status of DHCP relay cycle mode"
            ::= { hpnicfDHCPRelayMibObject 3 }

        hpnicfDHCPRRxBadPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the bad packets received by
                DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 4 }

        hpnicfDHCPRRxServerPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the packets received from
                DHCP servers by DHCP relay module"
            ::= { hpnicfDHCPRelayMibObject 5 }

        hpnicfDHCPRTxServerPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the packets transmited to
                DHCP servers by DHCP relay module"
            ::= { hpnicfDHCPRelayMibObject 6 }

        hpnicfDHCPRRxClientPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the packets received form DHCP
                clients by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 7 }

        hpnicfDHCPRTxClientPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the brodcast packets transmited
                to DHCP clients by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 8 }

        hpnicfDHCPRTxClientUniPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the unicast packets received
                form DHCP clients by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 9 }

        hpnicfDHCPRTxClientBroPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the brodcast packets received
                form DHCP clients by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 10 }

        hpnicfDHCPRelayDiscoverPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Discover packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 11 }

        hpnicfDHCPRelayRequestPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Request packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 12 }

        hpnicfDHCPRelayDeclinePktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Decline packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 13 }

        hpnicfDHCPRelayReleasePktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Release packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 14 }

        hpnicfDHCPRelayInformPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Inform packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 15 }

        hpnicfDHCPRelayOfferPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Offer packets handled
                by DHCP server"
            ::= { hpnicfDHCPRelayMibObject 16 }

        hpnicfDHCPRelayAckPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Ack packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 17 }

        hpnicfDHCPRelayNakPktNum OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of the DHCP Nak packets handled
                by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 18 }

        hpnicfDHCPRelayStatisticsReset OBJECT-TYPE
            SYNTAX INTEGER
                {
                invalid(0),
                reset(1)
                }
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Reset the above statictics information of handled
                packets by DHCP relay"
            ::= { hpnicfDHCPRelayMibObject 19 }

        hpnicfDHCPRelayMIBConformance OBJECT IDENTIFIER ::= { hpnicfDHCPRelayMib 2 }

        hpnicfDHCPRelayMIBCompliances OBJECT IDENTIFIER ::= { hpnicfDHCPRelayMIBConformance 1 }

        hpnicfDHCPRelayMIBGroups OBJECT IDENTIFIER ::= { hpnicfDHCPRelayMIBConformance 2 }

        hpnicfDHCPRelayMIBGroup OBJECT-GROUP
            OBJECTS { hpnicfDHCPRIPAddr, hpnicfDHCPRIPRowStatus, hpnicfDHCPRSelectAllocateMode, hpnicfDHCPRelayCycleStatus, hpnicfDHCPRRxBadPktNum,
                hpnicfDHCPRRxServerPktNum, hpnicfDHCPRTxServerPktNum, hpnicfDHCPRRxClientPktNum, hpnicfDHCPRTxClientPktNum, hpnicfDHCPRTxClientUniPktNum,
                hpnicfDHCPRTxClientBroPktNum, hpnicfDHCPRelayDiscoverPktNum, hpnicfDHCPRelayRequestPktNum, hpnicfDHCPRelayDeclinePktNum, hpnicfDHCPRelayReleasePktNum,
                hpnicfDHCPRelayInformPktNum, hpnicfDHCPRelayOfferPktNum, hpnicfDHCPRelayAckPktNum, hpnicfDHCPRelayNakPktNum, hpnicfDHCPRelayStatisticsReset
                 }
            STATUS current
            DESCRIPTION
                "The basic collection of objects providing management of
                DHCP realy."
            ::= { hpnicfDHCPRelayMIBGroups 1 }


    END
