-- *********************************************************************
-- CISCO-NETFLOW-MIB.my
--
-- January 2004, Nitish Kundu and Paul Aitken.
--
-- Copyright (c) 2004, 2005, 2006 by Cisco Systems, Inc.
-- All rights reserved.
-- *********************************************************************
--
CISCO-NETFLOW-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Counter32,
        Unsigned32,
        Integer32,
        Gauge32,
        Counter64
                FROM SNMPv2-SMI
        InetAddressType,
        InetAddress,
        InetAddressPrefixLength,
        InetPortNumber,
        InetAutonomousSystemNumber
                FROM INET-ADDRESS-MIB
        RowStatus,
        TruthValue,
        TimeStamp,
        DisplayString,
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        InterfaceIndex,
        InterfaceIndexOrZero,
        ifIndex
                FROM IF-MIB
        ciscoMgmt
                FROM CISCO-SMI
        VlanIndex
                FROM Q-BRIDGE-MIB;

ciscoNetflowMIB MODULE-IDENTITY
        LAST-UPDATED    "200604270000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "        Cisco Systems
                         Customer Service

                 Postal: 170 W Tasman Drive
                         San Jose, CA  95134
                         USA

                    Tel: +1 800 553-NETS

                 E-mail: cs-netflow-mib@cisco.com"

        DESCRIPTION
                "The Netflow MIB provides a simple and easy method
                 to get NetFlow cache information, current NetFlow
                 configuration and statistics. It will enable medium to
                 small size enterprises to take advantage of NetFlow
                 technology over SNMP at a reduced infrastructure cost.
                 The MIB is created to provide Netflow information in
                 these areas:

                        1. Cache information and configuration.
                        2. Export information and configuration.
                        4. Export Statistics.
                        5. Protocol Statistics.
                        6. Version 9 Export Template information.
                        7. Top Flows information.


                 Terminology used

                 Flow
                 A flow is defined as an unidirectional sequence of
                 packets between a given source and destination
                 endpoints. Network flows are highly granular;
                 flow endpoints are identified both by IP address as
                 well as by transport layer application port numbers.
                 NetFlow also utilizes the IP Protocol type,
                 Type of Service (ToS) and the input interface
                 identifier to uniquely identify flows.

                 Exporter
                 A device (for example, a router) with NetFlow
                 services enabled. The exporter monitors packets
                 entering an observation point and creates flows out
                 of these packets. The information from these flows
                 are exported in the form of Flow Records to
                 the collector.

                 Flow Record
                 A Flow Record provides information about an IP Flow
                 that exists on the Exporter. The Flow Records are
                 commonly referred to as NetFlow Services data or
                 NetFlow data.

                 Collector
                 The NetFlow Collector receives Flow Records from
                 one or more Exporters. It processes the received
                 export packet, i.e. parses, stores the Flow Record
                 information. The flow records may be optionally
                 aggregated before storing into the hard disk.

                 Template
                 NetFlow Version 9 Export format is template based.
                 Version 9 record format consists of a packet header
                 followed by at least one or more template or data
                 FlowSets. A template FlowSet (collection of one or more
                 template) provides a description of the fields that
                 will be present in future data FlowSets. Templates
                 provide an extensible design to the record format,
                 a feature that should allow future enhancements to
                 NetFlow services without requiring concurrent changes
                 to the basic flow-record format.

                 One additional record type is also a part of
                 Version 9 specification: an options template. Rather
                 than supplying information about IP flows, options are
                 used to supply meta-data about the NetFlow process
                 itself.


                 Top Flows.

                 This feature provides a mechanism which allows the
                 top N flows in the netflow cache to be viewed
                 in real time.

                 Criteria can be set to limit the feature to particular
                 flows of interest, which can aid in DoS detection.

                 Only the number of flows (TopN) and the sort criteria
                 (SortBy) need be set.

                 Top Flows is not intended as a mechanism for exporting
                 the entire netflow cache.


                 Egress flows.

                 This feature provides a mechanism to identify a flow
                 as either an ingress or an egress flow."

        REVISION "200604270000Z"
        DESCRIPTION
                 "Added the following Group:
                  cnfTopFlowsReportGenerateGroup"

        REVISION "200604200000Z"
        DESCRIPTION
                 "Added the cache type expBgpPrefix"       
            
        REVISION "200508300000Z"
        DESCRIPTION
                 "Added the following Groups:
                  cnfMcastNetflowControlGroup
                  cnfBridgedFlowStatsCtrlGroup"

        REVISION "200503270000Z"
        DESCRIPTION
                 "Removed
                    OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 3 }."

        REVISION "200405180000Z"
        DESCRIPTION
                 "Added the following objects:
                  cnfTopFlowsGenerate
                  cnfTopFlowsReportAvailable
                  cnfTopFlowsVlan

                  Deprecated the Group cnfTopFlowsGroup.

                  Added the following Groups:
                  cnfTopFlowsDataGroup1 
                  cnfTopFlowsDataGroup2
                  cnfTopFlowsVlanGroup
                  cnfTopFlowsControlGroup1 
                  cnfTopFlowsControlGroup2"

        REVISION "200401090000Z"
        DESCRIPTION
                 "Initial version of this MIB module."

        ::= { ciscoMgmt 387 }


-- Overview of MIB Objects:
--
-- Defines 7 groups of objects.
--
-- 1. cnfCacheInfo              : A group of objects related to cache
--                                information and configuration stored
--                                per cache configuration.
--
-- 2. cnfExportInfo             : A group of objects related to Export
--                                configuration and information.
--
-- 4. cnfExportStatistics       : Provides export statistics.
--
-- 5. cnfProtocolStatistics     : Provides a summary of NetFlow cache
--                                statistics per protocol and port.
--
-- 6. cnfExportTemplate         : Provides Template based Version 9
--                                flow export information and statistic.
--
-- 7. cnfTopFlows               : Provides top Netflow flows.

ciscoNetflowMIBNotifs   OBJECT IDENTIFIER ::= { ciscoNetflowMIB 0 }
ciscoNetflowMIBObjects  OBJECT IDENTIFIER ::= { ciscoNetflowMIB 1 }
ciscoNetflowMIBConform  OBJECT IDENTIFIER ::= { ciscoNetflowMIB 2 }

cnfCacheInfo            OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 1 }
cnfExportInfo           OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 2 }
cnfExportStatistics     OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 4 }
cnfProtocolStatistics   OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 5 }
cnfExportTemplate       OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 6 }
cnfTopFlows             OBJECT IDENTIFIER ::= { ciscoNetflowMIBObjects 7 }


-- Textual Conventions

NfInterfaceDirectionTypes ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines different types of interface configuration."
    SYNTAX  INTEGER{
            interfaceDirNone(0),
            interfaceDirIngress(1),
            interfaceDirEgress(2),
            interfaceDirBoth(3)
    }

NfCacheTypes ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines different types of netflow cache."
    SYNTAX  INTEGER{
            main(0),
            as(1),
            protocolPort(2),
            sourcePrefix(3),
            destinationPrefix(4),
            prefix(5),
            destinationOnly(6),
            sourceDestination(7),
            fullFlow(8),
            asTos(9),
            protocolPortTos(10),
            sourcePrefixTos(11),
            destinationPrefixTos(12),
            prefixTos(13),
            prefixPort(14),
            bgpNexthopTos(15),
            expBgpPrefix(23)
    }

