-- ============================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description: This MIB is a framework MIB for unicast technology
-- Reference:
-- Version: V1.0
-- History:
-- V1.0 2005-04-20 created by fuzhenyu
-- ============================================================================
HPN-ICF-UNICAST-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        hpnicfCommon
            FROM HPN-ICF-OID-MIB
        Integer32, Counter64, OBJECT-TYPE, MODULE-IDENTITY
            FROM SNMPv2-SMI
        TruthValue
            FROM SNMPv2-TC;


    hpnicfUnicast MODULE-IDENTITY
        LAST-UPDATED "200501311454Z"        -- January 31, 2005 at 14:54 GMT
        ORGANIZATION
            ""
        CONTACT-INFO
            ""
        DESCRIPTION
            " This MIB is a framework MIB for unicast related features."
        REVISION      "200503241454Z"
        DESCRIPTION
                " Revisions made by Hangzhou MIB team."
        ::= { hpnicfCommon 44 }


    hpnicfURPFTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HpnicfURPFEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " Unicast Reverse Path Forwarding (URPF) is used to prevent the network
            attacks caused by source address spoofing. This table is used to configure
            URPF on specific interfaces."
        ::= { hpnicfUnicast 1 }


    hpnicfURPFEntry OBJECT-TYPE
        SYNTAX HpnicfURPFEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " The entry of hpnicfURPFTable, indexed by vlan interface index."
        INDEX { hpnicfURPFIfIndex }
        ::= { hpnicfURPFTable 1 }


    HpnicfURPFEntry ::=
        SEQUENCE {
            hpnicfURPFIfIndex
                Integer32,
            hpnicfURPFEnabled
                TruthValue,
            hpnicfURPFSlotID
                Integer32,
            hpnicfURPFTotalReceivedPacket
                Counter64,
            hpnicfURPFDroppedPacket
                Counter64,
            hpnicfURPFClearStat
                INTEGER
         }

    hpnicfURPFIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            " The ifIndex of vlan interface."
        ::= { hpnicfURPFEntry 1 }

    hpnicfURPFEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " This object is used to enable or disable URPF on certain vlan interfaces."
        DEFVAL { false }
        ::= { hpnicfURPFEntry 2 }

    hpnicfURPFSlotID OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " This object specifies to which slot packets are redirected in order to
            perform URPF check."
        ::= { hpnicfURPFEntry 3 }

    hpnicfURPFTotalReceivedPacket OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " This object provides total received packets number."
        ::= { hpnicfURPFEntry 4 }

    hpnicfURPFDroppedPacket OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " This object provides total dropped invalid packets number."
        ::= { hpnicfURPFEntry 5 }

    hpnicfURPFClearStat OBJECT-TYPE
        SYNTAX INTEGER { reserved(0),reset(1) }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " This object is used to clear the URPF statistics on certain
            vlan interfaces. This object is actually a write-only object.
            When read, it always returns 0. When set to 1, the objects
            hpnicfURPFTotalReceivedPacket and hpnicfURPFDroppedPacket are reset
            to 0."
        ::= { hpnicfURPFEntry 6 }

END
