-- extracted from draft-dietz-ipfix-mib-00.txt -- at Sat Jun 24 06:06:32 2006 IPFIX-COLLECTOR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Gauge32, mib-2 FROM SNMPv2-SMI -- RFC2578 TEXTUAL-CONVENTION, RowStatus, DateAndTime FROM SNMPv2-TC -- RFC2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC2580 InetAddressType, InetAddress FROM INET-ADDRESS-MIB; -- RFC3291 ipfixMIB MODULE-IDENTITY LAST-UPDATED "200606171600Z" -- 18 June 2006 ORGANIZATION "IETF IPFIX Working Group" CONTACT-INFO "WG charter: http://www.ietf.org/html.charters/ipfix-charter.html Mailing Lists: General Discussion: ipfix@net.doit.wisc.edu To Subscribe: majordomo@net.doit.wisc.edu In Body: subscribe ipfix Archive: http://ipfix.doit.wisc.edu/archive/ Editor: Atsushi Kobayashi NTT Information Sharing Platform Laboratories 3-9-11 Midori-cho Musashino-shi 180-8585 Japan Phone: +81-422-59-3978 Email: akoba@nttv6.net" DESCRIPTION "The IPFIX collector MIB defines managed objects that are maintained by the collecting process in Traffic Collector or IPFIX concentrator. These objects provide informations that are Exporter's profile data and received templates. Exporter's profile has that Exporter's ip address and port number. In addition, these object has statistics data per exporter or per templates. Copyright (C) The Internet Society (2005). This version of this MIB module is part of RFC yyyy; see the RFC itself for full legal notices." -- replace yyyy with actual RFC number & remove this noti -- Revision history REVISION "200602161600Z" -- 16 February 2006 DESCRIPTION "Initial version, published as RFC yyyy." -- replace yyyy with actual RFC number & remove this notice ::= { mib-2 999 } -- 999 to be assigned by IANA. -- Top level structure of the MIB ipfixExporter OBJECT IDENTIFIER ::= { ipfixMIB 1 } ipfixCollector OBJECT IDENTIFIER ::= { ipfixMIB 2 } ipfixPsampExtension OBJECT IDENTIFIER ::= { ipfixMIB 3 } ipfixConformance OBJECT IDENTIFIER ::= { ipfixMIB 4 } collectorObjects OBJECT IDENTIFIER ::= { ipfixCollector 1 } collectorConformance OBJECT IDENTIFIER ::= { ipfixCollector 2 } -------------------------------------------------------------------- -- objects of Exporter -------------------------------------------------------------------- collectExporter OBJECT IDENTIFIER ::= { collectorObjects 1 } -------------------------------------------------------------------- -- 1: Exporter Table -- This statistics parts of Exporter Table is moved to Exporter -- Statistics table. -------------------------------------------------------------------- collectExporterTable OBJECT-TYPE SYNTAX SEQUENCE OF CollectExporterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists Exporters that received by collecting process. This process manages them." ::= { collectExporter 1 } collectExporterEntry OBJECT-TYPE SYNTAX CollectExporterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the collectExporterTable" INDEX { collectExporterIndex } ::= { collectExporterTable 1 } CollectExporterEntry ::= SEQUENCE { collectExporterIndex Integer32, collectExporterSrcIpAddrType InetAddressType, collectExporterSrcIpAddr InetAddress, collectExporterProtocol Integer32, collectExporterSrcPort Integer32, collectLifeTimeTemplate Integer32, collectExporterRowStatus RowStatus } collectExporterIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally arbitrary, but unique identifier of an entry in collectExporterTable. The value is expected to remain constant from a re-initialization of the entity's network management system to the next re-initialization." ::= { collectExporterEntry 1 } collectExporterSrcIpAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-write STATUS current DESCRIPTION "The IP address type of the exporter. The value for IPv4 is ipv4(1). The value for IPv6 is ipv6(2)." ::= { collectExporterEntry 2 } collectExporterSrcIpAddr OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-write STATUS current DESCRIPTION "The IP address of the Exporter." ::= { collectExporterEntry 3 } collectExporterProtocol OBJECT-TYPE SYNTAX Integer32 (0..256) MAX-ACCESS read-write STATUS current DESCRIPTION "The transport protocol is used for receiving sampled packets from the Exporter. The recommended protocols are TCP (6), UDP (17) and SCTP (132). The default is SCTP." ::= { collectExporterEntry 4 } collectExporterSrcPort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "The transport protocol port number of self device which enables collecting Process." ::= { collectExporterEntry 5 } -- The following object was added in 18 June. collectLifeTimeTemplate OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-write STATUS current DESCRIPTION "This is the time interval in seconds for the Life Time configured for the template with this session. It is only used to manage the received templates, if this protocol is UDP. The Collecting Process discards the template, if the templates is not refreshed within this life time." ::= { collectExporterEntry 6 } collectExporterRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row of the table." ::= { collectExporterEntry 7 } -------------------------------------------------------------------- -- 2: Exporter Statistics Table -- This object table was added in 18 June. -------------------------------------------------------------------- collectExporterStatisTable OBJECT-TYPE SYNTAX SEQUENCE OF CollectExporterStatisEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists Exporters that received by collecting process. This process manages them." ::= { collectExporter 2 } collectExporterStatisEntry OBJECT-TYPE SYNTAX CollectExporterStatisEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the collectExporterStatisTable" INDEX { collectExporterIndex, collectExporterDstPort } ::= { collectExporterStatisTable 1 } CollectExporterStatisEntry ::= SEQUENCE { collectExporterDstPort Integer32, collectExporterProcessId Integer32, collectExporterRcdPackets Counter32, collectExporterRcdBytes Counter32, collectExporterRcdMessages Counter32, collectExporterDiscardMessages Counter32, collectSessionElapsedTime Gauge32, collectExporterRcdFlows Counter32, collectExporterRcdTemplates Counter32, collectExporterStatisRowStatus RowStatus } collectExporterDstPort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The transport protocol port number of the Exporter." ::= { collectExporterStatisEntry 1 } collectExporterProcessId OBJECT-TYPE SYNTAX Integer32 (0..256) MAX-ACCESS read-only STATUS current DESCRIPTION "The process id is used by this collecting process." ::= { collectExporterStatisEntry 2 } collectExporterRcdPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received from the Exporter." ::= { collectExporterStatisEntry 3 } collectExporterRcdBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes received from the Exporter." ::= { collectExporterStatisEntry 4 } collectExporterRcdMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPFIX messages received from the Exporter." ::= { collectExporterStatisEntry 5 } -- The following object was added in 18 June. collectExporterDiscardMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This indicates the number of received IPFIX Message that might be malformed or cant not be encoded." ::= { collectExporterStatisEntry 6 } -- The following object was added in 18 June. collectSessionElapsedTime OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This timer indicates how long this session has been connected. This elapsed time of the session of IPFIX presents in second." ::= { collectExporterStatisEntry 7 } collectExporterRcdFlows OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of flow records received from the Exporter." ::= { collectExporterStatisEntry 8 } collectExporterRcdTemplates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of templates received from the Exporter." ::= { collectExporterStatisEntry 9 } -- The following object moved from the collectExporterTable to -- the collectObservDomainStatisticsTable in 18 June. -- collectExporterRcdSequence OBJECT-TYPE -- SYNTAX Integer32 -- MAX-ACCESS read-only -- STATUS current -- DESCRIPTION -- "The latest sequence number. The collecting process -- overwrites to this object when it receives IPFIX message." -- ::= { collectExporterEntry 15 } collectExporterStatisRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row of the table." ::= { collectExporterStatisEntry 10 } -------------------------------------------------------------------- -- objects of Observation domain -- This object was added in 18 June. -------------------------------------------------------------------- collectObservDomain OBJECT IDENTIFIER ::= { collectorObjects 2 } -------------------------------------------------------------------- -- 2: Observation domain statistics Table -- This object table was added in 18 June. -------------------------------------------------------------------- collectObservDomainStatisTable OBJECT-TYPE SYNTAX SEQUENCE OF CollectObservDomainStatisEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists statistics objects that have data per observation domain." ::= { collectObservDomain 2 } collectObservDomainStatisEntry OBJECT-TYPE SYNTAX CollectObservDomainStatisEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the collectObservDomainStatisTable." INDEX { collectExporterIndex, collectObservDomainId, collectMeteringProcessId } ::= { collectObservDomainStatisTable 1 } CollectObservDomainStatisEntry ::= SEQUENCE { collectObservDomainId Integer32, collectMeteringProcessId Integer32, collectObservRcdMessages Counter32, collectObservRcdFlows Counter32, collectObservRcdTemplates Counter32, collectObservRcdSequence Integer32, collectObservDisorderdNumbers Counter32, collectObservRowStatus RowStatus } collectObservDomainId OBJECT-TYPE SYNTAX Integer32(1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "It uses the observation domain id in the received IPFIX message header." ::= { collectObservDomainStatisEntry 1 } collectMeteringProcessId OBJECT-TYPE SYNTAX Integer32(1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "It uses the Metering Process id in the received IPFIX message. It should be zero, if IPFIX message don't specify Metering Process id." ::= { collectObservDomainStatisEntry 2 } collectObservRcdMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPFIX messages received from the Exporter." ::= { collectObservDomainStatisEntry 3 } collectObservRcdFlows OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of flow records received from the Exporter." ::= { collectObservDomainStatisEntry 4 } collectObservRcdTemplates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of templates received from the Exporter." ::= { collectObservDomainStatisEntry 5 } collectObservRcdSequence OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The latest sequence number. The collecting process overwrites to this object when it receives IPFIX message." ::= { collectObservDomainStatisEntry 6 } collectObservDisorderdNumbers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This counter indicates inconformable numbers of sequence number. The Collecting Process check consistency between received sequence number and received data flows. This counter is added up this inclement, if it recognize there are some flows that have not been received." ::= { collectObservDomainStatisEntry 7 } collectObservRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row of the table." ::= { collectObservDomainStatisEntry 8 } -------------------------------------------------------------------- -- objects of Template Management -- This object was added in 18 June. -------------------------------------------------------------------- collectTemplate OBJECT IDENTIFIER ::= { collectorObjects 3 } -------------------------------------------------------------------- -- 1: Template Statistics Table -------------------------------------------------------------------- collectTemplateStatisticsTable OBJECT-TYPE SYNTAX SEQUENCE OF CollectTemplateStatisticsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists statistics objects that have data per template." ::= { collectTemplate 1 } collectTemplateStatisticsEntry OBJECT-TYPE SYNTAX CollectTemplateStatisticsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the collectTemplateStatisticsTable" INDEX { collectExporterIndex, collectObservDomainId, collectMeteringProcessId, collectTemplateRcdId } ::= { collectTemplateStatisticsTable 1 } CollectTemplateStatisticsEntry ::= SEQUENCE { collectTemplateRcdId Integer32, collectTempRcdFlows Counter32, collectTempRcdTime DateAndTime, collectTempStatisRowStatus RowStatus } collectTemplateRcdId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This number indicates the template id in the IPFIX message." ::= { collectTemplateStatisticsEntry 1 } collectTempRcdFlows OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of flow records per template received from Exporter." ::= { collectTemplateStatisticsEntry 2 } collectTempRcdTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "Time that the collecting process received this template. The collecting process overwrites to this object when it receives same template." ::= { collectTemplateStatisticsEntry 3 } collectTempStatisRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row of the table." ::= { collectTemplateStatisticsEntry 4 } -------------------------------------------------------------------- -- 2: Template Record Table -------------------------------------------------------------------- collectTemplateRcdTable OBJECT-TYPE SYNTAX SEQUENCE OF CollectTemplateRcdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists templates that are received by the collecting process. This process manages them." ::= { collectTemplate 2 } collectTemplateRcdEntry OBJECT-TYPE SYNTAX CollectTemplateRcdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the collectTemplateRcdTable" INDEX { collectExporterIndex, collectObservDomainId, collectMeteringProcessId, collectTemplateRcdId, collectTemplateRcdIndex } ::= { collectTemplateRcdTable 1 } CollectTemplateRcdEntry ::= SEQUENCE { collectTemplateRcdIndex Integer32, collectTemplateRcdInfoEltId Integer32, collectTemplateInfoEltLength Integer32, collectTemplateRcdRowStatus RowStatus } collectTemplateRcdIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The collectTemplateRcdIndex specifies the order in which the information element ids are used in the template record." ::= { collectTemplateRcdEntry 1 } collectTemplateRcdInfoEltId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This indicates the Information Element Id at position collectTemplateRcdIndex in the template collectTemplateRcdId. This implicitly gives the data type and state values that are received." ::= { collectTemplateRcdEntry 2 } -- The following object was added in 18 June. collectTemplateInfoEltLength OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This indicates the length of each Information Element Ids. Especially, in variable length type it is specified as 65535." ::= { collectTemplateRcdEntry 3 } collectTemplateRcdRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row of the table." ::= { collectTemplateRcdEntry 4 } --================================================================== -- Conformance information --================================================================== collectCompliances OBJECT IDENTIFIER ::= { collectorConformance 1 } collectGroups OBJECT IDENTIFIER ::= { collectorConformance 2 } --================================================================== -- Compliance statements --================================================================== collectCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "An implementation that complies to this module must implement the objects defined in the mandatory groups collectGroupExporters, collectGroupTemplates. The imeplementation of all other objects depends on the imeplementation of the corresponding functionality in the equipment." MODULE -- this module MANDATORY-GROUPS { collectGroupExporters, collectGroupTemplates } GROUP collectGroupStatistics DESCRIPTION "These objects must be implementes if the statistics function is implemented in the equipment." ::= { collectCompliances 1 } --================================================================== -- MIB groupings --================================================================== collectGroupExporters OBJECT-GROUP OBJECTS { collectExporterSrcIpAddrType, collectExporterSrcIpAddr, collectExporterProtocol, collectExporterSrcPort, collectExporterProcessId, collectLifeTimeTemplate, collectExporterRowStatus } STATUS current DESCRIPTION "All objects that are basic for the management function of exporters." ::= { collectGroups 1 } collectGroupTemplates OBJECT-GROUP OBJECTS { collectTemplateRcdInfoEltId, collectTemplateInfoEltLength, collectTemplateRcdRowStatus } STATUS current DESCRIPTION "All objects that are basic for the management function of templates." ::= { collectGroups 2 } collectGroupStatistics OBJECT-GROUP OBJECTS { collectExporterRcdPackets, collectExporterRcdBytes, collectExporterRcdMessages, collectExporterRcdFlows, collectExporterDiscardMessages, collectSessionElapsedTime, collectExporterRcdTemplates, collectExporterStatisRowStatus, collectObservRcdMessages, collectObservRcdFlows, collectObservRcdTemplates, collectObservRcdSequence, collectObservDisorderdNumbers, collectObservRowStatus, collectTempRcdFlows, collectTempRcdTime, collectTempStatisRowStatus } STATUS current DESCRIPTION "All objects that are basic for the statistics function." ::= { collectGroups 3 } END -- -- Copyright (C) The Internet Society (2006). This document is subject -- to the rights, licenses and restrictions contained in BCP 78, and -- except as set forth therein, the authors retain all their rights. -- -- -- Acknowledgment -- -- Funding for the RFC Editor function is currently provided by the -- Internet Society.