NfProtocolTypes ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines different types of protocol and port combination."
    SYNTAX  INTEGER{
            tcpTelnet(1),
            tcpFtp(2),
            tcpFtpd(3),
            tcpWww(4),
            tcpSmtp(5),
            tcpX(6),
            tcpBgp(7),
            tcpNntp(8),
            tcpFrag(9),
            tcpOther(10),
            udpDns(11),
            udpNtp(12),
            udpTftp(13),
            udpFrag(14),
            udpOther(15),
            icmp(16),
            igmp(17),
            ipInIp(18),
            ipv6InIp(19),
            gre(20),
            ipOther(21),
            all(22)
    }

NfTemplateTypes ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines different types of Template."
    SYNTAX  INTEGER{
            template(1),
            optionTemplate(2)
    }

NfTopFlowsSortTypes ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines different types of sort order."
    SYNTAX  INTEGER{
            noSort(1),
            byPackets(2),
            byBytes(3)
    }

NfFlowDirectionTypes ::= TEXTUAL-CONVENTION
    STATUS  current
    DESCRIPTION
        "Defines different directions for a flow."
    SYNTAX  INTEGER{
            flowDirNone(0),
            flowDirIngress(1),
            flowDirEgress(2)
    }

-- end of textual conventions


-- Object Group: cnfCacheInfo
--
--      cnfCIInterfaceTable
--          cnfCIInterfaceEntry
--              ifIndex
--              cnfCINetflowEnable
--              cnfCIMcastNetflowEnable
--      cnfCICacheTable
--          cnfCICacheEntry
--              cnfCICacheType
--              cnfCICacheEnable
--              cnfCICacheEntries
--              cnfCIActiveFlows
--              cnfCIInactiveFlows
--              cnfCIActiveTimeout
--              cnfCIInactiveTimeout
--              cnfCIMinSourceMask
--              cnfCIMinDestinationMask
--      cnfCIBridgedFlowStatsCtrlTable
--          cnfCIBridgedFlowStatsCtrlEntry
--              cnfCIBridgedFlowVlan
--              cnfCIBridgedFlowStatsCrtEnable
--              cnfCIBridgedFlowStatsExpEnable
--      cnfCIMcastNetflowRPFFailedEnable


cnfCIInterfaceTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CnfCIInterfaceEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table provides Netflow Enable information per interface."
    ::= { cnfCacheInfo 1 }

cnfCIInterfaceEntry OBJECT-TYPE
    SYNTAX     CnfCIInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A conceptual row in the cnfCIInterfaceEntry."
    INDEX { ifIndex }
    ::= { cnfCIInterfaceTable 1}

CnfCIInterfaceEntry ::= SEQUENCE {
        cnfCINetflowEnable              NfInterfaceDirectionTypes,
        cnfCIMcastNetflowEnable         NfInterfaceDirectionTypes
     }

cnfCINetflowEnable OBJECT-TYPE
    SYNTAX      NfInterfaceDirectionTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the netflow feature is enabled for this
         interface, and if so, in which directions."
    ::= { cnfCIInterfaceEntry 1 }

cnfCIMcastNetflowEnable OBJECT-TYPE
    SYNTAX      NfInterfaceDirectionTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the multicast netflow accounting feature
         is enabled for this interface, and if so, in which 
         directions."
    ::= { cnfCIInterfaceEntry 2 }

cnfCICacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CnfCICacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table containing configuration and statistics per cache.
         Cache may be main cache or an aggregation cache."
    ::= { cnfCacheInfo 2 }

cnfCICacheEntry OBJECT-TYPE
    SYNTAX     CnfCICacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A conceptual row in the cnfCICacheEntry."
    INDEX { cnfCICacheType }
    ::= { cnfCICacheTable 1}

CnfCICacheEntry ::= SEQUENCE {
        cnfCICacheType                  NfCacheTypes,
        cnfCICacheEnable                TruthValue,
        cnfCICacheEntries               Unsigned32,
        cnfCIActiveFlows                Unsigned32,
        cnfCIInactiveFlows              Unsigned32,
        cnfCIActiveTimeOut              Unsigned32,
        cnfCIInactiveTimeOut            Unsigned32,
        cnfCIMinSourceMask              InetAddressPrefixLength,
        cnfCIMinDestinationMask         InetAddressPrefixLength
     }

cnfCICacheType OBJECT-TYPE
    SYNTAX      NfCacheTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of netflow cache.

         NetFlow aggregation maintains one or more extra flow caches
         with different combinations of fields that determine
         which traditional flows are grouped together."
    ::= { cnfCICacheEntry 1 }

cnfCICacheEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether netflow is enabled for this cache type."
    ::= { cnfCICacheEntry 2 }

cnfCICacheEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The number of entries that can be cached for this cache type.
         The accepted value could be limited based on the amount of
         memory available in the system."
     ::= { cnfCICacheEntry 3 }

cnfCIActiveFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of currently active flow entries."
    ::= { cnfCICacheEntry 4 }

cnfCIInactiveFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of available flow entries."
    ::= { cnfCICacheEntry 5 }

cnfCIActiveTimeOut OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "minutes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The timeout period (in minutes) for removing active flows
         from the cache."
    ::= { cnfCICacheEntry 6 }

cnfCIInactiveTimeOut OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The timeout period (in seconds) for removing inactive flows
         from the cache."
    ::= {cnfCICacheEntry 7}

cnfCIMinSourceMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Source route's minimum configured mask bits. This is used to
         configure the minimum mask for Router Based Aggregation
         (RBA). Minimum masking capability is available only if RBA is
         enabled. A value of 0 indicates that this object is not
         applicable to this cache type."
    ::= { cnfCICacheEntry 8 }

cnfCIMinDestinationMask OBJECT-TYPE
    SYNTAX     InetAddressPrefixLength
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Destination route's minimum configured mask bits. This is used
         to configure the minimum mask for Router Based Aggregation
         (RBA). Minimum masking capability is available only if RBA is
         enabled. A value of 0 indicates that this object is not
         applicable to this cache type."
    ::= { cnfCICacheEntry 9 }

cnfCIBridgedFlowStatsCtrlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CnfCIBridgedFlowStatsCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table controls the reporting of bridged flow statistics
         per vlan."
    ::= { cnfCacheInfo 3 }
    
cnfCIBridgedFlowStatsCtrlEntry OBJECT-TYPE
    SYNTAX     CnfCIBridgedFlowStatsCtrlEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION 
        "A conceptual row in the cnfCIBridgedFlowStatsCtrlTable,
         containing the configuration of bridged flow statistics
         per vlan. When a vlan is created in a device supporting
         this table, a corresponding entry will be added to this 
         table."
    INDEX { cnfCIBridgedFlowVlan }
    ::= { cnfCIBridgedFlowStatsCtrlTable 1}

CnfCIBridgedFlowStatsCtrlEntry ::= SEQUENCE {
        cnfCIBridgedFlowVlan            VlanIndex, 
        cnfCIBridgedFlowStatsCrtEnable  TruthValue,
        cnfCIBridgedFlowStatsExpEnable  TruthValue
     }

cnfCIBridgedFlowVlan    OBJECT-TYPE
    SYNTAX      VlanIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Indicates the Vlan number on which the reporting of
         bridged flow statistics is configured."
    ::= { cnfCIBridgedFlowStatsCtrlEntry 1 }

cnfCIBridgedFlowStatsCrtEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the bridged flow creation is enabled
         for this vlan."
    ::= { cnfCIBridgedFlowStatsCtrlEntry 2 }

cnfCIBridgedFlowStatsExpEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether the export of bridged flow statistics
         is enabled for this vlan."
    ::= { cnfCIBridgedFlowStatsCtrlEntry 3 }


cnfCIMcastNetflowRPFFailedEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates whether netflow accounting for multicast data
         that fails the reverse path forwarding (RPF) check is
         enabled."
    ::= { cnfCacheInfo 4 }

-- Object Group: cnfExportInfo
--
--        cnfEIExportInfoTable
--            cnfEIExportInfoEntry
--                INDEX cnfCICacheType
--                cnfEIExportVersion
--                cnfEIPeerAS
--                cnfEIOriginAS
--                cnfEIBgpNextHop
--        cnfEIMaxCollectors
--        cnfEICollectorTable
--            cnfEICollectorEntry
--                INDEX cnfCICacheType
--                cnfEICollectorAddressType
--                cnfEICollectorAddress
--                cnfEICollectorPort
--                cnfEICollectorStatus


cnfEIExportInfoTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CnfEIExportInfoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table containing information about export configuration per
         cache type."
    ::= { cnfExportInfo 1 }

cnfEIExportInfoEntry OBJECT-TYPE
    SYNTAX     CnfEIExportInfoEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A conceptual row in the cnfEIExportInfoEntry."
    INDEX { cnfCICacheType }
    ::= { cnfEIExportInfoTable 1}

CnfEIExportInfoEntry ::= SEQUENCE {
        cnfEIExportVersion              Unsigned32,
        cnfEIPeerAS                     TruthValue,
        cnfEIOriginAS                   TruthValue,
        cnfEIBgpNextHop                 TruthValue
     }

cnfEIExportVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The NetFlow data export version."
    ::= { cnfEIExportInfoEntry 1 }

cnfEIPeerAS OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object enables collection of AS numbers from a peer
         autonomous system. cnfEIPeerAS, cnfEIOriginAS and
         cnfEIBgpNextHop are interdependent."
    ::= { cnfEIExportInfoEntry 2 }

cnfEIOriginAS OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object enables collection of AS numbers from an origin
         autonomous system. cnfEIPeerAS, cnfEIOriginAS and
         cnfEIBgpNextHop are interdependent."
    ::= { cnfEIExportInfoEntry 3 }

cnfEIBgpNextHop OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object enables collection of BGP Next Hops. cnfEIPeerAS,
         cnfEIOriginAS and cnfEIBgpNextHop are interdependent."
    ::= { cnfEIExportInfoEntry 4 }

cnfEIMaxCollectors OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Maximum number of entries allowed in the cnfEICollectorTable
         for each cache type.
         A zero indicates export is not supported in the device.
         The agent should set this value during initialization, and
         the value for this object cannot be changed during the
         system's operation."
    ::= { cnfExportInfo 2 }

cnfEICollectorTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CnfEICollectorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A control table to configure the collectors that the netflow
         packets are exported to. The number of entries that can be
         configured for the cache type is limited by the value of
         cnfEIMaxCollectors."
    ::= { cnfExportInfo 3 }

cnfEICollectorEntry OBJECT-TYPE
    SYNTAX     CnfEICollectorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A conceptual row in the cnfEICollectorEntry."
    INDEX { cnfCICacheType,
            cnfEICollectorAddressType,
            cnfEICollectorAddress,
            cnfEICollectorPort }
    ::= { cnfEICollectorTable 1 }

CnfEICollectorEntry ::= SEQUENCE {
        cnfEICollectorAddressType       InetAddressType,
        cnfEICollectorAddress           InetAddress,
        cnfEICollectorPort              InetPortNumber,
        cnfEICollectorStatus            RowStatus
   }

cnfEICollectorAddressType OBJECT-TYPE
    SYNTAX     InetAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The type of Internet address used by this entry."
    ::= { cnfEICollectorEntry 1 }

cnfEICollectorAddress OBJECT-TYPE
    SYNTAX     InetAddress
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The Internet address of the collector. This is the
         address which the Netflow data is exported to."
    ::= { cnfEICollectorEntry 2 }

cnfEICollectorPort OBJECT-TYPE
    SYNTAX     InetPortNumber
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The transport port of the collector which the Netflow data is
         exported to."
    ::= { cnfEICollectorEntry 3 }

cnfEICollectorStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "This object is used to create or delete an entry
         in the cnfEICollectorTable.

         * A row may be created using the 'CreateAndGo' option. When
           the row is successfully created, the RowStatus would be
           set to 'active' by the agent.

         * A row may be deleted by setting the RowStatus to 'destroy'.
         "
    ::= { cnfEICollectorEntry 4 }


-- Object Group: cnfExportStatistics
--
--        cnfESSampledPacket
--        cnfESExportRate
--        cnfESRecordsExported
--        cnfESPktsExported
--        cnfESPktsFailed
--        cnfESPktsDropped


cnfESSampledPacket OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of Sampled Packet."
    ::= { cnfExportStatistics 1 }

cnfESExportRate OBJECT-TYPE
    SYNTAX     Counter32
    UNITS      "bytes per second"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of Bytes exported per second."
    ::= { cnfExportStatistics 2 }

cnfESRecordsExported OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of flow statistics records which were exported."
    ::= { cnfExportStatistics 3 }

cnfESPktsExported OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of packets (udp datagrams) which were exported."
    ::= { cnfExportStatistics 4 }

cnfESPktsFailed OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of times a flow record could not be exported because of
         a pak allocation failure."
    ::= { cnfExportStatistics 5 }

cnfESPktsDropped OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of export packets which were dropped at the time of
         ipwrite operation. The reasons for this failure are no FIB,
         adjacency failure, MTU failed, enqueue failed, IPC failed etc."
    ::= { cnfExportStatistics 6 }


-- Object Group: cnfProtocolStatistics
--
--        cnfPSPacketSizeDistribution
--        cnfPSLastClearElapsedTime
--        cnfPSProtocolStatTable
--            cnfPSProtocolStatEntry
--                cnfPSProtocolType
--                cnfPSExpiredFlows
--                cnfPSPackets
--                cnfPSBytes
--                cnfPSActive
--                cnfPSInactive


cnfPSPacketSizeDistribution OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE(52))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A string contain IP Packet Size Distribution statistics.
         Distribution grouping are following :1-32   64   96  128
         160  192  224  256 288  320  352 384  416  448  480  512
         544  576 1024 1536 2048 2560 3072 3584 4096 4608. Value for
         each group will be expressed in 2 bytes (in Network byte
         order) and need to divide by 1000 to get the exact value
         given by CLI using show ip cache flow command."
    ::= { cnfProtocolStatistics 1 }

cnfPSLastClearElapsedTime OBJECT-TYPE
    SYNTAX      Gauge32
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Object indicates time in millisecond since the last clearing
         time of protocol statistics."
    ::= { cnfProtocolStatistics 2 }

cnfPSProtocolStatTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF CnfPSProtocolStatEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table containing statistics per protocol.
         Information sorted in this table is global in nature (i.e. it's
         updated for all line cards where netflow is enabled) and
         follows the Counter64 semantics as described in RFC 2578."
    ::= { cnfProtocolStatistics 3 }

cnfPSProtocolStatEntry OBJECT-TYPE
    SYNTAX     CnfPSProtocolStatEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A conceptual row in the CnfPSProtocolStatEntry."
    INDEX{ cnfPSProtocolType }
    ::= { cnfPSProtocolStatTable 1 }

CnfPSProtocolStatEntry ::= SEQUENCE {
        cnfPSProtocolType               NfProtocolTypes,
        cnfPSExpiredFlows               Counter64,
        cnfPSPackets                    Counter64,
        cnfPSBytes                      Counter64,
        cnfPSActive                     Counter64,
        cnfPSInactive                   Counter64
     }

