-- =================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description: BGP policy accounting MIB File
-- Reference:
-- Version: V1.1
-- History:
-- V1.0 2013-08-14 created by wangzhenjun
-- V1.1 2013-11-13 modified by wangzhenjun
--      Changed MAX-ACCESS of hpnicfBpaDirection, and added this node to the
--      index of hpnicfBpaCfgEntry
--      Deleted value 'none(0), both(3)' from data type 'hpnicfBpaSrcOrDest'
--      Deleted DEVAL of hpnicfBpaSrcOrDest
--      Deleted value 'none(0)' from data type 'hpnicfBpaSrcOrDest'
--      Modified descriptions of hpnicfBpaDirection, hpnicfBpaSrcOrDest and
--      hpnicfBpaTrafficIndex
-- =================================================================
HPN-ICF-BPA-MIB DEFINITIONS ::= BEGIN

IMPORTS
    hpnicfCommon
        FROM HPN-ICF-OID-MIB
    OBJECT-TYPE, MODULE-IDENTITY, Integer32, Counter64
        FROM SNMPv2-SMI
    RowStatus
        FROM SNMPv2-TC
    ifIndex
        FROM IF-MIB
    InetAddressType
        FROM INET-ADDRESS-MIB;

hpnicfBpa MODULE-IDENTITY
    LAST-UPDATED
        "201311131128Z"
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "This MIB contains objects that manage the configuration and information
         of BGP policy accounting.  It accounts IP packets by user defined
         BGP policy.
        "
    REVISION
        "201311131128Z"
    DESCRIPTION
        "The initial version of this MIB file."
    ::= { hpnicfCommon 144 }

hpnicfBpaObjects OBJECT IDENTIFIER ::= { hpnicfBpa 1 }

-- BGP policy accounting configuration table
hpnicfBpaCfgTable    OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfBpaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table for BGP policy accounting configuration."
    ::= { hpnicfBpaObjects 1 }

hpnicfBpaCfgEntry    OBJECT-TYPE
    SYNTAX      HpnicfBpaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An entry for BGP policy accounting configuration."
    INDEX {
            ifIndex,
            hpnicfBpaDirection
          }
    ::= { hpnicfBpaCfgTable 1 }

HpnicfBpaCfgEntry ::=
    SEQUENCE
    {
            hpnicfBpaDirection              INTEGER,
            hpnicfBpaSrcOrDest              INTEGER,
            hpnicfBpaRowStatus              RowStatus
    }

hpnicfBpaDirection    OBJECT-TYPE
    SYNTAX      INTEGER
    {
         input(1),
         output(2)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Identify the direction of IP packets on which BGP
                 policy accounting takes effect.
                 input  :input direction
                 output :output direction"
    ::= { hpnicfBpaCfgEntry 1 }

hpnicfBpaSrcOrDest    OBJECT-TYPE
    SYNTAX      INTEGER
    {
         source(1),
         destination(2),
         both(3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Identify IP packet's Destination or Source IP address that
                 BGP policy accounting relies on.
                 source      :source IP address of the IP packet
                 destination :destination IP address of the IP packet
                 both        :both source and destination IP addresses"
    DEFVAL      { destination }
    ::= { hpnicfBpaCfgEntry 2 }

hpnicfBpaRowStatus   OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
            "This object manages the creation, deletion, and modification
             of rows in the hpnicfBpaCfgTable, which supports the
             active status, createAndGo operation, and destroy operation."
    ::= { hpnicfBpaCfgEntry 3 }

-- BGP policy accounting statistics table
hpnicfBpaStatTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfBpaStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A table for BGP policy accounting statistics."
    ::= { hpnicfBpaObjects 2 }

hpnicfBpaStatEntry OBJECT-TYPE
    SYNTAX      HpnicfBpaStatEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "An entry for BGP policy accounting statistics."
    INDEX
    {
            ifIndex,
            hpnicfBpaTrafficType,
            hpnicfBpaTrafficIndex
    }
    ::= { hpnicfBpaStatTable 1 }

HpnicfBpaStatEntry ::=
    SEQUENCE
    {
            hpnicfBpaTrafficType        InetAddressType,
            hpnicfBpaTrafficIndex       Integer32,
            hpnicfBpaInPacketCount      Counter64,
            hpnicfBpaInOctetCount       Counter64,
            hpnicfBpaOutPacketCount     Counter64,
            hpnicfBpaOutOctetCount      Counter64
    }

hpnicfBpaTrafficType    OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Type of IP packets, IPv4 or IPv6."
    ::= { hpnicfBpaStatEntry 1 }

hpnicfBpaTrafficIndex    OBJECT-TYPE
    SYNTAX      Integer32  (1..64)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Traffic index generated by a BGP policy."
    ::= { hpnicfBpaStatEntry 2 }

hpnicfBpaInPacketCount   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of received packets with the specified
                 traffic type and traffic index."
    ::= { hpnicfBpaStatEntry 3 }

hpnicfBpaInOctetCount    OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of received bytes with the specified
                 traffic type and traffic index."
    ::= { hpnicfBpaStatEntry 4 }

hpnicfBpaOutPacketCount   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of output packets with the specified
                 traffic type and traffic index."
    ::= { hpnicfBpaStatEntry 5 }

hpnicfBpaOutOctetCount   OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The total number of output bytes with the specified
                 traffic type and traffic index."
    ::= { hpnicfBpaStatEntry 6 }

END
