-- ============================================================================
-- Copyright (c) 2010-2013 Hewlett-Packard Development Company, L.P.
--
-- Description:
-- Reference:
-- Version: V1.00
-- History:
-- V1.00 Created by Zhouzhihua, 2004.11.12
-- ============================================================================
HPN-ICF-NS-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        hpnicfCommon
            FROM HPN-ICF-OID-MIB
        TimeTicks, IpAddress, Integer32, Counter32, OBJECT-TYPE, MODULE-IDENTITY
            FROM SNMPv2-SMI
        RowStatus
            FROM SNMPv2-TC;

    hpnicfNS MODULE-IDENTITY
        LAST-UPDATED "200411071353Z"        -- November 07, 2004 at 13:53 GMT
        ORGANIZATION
            ""
        CONTACT-INFO
            ""
        DESCRIPTION
            "This MIB contains objects to manage the configuration and status
            information of network traffic statistics.  It classifies the IP
            packets by source IP address, source port, destination IP address,
            destination port, protocol, ToS and input interface, counts the
            octets and packets, and sends the statistic information to the
            specific collector.
            "
        REVISION "200409211415Z"        -- September 21, 2004 at 14:15 GMT
        DESCRIPTION
            "The initial revision of this MIB module."
        ::= { hpnicfCommon 20 }

    hpnicfNSMibObjects OBJECT IDENTIFIER ::= { hpnicfNS 1 }

    hpnicfNSMibScalarObjects OBJECT IDENTIFIER ::= { hpnicfNSMibObjects 1 }

    hpnicfNSActiveTime OBJECT-TYPE
        SYNTAX Integer32 (1..60)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The stream will be aged when the active time of this stream
            exceeds this value.  This object is in minute."
        DEFVAL { 30 }
        ::= { hpnicfNSMibScalarObjects 1 }

    hpnicfNSInactiveTime OBJECT-TYPE
        SYNTAX Integer32 (1..600)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The stream will be aged when the inactive time of this stream
            exceeds this value.  This object is in second."
        DEFVAL { 60 }
        ::= { hpnicfNSMibScalarObjects 2 }

    hpnicfNSVersion OBJECT-TYPE
        SYNTAX Integer32 ( 5|9 )
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The version of the exported packet, which describes the format
            of the exported packet.
            It should export version 5 and version 8 when this object is 5,
            but it should export version 9 only when the value of this object
            is 9.
            "
        DEFVAL { 5 }
        ::= { hpnicfNSMibScalarObjects 3 }

    hpnicfNSAsType OBJECT-TYPE
        SYNTAX INTEGER
            {
            peerAs(1),
            originAs(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The number of autonomous system (AS).
            This object can be origin or peer."
        DEFVAL { peerAs }
        ::= { hpnicfNSMibScalarObjects 4 }

    hpnicfNSTemplateRefreshRate OBJECT-TYPE
        SYNTAX Integer32 (1..600 )
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "This object specifies the refresh rate in number of
            exported packets."
        DEFVAL { 20 }
        ::= { hpnicfNSMibScalarObjects 5 }

    hpnicfNSTemplateTimeout OBJECT-TYPE
        SYNTAX Integer32 ( 1..3600 )
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "This object specifies the timeout rate in minutes."
        DEFVAL { 30 }
        ::= { hpnicfNSMibScalarObjects 6 }

    hpnicfNSExportVlanOrIfIndex OBJECT-TYPE
        SYNTAX INTEGER
            {
            vlanId(1),
            interfaceIndex(2)
            }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object describes the interface index at the exported packet.
             It can be interface index or vlan id according to the product."
        DEFVAL { vlanId }
        ::= { hpnicfNSMibScalarObjects 7 }

    hpnicfNSProcessSlotTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HPN-ICFNSProcessSlotEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table describes the board which can enable network traffic
            statistics at the switch or router."
        ::= { hpnicfNSMibObjects 2 }

    hpnicfNSProcessSlotEntry OBJECT-TYPE
        SYNTAX HPN-ICFNSProcessSlotEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of hpnicfNSProcessSlotEntry."
        INDEX { hpnicfNSProcessSlot }
        ::= { hpnicfNSProcessSlotTable 1 }

    HPN-ICFNSProcessSlotEntry ::=
        SEQUENCE {
            hpnicfNSProcessSlot
                Integer32
            }

    hpnicfNSProcessSlot OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object describes all boards which can processes network
            traffic statistics at the switch or router."
        ::= { hpnicfNSProcessSlotEntry 1 }

    hpnicfNSExportConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HPN-ICFNSExportConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table describes the configuration of the exported packets."
        ::= { hpnicfNSMibObjects 3 }

    hpnicfNSExportConfigEntry OBJECT-TYPE
        SYNTAX HPN-ICFNSExportConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of hpnicfNSExportConfigTable."
        INDEX { hpnicfNSAggregationType }
        ::= { hpnicfNSExportConfigTable 1 }

    HPN-ICFNSExportConfigEntry ::=
        SEQUENCE {
            hpnicfNSAggregationType
                INTEGER,
            hpnicfNSHostIPAddr
                IpAddress,
            hpnicfNSHostPort
                Integer32,
            hpnicfNSSrcIpAddr
                IpAddress,
            hpnicfNSState
                INTEGER
            }

    hpnicfNSAggregationType OBJECT-TYPE
        SYNTAX INTEGER
            {
            v5Statistics(1),
            as(2),
            destinationPrefix(3),
            sourcePrefix(4),
            protocolPort(5),
            prefix(6),
            tosAs(7),
            tosDestinationPrefix(8),
            tosSourcePrefix(9),
            tosProtocolPort(10),
            tosPrefix(11),
            prefixPort(12)
            }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The aggregation type.

            v5Statistics type counts IP packets which have same source
            IP address, destination IP address, source port, destination port,
            protocol, ToS, input interface, output interface.

            AS type counts IP packets which have same source AS, destination AS,
            input interface and output interface.

            destinationPrefix type counts IP packets which have same destination
            AS, output interface, destination mask and destination prefix.

            sourcePrefix type counts IP packets which have same source AS, input
            interface, source mask and source prefix.

            protocolPort type counts IP packets which have same protocol, source
            port and destination port.

            prefix type counts IP packets which have same source AS, destination
            AS, input interface, output interface, source mask, source prefix,
            destination mask, destination prefix.

            tosAS type counts IP packets which have same tos, source AS, destination
            AS, input interface and output interface.

            tosDestinationPrefix type counts IP packets which have same tos,
            destination AS, output interface, destination mask and destination prefix.

            tosProtocolPort type counts IP packets which have same tos, protocol,
            source port and destination port.

            tosSourcePrefix type counts IP packets which have same tos, source AS,
            input interface, source mask and source prefix.

            tosPrefix type counts IP packets which have same tos, source AS,
            destination AS, input interface, output interface, source mask, source
            prefix, destination mask, destination prefix.

            prefixPort type counts IP packets which have same tos, input interface,
            output interface, source mask, source prefix, destination mask, destination
            prefix, source port and destination port."
        ::= { hpnicfNSExportConfigEntry 1 }

    hpnicfNSHostIPAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The destination IP address of the exported packet.
             This destination IP address is a NSC (NS Collector) address."
        ::= { hpnicfNSExportConfigEntry 2 }

    hpnicfNSHostPort OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The destination port of the exported packets.
             This destination port is a NSC listening port."
        ::= { hpnicfNSExportConfigEntry 3 }

    hpnicfNSSrcIpAddr OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The source IP address of the exported packets."
        ::= { hpnicfNSExportConfigEntry 4 }

    hpnicfNSState OBJECT-TYPE
        SYNTAX INTEGER
            {
            enabled(1),
            disabled(2)
            }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The state of aggregation is enabled or disabled."
        ::= { hpnicfNSExportConfigEntry 5 }

    hpnicfNSExportInformationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HPN-ICFNSExportInformationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table describes the Information of the exported packets."
        ::= { hpnicfNSMibObjects 4 }

    hpnicfNSExportInformationEntry OBJECT-TYPE
        SYNTAX HPN-ICFNSExportInformationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of hpnicfNSExportInformationTable."
        INDEX { hpnicfNSExportType,
                hpnicfNSExportSlot }
        ::= { hpnicfNSExportInformationTable 1 }

        HPN-ICFNSExportInformationEntry ::=
            SEQUENCE {
                hpnicfNSExportType
                    INTEGER,
                hpnicfNSExportSlot
                    Integer32,
                hpnicfNSExportStream
                    Counter32,
                hpnicfNSExportNum
                    Counter32,
                hpnicfNSExportFail
                    Counter32
                }

    hpnicfNSExportType OBJECT-TYPE
        SYNTAX INTEGER  ( 1..12 )
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object is equal to hpnicfNSAggregationType."
        ::= { hpnicfNSExportInformationEntry 1 }

    hpnicfNSExportSlot OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object is equal to hpnicfNSProcessSlot."
        ::= { hpnicfNSExportInformationEntry 2 }

    hpnicfNSExportStream OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts the exported streams."
        ::= { hpnicfNSExportInformationEntry 3 }

    hpnicfNSExportNum OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts the exported packets."
        ::= { hpnicfNSExportInformationEntry 4 }

    hpnicfNSExportFail OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts the exported packets which failed to send.
             The error may be unreachable destination IP address."
        ::= { hpnicfNSExportInformationEntry 5 }

    hpnicfNSConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HPN-ICFNSConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table describes current configurations."
        ::= { hpnicfNSMibObjects 5 }

    hpnicfNSConfigEntry OBJECT-TYPE
        SYNTAX HPN-ICFNSConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of hpnicfNSAggregationTable."
        INDEX { hpnicfNSSourceSlot,
                hpnicfNSSourceIfIndex,
                hpnicfNSDestSlot }
        ::= { hpnicfNSConfigTable 1 }

    HPN-ICFNSConfigEntry ::=
        SEQUENCE {
            hpnicfNSSourceSlot
                Integer32,
            hpnicfNSSourceIfIndex
                Integer32,
            hpnicfNSDestSlot
                Integer32,
            hpnicfNSDirect
                INTEGER,
            hpnicfNSACLNumber
                Integer32,
            hpnicfNSACLName
                OCTET STRING,
            hpnicfNSACLRule
                Integer32,
            hpnicfNSConfigRowStatus
                RowStatus
            }

    hpnicfNSSourceSlot OBJECT-TYPE
        SYNTAX Integer32 (1..65535)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The IP packet will be counted when it is passing through this slot."
        ::= { hpnicfNSConfigEntry 1 }

    hpnicfNSSourceIfIndex OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The IP packet will be statistics when it through this interface.
             This object is equal to ifIndex at ifTable."
        ::= { hpnicfNSConfigEntry 2 }

    hpnicfNSDestSlot OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object is equal to hpnicfNSProcessSlot."
        ::= { hpnicfNSConfigEntry 3 }

    hpnicfNSDirect OBJECT-TYPE
        SYNTAX INTEGER
            {
            inbound(1),
            outbound(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object describes which packets will be counted.
             It may be inbound or outbound packets through this interface."
        DEFVAL { inbound }
        ::= { hpnicfNSConfigEntry 4 }

    hpnicfNSACLNumber OBJECT-TYPE
        SYNTAX Integer32 (0 | 2000..3999)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The number of number-acl group."
        ::= { hpnicfNSConfigEntry 5 }

    hpnicfNSACLName OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The name of name-acl group."
        ::= { hpnicfNSConfigEntry 6 }

    hpnicfNSACLRule OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The rule of acl group."
        ::= { hpnicfNSConfigEntry 7 }

    hpnicfNSConfigRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "SNMP Row Status Variable.
             Writable objects in the table may be written in any RowStatus state."
        ::= { hpnicfNSConfigEntry 8 }

    hpnicfNSStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HPN-ICFNSStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table describes current information of network traffic."
        ::= { hpnicfNSMibObjects 6 }

    hpnicfNSStatusEntry OBJECT-TYPE
        SYNTAX HPN-ICFNSStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The entry of hpnicfNSAggregationTable."
        INDEX { hpnicfNSSlot }
        ::= { hpnicfNSStatusTable 1 }

    HPN-ICFNSStatusEntry ::=
        SEQUENCE {
            hpnicfNSSlot
                Integer32,
            hpnicfNSActiveStreamNumber
                Counter32,
            hpnicfNSTotalStreamNumber
                Counter32,
            hpnicfNSTotalPacketNumber
                Counter32,
            hpnicfNSTotalOctetNumber
                Counter32,
            hpnicfNSMPLSActiveStreamNumber
                Counter32,
            hpnicfNSMPLSTotalStreamNumber
                Counter32,
            hpnicfNSMPLSTotalPacketNumber
                Counter32,
            hpnicfNSMPLSTotalOctetNumber
                Counter32,
            hpnicfNSResetFlag
                INTEGER,
            hpnicfNSResetTime
                TimeTicks
            }

    hpnicfNSSlot OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This object is equal to hpnicfNSProcessSlot."
        ::= { hpnicfNSStatusEntry 1 }

    hpnicfNSActiveStreamNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts current active streams."
        ::= { hpnicfNSStatusEntry 2 }

    hpnicfNSTotalStreamNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts all statistic streams."
        ::= { hpnicfNSStatusEntry 3 }

    hpnicfNSTotalPacketNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts all statistic packets."
        ::= { hpnicfNSStatusEntry 4 }

    hpnicfNSTotalOctetNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts all statistic octets."
        ::= { hpnicfNSStatusEntry 5 }

    hpnicfNSMPLSActiveStreamNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts current active MPLS streams."
        ::= { hpnicfNSStatusEntry 6 }

    hpnicfNSMPLSTotalStreamNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts all statistic MPLS streams."
        ::= { hpnicfNSStatusEntry 7 }

    hpnicfNSMPLSTotalPacketNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts all statistic MPLS packets."
        ::= { hpnicfNSStatusEntry 8 }

    hpnicfNSMPLSTotalOctetNumber OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "This object counts all statistic octets of MPLS packets."
        ::= { hpnicfNSStatusEntry 9 }

    hpnicfNSResetFlag OBJECT-TYPE
        SYNTAX INTEGER
            {
            enabled(1),
            disabled(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Reset all streams.  The default value is disabled,
             and set this value to enabled when resetting."
        DEFVAL { disable }
        ::= { hpnicfNSStatusEntry 10 }

    hpnicfNSResetTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The system up time when stream is reset."
        ::= { hpnicfNSStatusEntry 11 }

END