cnfPSProtocolType OBJECT-TYPE
    SYNTAX      NfProtocolTypes
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This object is used as INDEX for protocol statistic table.
         Protocol type consists of groups based on well known ports
         and protocols."
    ::= { cnfPSProtocolStatEntry 1 }

cnfPSExpiredFlows OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of flows belonging to the same protocol and port
         that were expired. This counter is incremented when a flow
         expires due to some reason like time out of flows,
         event based aging etc."
    ::= { cnfPSProtocolStatEntry 2 }

cnfPSPackets OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of Packets belonging to the same protocol and port
         which were switched by netflow enabled interface(s).
         This counter contains the number of Packets switched by all
         netflow enabled line cards."
    ::= { cnfPSProtocolStatEntry 3 }

cnfPSBytes OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of Bytes belonging to the same protocol and port,
         which were switched by netflow enabled interface(s).
         This counter contains the number of Packets switched by all
         netflow enabled line cards."
    ::= { cnfPSProtocolStatEntry 4 }

cnfPSActive OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is a summation of active time of all flows belonging to
         the same protocol and port in milliseconds. The time between
         first switched packet and last switched packet is measured as
         the active time of a flow."
    ::= { cnfPSProtocolStatEntry 5 }

cnfPSInactive OBJECT-TYPE
    SYNTAX      Counter64
    UNITS       "milliseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This is a summation of inactive time of all flows belonging to
         the same protocol and port in milliseconds. The time between
         the last switched packet and expiry of a flow is measured as
         the inactive time of a flow."
    ::= { cnfPSProtocolStatEntry 6 }


-- Object Group: cnfExportTemplate
--
--        cnfTemplateOptionsFlag
--        cnfTemplateTable
--            cnfTemplateEntry
--                cnfTemplateType
--                cnfTemplateAdded
--                cnfTemplateActive
--                cnfTemplateAgerPolls
--        cnfTemplateExportInfoTable
--            cnfTemplateExportInfoEntry
--                INDEX cnfCICacheType
--                cnfTemplateExportVer9Enable
--                cnfTemplateExportVer9TplTimeout
--                cnfTemplateExportVer9OptTimeout
--                cnfTemplateExportVer9TplRefreshRate
--                cnfTemplateExportVer9OptRefreshRate


cnfTemplateOptionsFlag OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Object to indicate Sub- technologies in option template."
    ::= { cnfExportTemplate 1 }

cnfTemplateTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CnfTemplateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A control table to provide statistics of version 9
         Flow and Option templates."
    ::= { cnfExportTemplate 2 }

cnfTemplateEntry OBJECT-TYPE
    SYNTAX      CnfTemplateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the cnfTemplateEntry."
    INDEX { cnfTemplateType }
    ::= { cnfTemplateTable 1 }

CnfTemplateEntry ::= SEQUENCE {
        cnfTemplateType                 NfTemplateTypes,
        cnfTemplateAdded                Unsigned32,
        cnfTemplateActive               Unsigned32,
        cnfTemplateAgerPolls            Unsigned32
   }

cnfTemplateType OBJECT-TYPE
    SYNTAX     NfTemplateTypes
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Defines the structure and interpretation of fields in a data
         record and serves as an INDEX in this table. Version 9 has two
         types of Templates: Flow Templates and Option Templates."
    ::= { cnfTemplateEntry 1 }

cnfTemplateAdded OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of templates added."
    ::= { cnfTemplateEntry 2 }

cnfTemplateActive OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of active templates."
    ::= { cnfTemplateEntry 3 }

cnfTemplateAgerPolls OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Number of template ager polls."
    ::= { cnfTemplateEntry 4 }

cnfTemplateExportInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CnfTemplateExportInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A control table providing information about version 9."
    ::= { cnfExportTemplate 3 }

cnfTemplateExportInfoEntry OBJECT-TYPE
    SYNTAX      CnfTemplateExportInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the cnfTemplateExportInfoEntry."
    INDEX { cnfCICacheType }
    ::= { cnfTemplateExportInfoTable 1 }

CnfTemplateExportInfoEntry ::= SEQUENCE {
        cnfTemplateExportVer9Enable             TruthValue,
        cnfTemplateExportVer9TplTimeout         Unsigned32,
        cnfTemplateExportVer9OptTimeout         Unsigned32,
        cnfTemplateExportVer9TplRefreshRate     Unsigned32,
        cnfTemplateExportVer9OptRefreshRate     Unsigned32
   }

cnfTemplateExportVer9Enable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Object to indicate whether version 9 export is configured
         or not."
    ::= { cnfTemplateExportInfoEntry 1 }

cnfTemplateExportVer9TplTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "minutes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Export template time out.
         Templates are resent after this time."
    ::= { cnfTemplateExportInfoEntry 2 }

cnfTemplateExportVer9OptTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "minutes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Export option time out.
         Options are resent after this time."
    ::= { cnfTemplateExportInfoEntry 3 }

cnfTemplateExportVer9TplRefreshRate OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "packets"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Template refresh rate.
         Templates are resent after this many packets."
    ::= { cnfTemplateExportInfoEntry 4 }

cnfTemplateExportVer9OptRefreshRate OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "packets"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Option refresh rate.
         Options are resent after this many packets."
    ::= { cnfTemplateExportInfoEntry 5 }


-- Object Group: cnfTopFlows
--
--      cnfTopFlowsTimeStamp
--      cnfTopFlowsTopN
--      cnfTopFlowsAvailableFlows
--      cnfTopFlowsMatchingFlows
--      cnfTopFlowsTotalFlows
--      cnfTopFlowsSortBy
--      cnfTopFlowsCacheTimeout
--      cnfTopFlowsTable
--          cnfTopFlowsTableEntry
--              cnfTopFlowsIndex
--              cnfTopFlowsSrcAddressType
--              cnfTopFlowsSrcAddress
--              cnfTopFlowsSrcAddressMask
--              cnfTopFlowsDstAddressType
--              cnfTopFlowsDstAddress
--              cnfTopFlowsDstAddressMask
--              cnfTopFlowsNhAddressType
--              cnfTopFlowsNhAddress
--              cnfTopFlowsSrcPort
--              cnfTopFlowsDstPort
--              cnfTopFlowsSrcAS
--              cnfTopFlowsDstAS
--              cnfTopFlowsInputIfIndex
--              cnfTopFlowsOutputIfIndex
--              cnfTopFlowsFirstSwitched
--              cnfTopFlowsLastSwitched
--              cnfTopFlowsTOS
--              cnfTopFlowsProtocol
--              cnfTopFlowsTCPFlags
--              cnfTopFlowsSamplerID
--              cnfTopFlowsClassID
--              cnfTopFlowsFlags
--              cnfTopFlowsBytes
--              cnfTopFlowsPackets
--      cnfTopFlowsMatchSrcAddressType
--      cnfTopFlowsMatchSrcAddress
--      cnfTopFlowsMatchSrcAddressMask
--      cnfTopFlowsMatchDstAddressType
--      cnfTopFlowsMatchDstAddress
--      cnfTopFlowsMatchDstAddressMask
--      cnfTopFlowsMatchNhAddressType
--      cnfTopFlowsMatchNhAddress
--      cnfTopFlowsMatchNhAddressMask
--      cnfTopFlowsMatchSrcPortLo
--      cnfTopFlowsMatchSrcPortHi
--      cnfTopFlowsMatchDstPortLo
--      cnfTopFlowsMatchDstPortHi
--      cnfTopFlowsMatchSrcAS
--      cnfTopFlowsMatchDstAS
--      cnfTopFlowsMatchInputIf
--      cnfTopFlowsMatchOutputIf
--      cnfTopFlowsMatchTOSByte
--      cnfTopFlowsMatchProtocol
--      cnfTopFlowsMatchSampler
--      cnfTopFlowsMatchClass
--      cnfTopFlowsMatchMinPackets
--      cnfTopFlowsMatchMaxPackets
--      cnfTopFlowsMatchMinBytes
--      cnfTopFlowsMatchMaxBytes
--      cnfTopFlowsMatchDirection


cnfTopFlowsTimeStamp OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the time when cnfTopFlowsTable was last updated."
    ::= { cnfTopFlows 1 }

cnfTopFlowsTopN OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Maximum number of top flows to calculate.
         A value of 0 disables the Top Flows feature."
    ::= { cnfTopFlows 2 }

cnfTopFlowsAvailableFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of entries currently available in cnfTopFlowsTable."
    ::= { cnfTopFlows 3 }

cnfTopFlowsMatchingFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total number of matching flows in the netflow cache."
    ::= { cnfTopFlows 4 }

cnfTopFlowsTotalFlows OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Total number of flows in the netflow cache."
    ::= { cnfTopFlows 5 }

cnfTopFlowsSortBy OBJECT-TYPE
    SYNTAX      NfTopFlowsSortTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Indicates how the entries in cnfTopFLowsTable are to be sorted.
         A value of 'noSort' disables Top Flows."
    ::= { cnfTopFlows 6 }

cnfTopFlowsCacheTimeout OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "milliseconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Top Flows Cache timeout. Top flows are cached for this length
         of time and not recalculated. Configure a high value to ensure
         the cache does not change during long queries.
         Setting this object (to any value) will expire the cache."
    ::= { cnfTopFlows 7 }

cnfTopFlowsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CnfTopFlowsTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table of flows which have accrued the highest packets or bytes.
         Each row in the table represents one flow from the cache."
    ::= { cnfTopFlows 8 }

cnfTopFlowsTableEntry OBJECT-TYPE
    SYNTAX      CnfTopFlowsTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the cnfTopFlowsTable."
    INDEX { cnfTopFlowsIndex }
    ::= { cnfTopFlowsTable 1 }

CnfTopFlowsTableEntry ::= SEQUENCE {
        cnfTopFlowsIndex                Unsigned32,
        cnfTopFlowsSrcAddressType       InetAddressType,
        cnfTopFlowsSrcAddress           InetAddress,
        cnfTopFlowsSrcAddressMask       InetAddressPrefixLength,
        cnfTopFlowsDstAddressType       InetAddressType,
        cnfTopFlowsDstAddress           InetAddress,
        cnfTopFlowsDstAddressMask       InetAddressPrefixLength,
        cnfTopFlowsNhAddressType        InetAddressType,
        cnfTopFlowsNhAddress            InetAddress,
        cnfTopFlowsSrcPort              InetPortNumber,
        cnfTopFlowsDstPort              InetPortNumber,
        cnfTopFlowsSrcAS                InetAutonomousSystemNumber,
        cnfTopFlowsDstAS                InetAutonomousSystemNumber,
        cnfTopFlowsInputIfIndex         InterfaceIndex,
        cnfTopFlowsOutputIfIndex        InterfaceIndex,
        cnfTopFlowsFirstSwitched        TimeStamp,
        cnfTopFlowsLastSwitched         TimeStamp,
        cnfTopFlowsTOS                  Unsigned32,
        cnfTopFlowsProtocol             Unsigned32,
        cnfTopFlowsTCPFlags             Unsigned32,
        cnfTopFlowsSamplerID            Unsigned32,
        cnfTopFlowsClassID              Unsigned32,
        cnfTopFlowsFlags                Unsigned32,
        cnfTopFlowsBytes                Unsigned32,
        cnfTopFlowsPackets              Unsigned32,
        cnfTopFlowsVlan                 VlanIndex
     }

cnfTopFlowsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Index to select top flows.
         A value of 1 selects the topmost flow."
    ::= { cnfTopFlowsTableEntry 1 }

cnfTopFlowsSrcAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of source address."
    ::= { cnfTopFlowsTableEntry 2 }

cnfTopFlowsSrcAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Source address."
    ::= { cnfTopFlowsTableEntry 3 }

cnfTopFlowsSrcAddressMask OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of bits in source address mask."
    ::= { cnfTopFlowsTableEntry 4 }

cnfTopFlowsDstAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of destination address."
    ::= { cnfTopFlowsTableEntry 5 }

cnfTopFlowsDstAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Destination address."
    ::= { cnfTopFlowsTableEntry 6 }

cnfTopFlowsDstAddressMask OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of bits in destination address mask."
    ::= { cnfTopFlowsTableEntry 7 }

cnfTopFlowsNhAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The type of nexthop address."
    ::= { cnfTopFlowsTableEntry 8 }

cnfTopFlowsNhAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Nexthop address."
    ::= { cnfTopFlowsTableEntry 9 }

cnfTopFlowsSrcPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Source port number."
    ::= { cnfTopFlowsTableEntry 10 }

cnfTopFlowsDstPort OBJECT-TYPE
    SYNTAX      InetPortNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Destination port number."
    ::= { cnfTopFlowsTableEntry 11 }

cnfTopFlowsSrcAS OBJECT-TYPE
    SYNTAX      InetAutonomousSystemNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Source AS number."
    ::= { cnfTopFlowsTableEntry 12 }

cnfTopFlowsDstAS OBJECT-TYPE
    SYNTAX      InetAutonomousSystemNumber
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Destination AS number."
    ::= { cnfTopFlowsTableEntry 13 }

cnfTopFlowsInputIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Input interface index."
    ::= { cnfTopFlowsTableEntry 14 }

cnfTopFlowsOutputIfIndex OBJECT-TYPE
    SYNTAX      InterfaceIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Output interface index."
    ::= { cnfTopFlowsTableEntry 15 }

cnfTopFlowsFirstSwitched OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Time flow was first switched."
    ::= { cnfTopFlowsTableEntry 16 }

cnfTopFlowsLastSwitched OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Time flow was last switched."
    ::= { cnfTopFlowsTableEntry 17 }

cnfTopFlowsTOS OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Type of service."
    ::= { cnfTopFlowsTableEntry 18 }

cnfTopFlowsProtocol OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Protocol number."
    ::= { cnfTopFlowsTableEntry 19 }

cnfTopFlowsTCPFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "TCP flags."
    ::= { cnfTopFlowsTableEntry 20 }

cnfTopFlowsSamplerID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Netflow Sampler ID."
    ::= { cnfTopFlowsTableEntry 21 }

cnfTopFlowsClassID OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Netflow Class ID."
    ::= { cnfTopFlowsTableEntry 22 }

cnfTopFlowsFlags OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Flow flags."
    ::= { cnfTopFlowsTableEntry 23 }

cnfTopFlowsBytes OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of bytes in the flow."
    ::= { cnfTopFlowsTableEntry 24 }

cnfTopFlowsPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of packets in the flow."
    ::= { cnfTopFlowsTableEntry 25 }

cnfTopFlowsVlan  OBJECT-TYPE
    SYNTAX      VlanIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The VLAN-ID of this flow."
    ::= { cnfTopFlowsTableEntry 26 }

cnfTopFlowsMatchSrcAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Source address type to match.
         A value of 'unknown' (ie, 0) indicates the source address
         is not used as a top flows match criteria, and clears the
         cnfTopFlowsMatchSrcAddress and cnfTopFlowsMatchSrcAddressMask
         configuration."
    ::= { cnfTopFlows 9 }

cnfTopFlowsMatchSrcAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Source address prefix to match."
    ::= { cnfTopFlows 10 }

cnfTopFlowsMatchSrcAddressMask OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The length of the match source address prefix.
         This prefix length must be consistent with the address type
         specified in cnfTopFlowsMatchSrcAddressType. A length of zero
         only matches the all-zero address of the specified type."
    ::= { cnfTopFlows 11 }

cnfTopFlowsMatchDstAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Destination address type to match.
         A value of 'unknown' (ie, 0) indicates the destination address
         is not used as a top flows match criteria, and clears the
         cnfTopFlowsMatchDstAddress and cnfTopFlowsMatchDstAddressMask
         configuration."
    ::= { cnfTopFlows 12 }

cnfTopFlowsMatchDstAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Destination address prefix to match."
    ::= { cnfTopFlows 13 }

cnfTopFlowsMatchDstAddressMask OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The length of the match destination address prefix.
         This prefix length must be consistent with the address type
         specified in cnfTopFlowsMatchDstAddressType. A length of zero
         only matches the all-zero address of the specified type."
    ::= { cnfTopFlows 14 }

cnfTopFlowsMatchNhAddressType OBJECT-TYPE
    SYNTAX      InetAddressType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Nexthop address type to match.
         A value of 'unknown' (ie, 0) indicates the nexthop address
         is not used as a top flows match criteria, and clears the
         cnfTopFlowsMatchNhAddress and cnfTopFlowsMatchNhAddressMask
         configuration."
    ::= { cnfTopFlows 15 }

cnfTopFlowsMatchNhAddress OBJECT-TYPE
    SYNTAX      InetAddress
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Nexthop address prefix to match."
    ::= { cnfTopFlows 16 }

cnfTopFlowsMatchNhAddressMask OBJECT-TYPE
    SYNTAX      InetAddressPrefixLength
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The length of the match nexthop address Prefix.
         This prefix length must be consistent with the address type
         specified in cnfTopFlowsMatchNhAddressType. A length of zero
         only matches the all-zero address of the specified type."
    ::= { cnfTopFlows 17 }

cnfTopFlowsMatchSrcPortLo OBJECT-TYPE
    SYNTAX      Integer32  (-1 | 0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The minimum value that the layer-4 source port number in
         the flow must have in order to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 18 }

cnfTopFlowsMatchSrcPortHi OBJECT-TYPE
    SYNTAX      Integer32  (-1 | 0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum value that the layer-4 source port number in
         the flow must have in order to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 19 }

cnfTopFlowsMatchDstPortLo OBJECT-TYPE
    SYNTAX      Integer32  (-1 | 0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The minimum value that the layer-4 destination port number in
         the flow must have in order to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 20 }

cnfTopFlowsMatchDstPortHi OBJECT-TYPE
    SYNTAX      Integer32  (-1 | 0..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum value that the layer-4 destination port number in
         the flow must have in order to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 21 }

cnfTopFlowsMatchSrcAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Source AS number to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 22 }

cnfTopFlowsMatchDstAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Destination AS number to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 23 }

cnfTopFlowsMatchInputIf OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Input interface to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 24 }

cnfTopFlowsMatchOutputIf OBJECT-TYPE
    SYNTAX      InterfaceIndexOrZero
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Output interface to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 25 }

cnfTopFlowsMatchTOSByte OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "TOS byte to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows      26 }

cnfTopFlowsMatchProtocol OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Protocol to match.
         A value of -1 disables this match criteria."
    ::= { cnfTopFlows 27 }

cnfTopFlowsMatchSampler OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Sampler name to match.
         Leave blank to disable this match criteria."
    ::= { cnfTopFlows 28 }

cnfTopFlowsMatchClass OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Class name to match.
         Leave blank to disable this match criteria."
    ::= { cnfTopFlows 29 }

cnfTopFlowsMatchMinPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Minimum packets to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 30 }

cnfTopFlowsMatchMaxPackets OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Maximum packets to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 31 }

cnfTopFlowsMatchMinBytes OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Minimum bytes to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 32 }

cnfTopFlowsMatchMaxBytes OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Maximum bytes to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 33 }

cnfTopFlowsMatchDirection OBJECT-TYPE
    SYNTAX      NfFlowDirectionTypes
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Flow direction to match.
         A value of 0 disables this match criteria."
    ::= { cnfTopFlows 34 }

cnfTopFlowsGenerate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "A control variable used to generate the Top Flows. 

         Setting this object to 'true' will generate the Top Flows 
         and populate the Top Flows report in cnfTopFlowsTable  
         unless cnfTopFlowsNextGenActionEffect is supported and the
         value of cnfTopFlowsNextGenActionEffect is 'noOp'.

         Setting this object to 'false' has no effect.

         When read, this object always returns 'false'."
    ::= { cnfTopFlows 35 }

cnfTopFlowsReportAvailable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates whether the Top Flows report has been 
         successfully generated and is available in 
         cnfTopFlowsTable. 

         When the value of this object is 'true', the 
         top flows report is available in cnfTopFlowsTable.

         When the value of this object is 'false', there is no
         top flows report available in cnfTopFlowsTable. 
         For Example:
             1. When top flows report has not been generated or 
                is currently in the generation process.
             2. When the top flows has been purged due to
                the modification of a matching criteria or the
                expiration of top flow cache timeout."
   ::= { cnfTopFlows 36 }

cnfTopFlowsNextGenActionEffect OBJECT-TYPE
    SYNTAX      INTEGER {
                         noOp(1),
                         generate(2)
                         } 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the action effect on the system when the 
         cnfTopFlowsGenerate is set to 'true'.  

         'noOp' -- indicate that the system will make no operation 
                   when the cnfTopFlowsGenerate is set to 'true'.
                 Examples when this object could return 'noOp' are:
                 1. the system is still in the top flow generation 
                    process. 
                 2. the system will not generate the top flows 
                    report when the value of 
                    cnfTopFlowsReportAvailable is 'true'.

         'generate' -- indicates that the system will start the top 
                       flows generation process if the 
                       cntTopFlowsGenerate is set to 'true'.
                 Examples when this object could return 'generate' 
                 are:
                 1. When the value of cnfTopFlowsReportAvailable is 
                    'false'.  
                 2. The system will always generate the top flow
                    report when cnfTopFlowsGenerate is set to 
                    'true'.
         "
    ::= { cnfTopFlows 37 }

cnfTopFlowsReportSource OBJECT-TYPE
    SYNTAX      INTEGER{
                other(1),
                hardware(2),
                software(3),
                both(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Indicates the source of Top Flows report generation for 
         the entries populated in cnfTopFlowsTable.
  
         'other'    - The Top Flows are not available or the source 
                      of the Top Flows cannot be identified.

         'hardware' - The Top Flows report has been generated based 
                      on the flows detected by the hardware platform
                      with netflow capabilities.

         'software' - The Top Flows report has been generated based
                      on the flows detected by the software.

         'both'     - The Top Flows report is an integrated list of 
                      Top Flows detected by both the hardware
                      platform and the software."
    ::= { cnfTopFlows 38 }


-- No Notification defined


-- Conformance and Compliance

cnfMIBCompliances       OBJECT IDENTIFIER ::= { ciscoNetflowMIBConform 1 }
cnfMIBGroups            OBJECT IDENTIFIER ::= { ciscoNetflowMIBConform 2 }

-- Conformance

cnfMIBCompliance MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
                "The compliance statement for the CISCO-NETFLOW-MIB.

          OBJECT cnfCollectorAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfCollectorAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses."

        MODULE  -- this module
        MANDATORY-GROUPS { cnfCacheInfoGroup,
                           cnfProtocolStatGroup
                         }

        GROUP   cnfExportInfoGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled."

        GROUP   cnfExportStatisticsGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled."

        GROUP   cnfExportTemplateGroup
        DESCRIPTION
            "This group is mandatory for version 9 Export."

        GROUP   cnfTopFlowsGroup
        DESCRIPTION
            "This group is mandatory where Top Flows can be enabled."

        OBJECT  cnfCICacheEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        OBJECT  cnfCINetflowEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        ::= { cnfMIBCompliances 1 }

cnfMIBCompliance1 MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
                "The compliance statement for the CISCO-NETFLOW-MIB.

          OBJECT cnfCollectorAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfCollectorAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses."

        MODULE  -- this module
        MANDATORY-GROUPS { cnfCacheInfoGroup,
                           cnfProtocolStatGroup
                         }

        GROUP   cnfExportInfoGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled
             and specific netflow export configuration cab be 
             supported."

        GROUP   cnfExportStatisticsGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled
             and statistical information is available."

        GROUP   cnfExportTemplateGroup
        DESCRIPTION
            "This group is mandatory for version 9 Export."

        OBJECT  cnfCICacheEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        OBJECT  cnfCINetflowEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        GROUP   cnfTopFlowsDataGroup1
        DESCRIPTION
            "This group is mandatory where Top Flows feature
             is supported."

        GROUP   cnfTopFlowsDataGroup2
        DESCRIPTION
            "This group is optional."

        GROUP   cnfTopFlowsVlanGroup
        DESCRIPTION
            "This group is optional."

        GROUP   cnfTopFlowsControlGroup1
        DESCRIPTION
            "This group is optional."

        GROUP cnfTopFlowsControlGroup2
        DESCRIPTION
            "This group is optional."

        ::= { cnfMIBCompliances 2 }

cnfMIBCompliance2 MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
                "The compliance statement for the CISCO-NETFLOW-MIB.

          OBJECT cnfCollectorAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfCollectorAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses."

        MODULE  -- this module
        MANDATORY-GROUPS { cnfCacheInfoGroup,
                           cnfProtocolStatGroup
                         }

        GROUP   cnfExportInfoGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled
             and specific netflow export configuration cab be 
             supported."

        GROUP   cnfExportStatisticsGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled
             and statistical information is available."

        GROUP   cnfExportTemplateGroup
        DESCRIPTION
            "This group is mandatory for version 9 Export."

        OBJECT  cnfCICacheEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        OBJECT  cnfCINetflowEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        GROUP   cnfTopFlowsDataGroup1
        DESCRIPTION
            "This group is mandatory where Top Flows feature
             is supported."

        GROUP   cnfTopFlowsDataGroup2
        DESCRIPTION
            "This group is optional."

        GROUP   cnfTopFlowsVlanGroup
        DESCRIPTION
            "This group is optional."

        GROUP   cnfTopFlowsControlGroup1
        DESCRIPTION
            "This group is optional."

        GROUP cnfTopFlowsControlGroup2
        DESCRIPTION
            "This group is optional."

        GROUP cnfMcastNetflowControlGroup
        DESCRIPTION
            "This group is mandatory where Multicast Netflow feature
             is supported."

        GROUP cnfBridgedFlowStatsCtrlGroup
        DESCRIPTION
            "This group is mandatory where Bridged Flow Statistics
             Control feature is supported."

        ::= { cnfMIBCompliances 3 }

cnfMIBCompliance3 MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for the CISCO-NETFLOW-MIB.

          OBJECT cnfCollectorAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfCollectorAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchSrcAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchDstAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddressType
          SYNTAX InetAddressType { ipv4(1) }
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses.

          OBJECT cnfTopFlowsMatchNhAddress
          SYNTAX InetAddress (SIZE(4))
          DESCRIPTION
               An implementation is only required to support IPv4
               addresses."

        MODULE  -- this module
        MANDATORY-GROUPS { cnfCacheInfoGroup,
                           cnfProtocolStatGroup
                         }

        GROUP   cnfExportInfoGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled
             and specific netflow export configuration cab be 
             supported."

        GROUP   cnfExportStatisticsGroup
        DESCRIPTION
            "This group is mandatory where Export can be enabled
             and statistical information is available."

        GROUP   cnfExportTemplateGroup
        DESCRIPTION
            "This group is mandatory for version 9 Export."

        OBJECT  cnfCICacheEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        OBJECT  cnfCINetflowEnable
        MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not supported."

        GROUP   cnfTopFlowsDataGroup1
        DESCRIPTION
            "This group is mandatory where Top Flows feature
             is supported."

        GROUP   cnfTopFlowsDataGroup2
        DESCRIPTION
            "This group is optional."

        GROUP   cnfTopFlowsVlanGroup
        DESCRIPTION
            "This group is optional."

        GROUP   cnfTopFlowsControlGroup1
        DESCRIPTION
            "This group is optional."

        GROUP cnfTopFlowsControlGroup2
        DESCRIPTION
            "This group is optional."

        GROUP cnfMcastNetflowControlGroup
        DESCRIPTION
            "This group is mandatory where Multicast Netflow feature
             is supported."

        GROUP cnfBridgedFlowStatsCtrlGroup
        DESCRIPTION
            "This group is mandatory where Bridged Flow Statistics
             Control feature is supported."

        GROUP cnfTopFlowsReportGenerateGroup
        DESCRIPTION
            "This group is optional."

        ::= { cnfMIBCompliances 4 }


-- Units of Conformance

cnfCacheInfoGroup OBJECT-GROUP
        OBJECTS {
            cnfCINetflowEnable,
            cnfCICacheEnable,
            cnfCICacheEntries,
            cnfCIActiveFlows,
            cnfCIInactiveFlows,
            cnfCIActiveTimeOut,
            cnfCIInactiveTimeOut,
            cnfCIMinSourceMask,
            cnfCIMinDestinationMask
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing information and
             configuration of the Netflow cache."
        ::= { cnfMIBGroups 1 }

cnfProtocolStatGroup OBJECT-GROUP
        OBJECTS {
            cnfPSPacketSizeDistribution,
            cnfPSLastClearElapsedTime,
            cnfPSExpiredFlows,
            cnfPSPackets,
            cnfPSBytes,
            cnfPSActive,
            cnfPSInactive
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing statistical information
             of cache per protocol and port."
        ::= { cnfMIBGroups 2 }

cnfExportInfoGroup OBJECT-GROUP
        OBJECTS {
            cnfEIExportVersion,
            cnfEIPeerAS,
            cnfEIOriginAS,
            cnfEIBgpNextHop,
            cnfEIMaxCollectors,
            cnfEICollectorStatus
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing Export information."
        ::= { cnfMIBGroups 3 }

cnfExportStatisticsGroup OBJECT-GROUP
        OBJECTS {
            cnfESSampledPacket,
            cnfESExportRate,
            cnfESRecordsExported,
            cnfESPktsExported,
            cnfESPktsFailed,
            cnfESPktsDropped
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing statistical information
             of Export."
        ::= { cnfMIBGroups 5 }

cnfExportTemplateGroup OBJECT-GROUP
        OBJECTS {
            cnfTemplateOptionsFlag,
            cnfTemplateAdded,
            cnfTemplateActive,
            cnfTemplateAgerPolls,
            cnfTemplateExportVer9Enable,
            cnfTemplateExportVer9TplTimeout,
            cnfTemplateExportVer9OptTimeout,
            cnfTemplateExportVer9TplRefreshRate,
            cnfTemplateExportVer9OptRefreshRate
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing information about export
             version 9."
        ::= { cnfMIBGroups 6 }

cnfTopFlowsGroup OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsTimeStamp,
            cnfTopFlowsTopN,
            cnfTopFlowsAvailableFlows,
            cnfTopFlowsMatchingFlows,
            cnfTopFlowsTotalFlows,
            cnfTopFlowsSortBy,
            cnfTopFlowsCacheTimeout,
            cnfTopFlowsSrcAddressType,
            cnfTopFlowsSrcAddress,
            cnfTopFlowsSrcAddressMask,
            cnfTopFlowsDstAddressType,
            cnfTopFlowsDstAddress,
            cnfTopFlowsDstAddressMask,
            cnfTopFlowsNhAddressType,
            cnfTopFlowsNhAddress,
            cnfTopFlowsSrcPort,
            cnfTopFlowsDstPort,
            cnfTopFlowsSrcAS,
            cnfTopFlowsDstAS,
            cnfTopFlowsInputIfIndex,
            cnfTopFlowsOutputIfIndex,
            cnfTopFlowsFirstSwitched,
            cnfTopFlowsLastSwitched,
            cnfTopFlowsTOS,
            cnfTopFlowsProtocol,
            cnfTopFlowsTCPFlags,
            cnfTopFlowsSamplerID,
            cnfTopFlowsClassID,
            cnfTopFlowsFlags,
            cnfTopFlowsBytes,
            cnfTopFlowsPackets,
            cnfTopFlowsMatchSrcAddressType,
            cnfTopFlowsMatchSrcAddress,
            cnfTopFlowsMatchSrcAddressMask,
            cnfTopFlowsMatchDstAddressType,
            cnfTopFlowsMatchDstAddress,
            cnfTopFlowsMatchDstAddressMask,
            cnfTopFlowsMatchNhAddressType,
            cnfTopFlowsMatchNhAddress,
            cnfTopFlowsMatchNhAddressMask,
            cnfTopFlowsMatchSrcPortLo,
            cnfTopFlowsMatchSrcPortHi,
            cnfTopFlowsMatchDstPortLo,
            cnfTopFlowsMatchDstPortHi,
            cnfTopFlowsMatchSrcAS,
            cnfTopFlowsMatchDstAS,
            cnfTopFlowsMatchInputIf,
            cnfTopFlowsMatchOutputIf,
            cnfTopFlowsMatchTOSByte,
            cnfTopFlowsMatchProtocol,
            cnfTopFlowsMatchSampler,
            cnfTopFlowsMatchClass,
            cnfTopFlowsMatchMinPackets,
            cnfTopFlowsMatchMaxPackets,
            cnfTopFlowsMatchMinBytes,
            cnfTopFlowsMatchMaxBytes,
            cnfTopFlowsMatchDirection
        }
        STATUS deprecated
        DESCRIPTION
            "A collection of objects providing information for top
            flows."
        ::= { cnfMIBGroups 7 }

cnfTopFlowsDataGroup1 OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsTimeStamp,
            cnfTopFlowsTopN,
            cnfTopFlowsAvailableFlows,
            cnfTopFlowsTotalFlows,
            cnfTopFlowsSortBy,
            cnfTopFlowsSrcAddressType,
            cnfTopFlowsSrcAddress,
            cnfTopFlowsDstAddressType,
            cnfTopFlowsDstAddress,
            cnfTopFlowsSrcPort,
            cnfTopFlowsDstPort,
            cnfTopFlowsProtocol,
            cnfTopFlowsBytes,
            cnfTopFlowsPackets
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing information for top
            flows."
        ::= { cnfMIBGroups 8 }

cnfTopFlowsDataGroup2 OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsCacheTimeout,
            cnfTopFlowsSrcAddressMask,
            cnfTopFlowsDstAddressMask,
            cnfTopFlowsNhAddressType,
            cnfTopFlowsNhAddress,
            cnfTopFlowsSrcAS,
            cnfTopFlowsDstAS,
            cnfTopFlowsInputIfIndex,
            cnfTopFlowsOutputIfIndex,
            cnfTopFlowsFirstSwitched,
            cnfTopFlowsLastSwitched,
            cnfTopFlowsTOS,
            cnfTopFlowsTCPFlags,
            cnfTopFlowsSamplerID,
            cnfTopFlowsClassID,
            cnfTopFlowsFlags
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing additional information
             for Top Flows."
        ::= { cnfMIBGroups 9 }

cnfTopFlowsVlanGroup OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsVlan 
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing VLAN 
             information about the top flows."
        ::= { cnfMIBGroups 10 }

cnfTopFlowsControlGroup1 OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsMatchingFlows,
            cnfTopFlowsMatchSrcAddressType,
            cnfTopFlowsMatchSrcAddress,
            cnfTopFlowsMatchSrcAddressMask,
            cnfTopFlowsMatchDstAddressType,
            cnfTopFlowsMatchDstAddress,
            cnfTopFlowsMatchDstAddressMask,
            cnfTopFlowsMatchNhAddressType,
            cnfTopFlowsMatchNhAddress,
            cnfTopFlowsMatchNhAddressMask,
            cnfTopFlowsMatchSrcPortLo,
            cnfTopFlowsMatchSrcPortHi,
            cnfTopFlowsMatchDstPortLo,
            cnfTopFlowsMatchDstPortHi,
            cnfTopFlowsMatchSrcAS,
            cnfTopFlowsMatchDstAS,
            cnfTopFlowsMatchInputIf,
            cnfTopFlowsMatchOutputIf,
            cnfTopFlowsMatchTOSByte,
            cnfTopFlowsMatchProtocol,
            cnfTopFlowsMatchSampler,
            cnfTopFlowsMatchClass,
            cnfTopFlowsMatchMinPackets,
            cnfTopFlowsMatchMaxPackets,
            cnfTopFlowsMatchMinBytes,
            cnfTopFlowsMatchMaxBytes,
            cnfTopFlowsMatchDirection
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing the match criteria
             control information for Top Flows."
        ::= { cnfMIBGroups 11 }

cnfTopFlowsControlGroup2 OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsGenerate,
            cnfTopFlowsReportAvailable
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing the explicit control
             of the way top flows are generated."
        ::= { cnfMIBGroups 12 }

cnfMcastNetflowControlGroup OBJECT-GROUP
        OBJECTS {
            cnfCIMcastNetflowEnable,
            cnfCIMcastNetflowRPFFailedEnable
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing the control
             of multicast netflow."
        ::= { cnfMIBGroups 13 }

cnfBridgedFlowStatsCtrlGroup OBJECT-GROUP
        OBJECTS {
            cnfCIBridgedFlowStatsCrtEnable,
            cnfCIBridgedFlowStatsExpEnable
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing the control
             of bridged flow statistics per vlan."
        ::= { cnfMIBGroups 14 }

cnfTopFlowsReportGenerateGroup OBJECT-GROUP
        OBJECTS {
            cnfTopFlowsNextGenActionEffect,
            cnfTopFlowsReportSource
        }
        STATUS current
        DESCRIPTION
            "A collection of objects providing information about
             the Top Flows Report generation." 
        ::= { cnfMIBGroups 15 }

END
