-- extracted from draft-ietf-ipfix-mib-00.txt -- at Tue Feb 27 06:08:18 2007 IPFIX-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, Integer32, Unsigned32, Counter32, Counter64 FROM SNMPv2-SMI -- RFC2578 TEXTUAL-CONVENTION, DateAndTime FROM SNMPv2-TC -- RFC2579 MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF -- RFC2580 InetAddressType, InetAddress FROM INET-ADDRESS-MIB -- RFC3291 PhysicalIndexOrZero FROM ENTITY-MIB; -- RFC4133 ipfixMIB MODULE-IDENTITY LAST-UPDATED "200702230900Z" -- 32 February 2007 ORGANIZATION "IETF IPFIX Working Group" CONTACT-INFO "WG charter: http://www.ietf.org/html.charters/ipfix-charter.html Mailing Lists: General Discussion: ipfix@ietf.org To Subscribe: majordomo@net.doit.wisc.edu In Body: subscribe ipfix Archive: http://ipfix.doit.wisc.edu/archive/ Editor: Thomas Dietz NEC Europe Ltd. Network Laboratories Kurfuersten-Anlage 36 69115 Heidelberg Germany Phone: +49 6221 4342-128 Email: dietz@netlab.nec.de 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 Benoit Claise Cisco Systems, Inc. De Kleetlaan 6a b1 Degem 1831 Belgium Phone: +32 2 704 5622 Email: bclaise@cisco.com" DESCRIPTION "The IPFIX MIB defines managed objects for IP Flow Information eXport. These objects provide information about managed nodes supporting the IP Flow Information Export protocol, for exporters as well as for collectors. The objects also allow to perform some limited configuration on an IPFIX exporter. Copyright (C) The IETF Trust (2007). 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 notice -- Revision history REVISION "200702230900Z" -- 23 February 2007 DESCRIPTION "Initial version, published as RFC yyyy." -- replace yyyy with actual RFC number & remove this notice ::= { mib-2 XXXX } -- XXXX to be assigned by IANA. --****************************************************************** -- Textual Conventions --****************************************************************** -------------------------------------------------------------------- -- Define Selector Function Availability -------------------------------------------------------------------- IpfixFunctionAvailability ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Used to report the availability of a selection function: available(1) the function is supported and can be used notAvailable(2) the function is not available" SYNTAX INTEGER { available(1), notAvailable(2) } --****************************************************************** -- Top Level Structure of the MIB --****************************************************************** ipfixObjects OBJECT IDENTIFIER ::= { ipfixMIB 1 } ipfixExtensions OBJECT IDENTIFIER ::= { ipfixMIB 2 } ipfixConformance OBJECT IDENTIFIER ::= { ipfixMIB 3 } --================================================================== -- 1: Objects used by all IPFIX implementations --================================================================== -------------------------------------------------------------------- -- 1.1: Transport Session Table -------------------------------------------------------------------- ipfixTransportSessionTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixTransportSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the currently established transport sessions between an exporting process and a collecting process." ::= { ipfixObjects 1 } ipfixTransportSessionEntry OBJECT-TYPE SYNTAX IpfixTransportSessionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixTransportSessionTable" INDEX { ipfixTransportSessionIndex } ::= { ipfixTransportSessionTable 1 } IpfixTransportSessionEntry ::= SEQUENCE { ipfixTransportSessionIndex Integer32, ipfixTransportSessionProtocol Integer32, ipfixTransportSessionAddressType InetAddressType, ipfixTransportSessionSourceAddress InetAddress, ipfixTransportSessionDestinationAddress InetAddress, ipfixTransportSessionSourcePort Integer32, ipfixTransportSessionDestinationPort Integer32, ipfixTransportSessionSctpAssocId Unsigned32, ipfixTransportSessionTemplateRefreshTimeout Unsigned32, ipfixTransportSessionOptionTemplateRefreshTimeout Unsigned32, ipfixTransportSessionTemplateRefreshPacket Unsigned32, ipfixTransportSessionOptionTemplateRefreshPacket Unsigned32, ipfixTransportSessionStatus INTEGER } ipfixTransportSessionIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally arbitrary, but unique identifier of an entry in the ipfixTransportSessionTable. The value is expected to remain constant from a re-initialization of the entity's network management system to the next re-initialization." ::= { ipfixTransportSessionEntry 1 } ipfixTransportSessionProtocol OBJECT-TYPE SYNTAX Integer32 (1..255) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport protocol used for receiving or transmitting IPFIX Messages. The protocols currently defined for usage within IPFIX are TCP (6), UDP (17) and SCTP (132). The default protocol is SCTP." DEFVAL { 132 } ::= { ipfixTransportSessionEntry 2 } ipfixTransportSessionAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of address used for source and destination address as specified in RFC4001. This object is only valid if ipfixTransportSessionProtocol has the value 6 (TCP) or 17 (UDP)." ::= { ipfixTransportSessionEntry 3 } ipfixTransportSessionSourceAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The source address of the exporter of the IPFIX transport session. This value is interpreted according to the value of ipfixTransportSessionAddressType as specified in RFC4001. This object is only valid if ipfixTransportSessionProtocol has the value 6 (TCP) or 17 (UDP)." ::= { ipfixTransportSessionEntry 4 } ipfixTransportSessionDestinationAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The destination address of the collector of the IPFIX transport session. This value is interpreted according to the value of ipfixTransportSessionAddressType as specified in RFC4001. This object is only valid if ipfixTransportSessionProtocol has the value 6 (TCP) or 17 (UDP)." ::= { ipfixTransportSessionEntry 5 } ipfixTransportSessionSourcePort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport protocol port number of the exporter." ::= { ipfixTransportSessionEntry 6 } ipfixTransportSessionDestinationPort OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "The transport protocol port number of the collector. The default value is 4739 for all currently defined transport protocol types." DEFVAL { 4739 } ::= { ipfixTransportSessionEntry 7 } ipfixTransportSessionSctpAssocId OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The association id used for the SCTP session between the exporter and the collector of the IPFIX transport session. It is equal to the sctpAssocIdentry in the sctpAssocTable defined in the SCTP MIB. This object is only valid if ipfixTransportSessionProtocol has the value 132 (SCTP). In all other cases the value MUST be 0." DEFVAL { 0 } ::= { ipfixTransportSessionEntry 8 } ipfixTransportSessionTemplateRefreshTimeout OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The lifetime in seconds of IPFIX Templates transmitted or received in the transport session. This object contains the time after that a Template must be resend by the exporter. This object is only valid if ipfixTransportSessionProtocol has the value 17 (UDP). In all other cases the value MUST be 0." DEFVAL { 0 } ::= { ipfixTransportSessionEntry 9 } ipfixTransportSessionOptionTemplateRefreshTimeout OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The lifetime in seconds of IPFIX Option Templates transmitted or received in the transport session. This object contains the time after that an Option Template must be resend by the exporter. This object is only valid if ipfixTransportSessionProtocol has the value 17 (UDP). In all other cases the value MUST be 0." DEFVAL { 0 } ::= { ipfixTransportSessionEntry 10 } ipfixTransportSessionTemplateRefreshPacket OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The lifetime in packets of IPFIX Templates transmitted or received in the transport session. This object contains the number of packets after which a Template must be resend by the exporter. This object is only valid if ipfixTransportSessionProtocol has the value 17 (UDP). In all other cases the value MUST be 0." DEFVAL { 0 } ::= { ipfixTransportSessionEntry 11 } ipfixTransportSessionOptionTemplateRefreshPacket OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "The lifetime in packets of IPFIX Option Templates transmitted or received in the transport session. This object contains the number of packets after which an Option Template must be resend by the exporter. This object is only valid if ipfixTransportSessionProtocol has the value 17 (UDP). In all other cases the value MUST be 0." DEFVAL { 0 } ::= { ipfixTransportSessionEntry 12 } ipfixTransportSessionStatus OBJECT-TYPE SYNTAX INTEGER { unknown(0), inactive(1), active(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "The status of a transport session. This object can have the following values: unknown(0) This value muse be used if the status of the connection cannot be detected by the equipment. This value should be avoided as far as possible. inactive(1) This value must be used for transport sessions that are specified in the system but not currently connected. The value can be used e.g. for transport sessions that are backup (secondary) sessions in a transport session group. active(2) This value must be used for transport sessions that are currently connected and transmitting or receiving data." ::= { ipfixTransportSessionEntry 13 } -------------------------------------------------------------------- -- 1.2: Transport Session Group Table -------------------------------------------------------------------- ipfixTransportSessionGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixTransportSessionGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists groups of transport sessions to achieve functionalities like automatic failover, load balancing, parallel export etc. On exporters this table can group one ore more transport sessions to achieve a special functionality like failover management, load-balancing etc. If the exporter does not use Transport Session grouping then each group MUST contain a single Transport Session and this session MUST have the member type unused(5). On collectors the Transport Session grouping is not used and the same scheme must be used as described above for exporters not using Transport Session grouping." ::= { ipfixObjects 2 } ipfixTransportSessionGroupEntry OBJECT-TYPE SYNTAX IpfixTransportSessionGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixTransportSessionGroupTable" INDEX { ipfixTransportSessionGroupIndex, ipfixTransportSessionIndex } ::= { ipfixTransportSessionGroupTable 1 } IpfixTransportSessionGroupEntry ::= SEQUENCE { ipfixTransportSessionGroupIndex Integer32, ipfixTransportSessionGroupMemberType INTEGER } ipfixTransportSessionGroupIndex OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally arbitrary, but unique identifier of an entry in the ipfixTransportSessionGroupTable. The value is expected to remain constant from a re-initialization of the entity's network management system to the next re-initialization. The special value of zero (0) is reserved for use within the ipfixObservationDomainTable and is not allowed as an index in this table. For a detailed explanation see the definition of the ipfixObservationDomainTable." ::= { ipfixTransportSessionGroupEntry 1 } ipfixTransportSessionGroupMemberType OBJECT-TYPE SYNTAX INTEGER { unknown(0), primary(1), secondary(2), parallel(3), loadBalancing(4), unused(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "The type of a member transport session in its transport session group (identified by the value of ipfixTransportSessionGroupIndex). The following values are valid: unknown(0) This value muse be used if the status of the group membership cannot be detected by the equipment. This value should be avoided as far as possible. primary(1) This value is used for a group member that is used as the primary target of an exporter. Other group members (with the same ipfixTransportSessionGroupIndex) MUST NOT have the value primary(1) but MUST have the value secondary(2). secondary(2) This value is used for a group member that is used as a secondary target of an exporter. The exporter will use one of the targets specified as secondary(2) within the same transport session group when the primary target is not reachable. duplicate(3) This value is used for a group member that is used for duplicate exporting i.e., all group members identified by the ipfixTransportSessionGroupIndex are exporting the same records in parallel. This implies that all group members MUST have the the same membertype duplicate(3). loadBalancing(4) This value is used for a group member that is used as as one target for load-balancing. This means that a record is send to one of the group members in this group identified by ipfixTransportSessionGroupIndex. This implies that all group members MUST have the same membertype load-balancing(4) unused(5) This value MUST be specified if the exporter does not support transport session grouping. It is the default value for collectors since the collector cannot decide if the received transport session uses transport session grouping or not. In this case the group MUST contain only one transport session." ::= { ipfixTransportSessionGroupEntry 2 } -------------------------------------------------------------------- -- 1.3: Observation Domain Table -------------------------------------------------------------------- ipfixObservationDomainTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixObservationDomainEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists Observation Domains used by the metering process, the exporting process or the collecting process. On exporters the index ipfixTransportSessionGroupIndex MUST always be zero (0) because the Oberservation Domain Id is unique on the exporter and can be used by any Transport Session. On collectors the index ipfixTransportSessionGroupIndex MUST NOT be zero (0) because the collector could receive records from different Transport Sessions which use the same Observation Domain Ids." ::= { ipfixObjects 3 } ipfixObservationDomainEntry OBJECT-TYPE SYNTAX IpfixObservationDomainEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixObservationDomainTable." INDEX { ipfixTransportSessionGroupIndex, ipfixObservationDomainId } ::= { ipfixObservationDomainTable 1 } IpfixObservationDomainEntry ::= SEQUENCE { ipfixObservationDomainId Integer32, ipfixPhysicalEntity PhysicalIndexOrZero } ipfixObservationDomainId OBJECT-TYPE SYNTAX Integer32 (0..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally arbitrary, but unique identifier of an entry in the ipfixObservationDomainTable. The value is expected to remain constant from a re-initialization of the entity's network management system to the next re-initialization. The special value of 0 MUST NOT be used within this table but is reserved for the usage in the ipfixTemplateTable and the ipfixTemplateDefinitionTable. An index of 0 for the ipfixObservationDomainId index in those tables indicates that a Template or Option Template cannot be applied to a single Observation Domain." ::= { ipfixObservationDomainEntry 1 } ipfixPhysicalEntity OBJECT-TYPE SYNTAX PhysicalIndexOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the index of a physical entity in the Entity MIB. This physical entity is the given Observation Domain. If such a physical entity cannot be specified or is not known then the object contains 0." DEFVAL { 0 } ::= { ipfixObservationDomainEntry 2 } -------------------------------------------------------------------- -- 1.4: Template Table -------------------------------------------------------------------- ipfixTemplateTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixTemplateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the Templates and Option Templates that are transmitted or received by the exporting or collecting process. On an exporter the table contains the Templates and Option Templates that are used for exporting data for a given Transport Session group and Observation Domain. On an collector the table contains Templates and Option Templates that are received in the given Transport Session group per Observation Domain. If a value of zero (0) is specified for the ipfixObservationDomainId then the Template or Option Template cannot be applied to a single Observation Domain." ::= { ipfixObjects 4 } ipfixTemplateEntry OBJECT-TYPE SYNTAX IpfixTemplateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixTemplateTable" INDEX { ipfixTransportSessionGroupIndex, ipfixObservationDomainId, ipfixTemplateId } ::= { ipfixTemplateTable 1 } IpfixTemplateEntry ::= SEQUENCE { ipfixTemplateId Integer32, ipfixTemplateSetId Integer32, ipfixTemplateAccessTime DateAndTime } ipfixTemplateId OBJECT-TYPE SYNTAX Integer32 (256..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This number indicates the template id in the IPFIX message. Values from 0 to 255 are not allowed for Template Ids (see FIX_ME!!!!! IPFIX-PROTO)." ::= { ipfixTemplateEntry 1 } ipfixTemplateSetId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This number indicates the set id of the template. This object allows to easily retrieve the template type. Currently there are two values defined. The value 3 is used for Sets containing Template definitions. The value 4 is used for Sets containing Option Template definitions. A value greater than 255 is used for Sets containing Data Records for the (Option) Template Id given by the Set Id." ::= { ipfixTemplateEntry 2 } ipfixTemplateAccessTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The time when the template was last sent or received. On the Exporter this object contains the time when this (Option) Template was last sent to the Collector(s). This time is used if the transport protocol is UDP to know when a retransmission of the (Option) Template is needed. On the Collector this object contains the time when this (Option) Template was last received from the Exporter. This time is used if the transport protocol is UDP to know when this (Option) Template times out and thus is no longer valid." ::= { ipfixTemplateEntry 3 } -------------------------------------------------------------------- -- 1.5: Template Definition Table -------------------------------------------------------------------- ipfixTemplateDefinitionTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixTemplateDefinitionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the (Option) Template Fields of which a (Option) Template is defined. It defines the (Option) Template given in the ipfixTemplateId specified in the ipfixTemplateTable." ::= { ipfixObjects 5 } ipfixTemplateDefinitionEntry OBJECT-TYPE SYNTAX IpfixTemplateDefinitionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixTemplateDefinitionTable" INDEX { ipfixTransportSessionIndex, ipfixObservationDomainId, ipfixTemplateId, ipfixTemplateDefinitionIndex } ::= { ipfixTemplateDefinitionTable 1 } IpfixTemplateDefinitionEntry ::= SEQUENCE { ipfixTemplateDefinitionIndex Integer32, ipfixTemplateDefinitionIeId Integer32, ipfixTemplateDefinitionIeLength Integer32, ipfixTemplateDefinitionFlags BITS } ipfixTemplateDefinitionIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The ipfixTemplateDefinitionIndex specifies the order in which the Information Elements are used in the (Option) Template Record if an order must be applied. For more information on the order of Information Elements see [XXXXXXXX Refernce IPFIX-PROTO]." ::= { ipfixTemplateDefinitionEntry 1 } ipfixTemplateDefinitionIeId OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This indicates the Information Element Id at position ipfixTemplateDefinitionIndex in the (Option) Template ipfixTemplateId. This implicitly specifies the data type of the Information Element. For more information about Information Elemnts see [XXXXXX Reference IPFIX-INFO] and [XXXXXXX Reference IPFIX-PROTO]." ::= { ipfixTemplateDefinitionEntry 2 } ipfixTemplateDefinitionIeLength OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "This indicates the length of the Information Element Id at position ipfixTemplateDefinitionIndex in the (Option) Template ipfixTemplateId. For more information about Information Elemnts see [XXXXXX Reference IPFIX-INFO] and [XXXXXXX Reference IPFIX-PROTO]." ::= { ipfixTemplateDefinitionEntry 3 } ipfixTemplateDefinitionFlags OBJECT-TYPE SYNTAX BITS { scope(0), flowKey(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This bitmask indicates special attributes for the Information Element: scope(0) This Information Element is used for scope. flowKey(1) This Information Element is a flow key. Thus we get the following values for an Information Element: 0 The Information Element contains record values. 1 (scope) The Information Element is used for scoping. 2 (flowKey) The Information Element is used as Flow Key. 3 (scope | flowKey) This combination is not allowed." DEFVAL { 0 } ::= { ipfixTemplateDefinitionEntry 4 } -------------------------------------------------------------------- -- 1.6: Transport Session Statistics Table -------------------------------------------------------------------- ipfixTransportSessionStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixTransportSessionStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists transport sessions statistics between exporting process and collecting process." ::= { ipfixObjects 6 } ipfixTransportSessionStatsEntry OBJECT-TYPE SYNTAX IpfixTransportSessionStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixTransportSessionStatsTable" AUGMENTS { ipfixTransportSessionEntry } ::= { ipfixTransportSessionStatsTable 1 } IpfixTransportSessionStatsEntry ::= SEQUENCE { ipfixTransportSessionRate Integer32, ipfixTransportSessionPackets Counter32, ipfixTransportSessionBytes Counter32, ipfixTransportSessionMessages Counter32, ipfixTransportSessionDiscardedMessages Counter32, ipfixTransportSessionRecords Counter64 } ipfixTransportSessionRate OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes per second received by the collector or transmitted by the exporter. A value of zero (0) means that no packets were sent or received yet." ::= { ipfixTransportSessionStatsEntry 1 } ipfixTransportSessionPackets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets received by the Collector or transmitted by the Exporter." ::= { ipfixTransportSessionStatsEntry 2 } ipfixTransportSessionBytes OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of bytes received by the Collector or transmitted by the Exporter." ::= { ipfixTransportSessionStatsEntry 3 } ipfixTransportSessionMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPFIX messages received by the Collector or transmitted by the Exporter." ::= { ipfixTransportSessionStatsEntry 4 } ipfixTransportSessionDiscardedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received IPFIX Message that are malformed, cannot be decoded, are received in the wrong order or are missing according to the sequence number. If used at the exporter the number of messages that could not be sent due to e.g. internal buffer overflows, network congestion, or routing issues." ::= { ipfixTransportSessionStatsEntry 5 } ipfixTransportSessionRecords OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of data records received by the Collector or transmitted by the Exporter." ::= { ipfixTransportSessionStatsEntry 6 } -------------------------------------------------------------------- -- 1.7: Observation Domain Statistics Table -------------------------------------------------------------------- ipfixObservationDomainStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixObservationDomainStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists statistic objects that have data per observation domain." ::= { ipfixObjects 7 } ipfixObservationDomainStatsEntry OBJECT-TYPE SYNTAX IpfixObservationDomainStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixObservationDomainStatsTable." AUGMENTS { ipfixObservationDomainEntry } ::= { ipfixObservationDomainStatsTable 1 } IpfixObservationDomainStatsEntry ::= SEQUENCE { ipfixObservationDomainMessages Counter32, ipfixObservationDomainErrors Counter32, ipfixObservationDomainDataRecords Counter32, ipfixObservationDomainTemplates Counter32, ipfixObservationDomainOptionTemplates Counter32, ipfixObservationDomainSequenceNumber Integer32 } ipfixObservationDomainMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of IPFIX messages received or transmitted." ::= { ipfixObservationDomainStatsEntry 1 } ipfixObservationDomainErrors OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of received IPFIX messages that are malformed, cannot be decoded, are received in the wrong order or are missing according to the sequence number. If used at the exporter the number of messages that could not be sent due to e.g. internal buffer overflows or network congestion." ::= { ipfixObservationDomainStatsEntry 2 } ipfixObservationDomainDataRecords OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of data records received or transmitted." ::= { ipfixObservationDomainStatsEntry 3 } ipfixObservationDomainTemplates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of templates received or transmitted." ::= { ipfixObservationDomainStatsEntry 4 } ipfixObservationDomainOptionTemplates OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of option templates received or transmitted." ::= { ipfixObservationDomainStatsEntry 5 } ipfixObservationDomainSequenceNumber OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The latest sequence number transmitted or received." ::= { ipfixObservationDomainStatsEntry 6 } -------------------------------------------------------------------- -- 1.8: Template Statistics Table -------------------------------------------------------------------- ipfixTemplateStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixTemplateStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists statistics objects per template." ::= { ipfixObjects 8 } ipfixTemplateStatsEntry OBJECT-TYPE SYNTAX IpfixTemplateStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixTemplateStatsTable" AUGMENTS { ipfixTemplateEntry } ::= { ipfixTemplateStatsTable 1 } IpfixTemplateStatsEntry ::= SEQUENCE { ipfixTemplateDataRecords Counter32 } ipfixTemplateDataRecords OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of data records per template received or transmitted." ::= { ipfixTemplateStatsEntry 1 } -------------------------------------------------------------------- -- 1.9: Selector Table -------------------------------------------------------------------- ipfixSelectorTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixSelectorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains selector functions connected to a Template by the indexes ipfixTransportSessionIndex, ipfixObservationDomainId and ipfixTemplateId. The selector functions are applied to the packets observed at the given Observation Domain in the order implied by the ipfixSelectorIndex. The resulting Flow Records are then exported by using the connected Template. Since IPFIX does not define any selector function (except selecting every packet) this is a placeholder for future use and a guideline for implementing enterprise specific selector function objects. The following object tree should visualize how the selector function objects should be implemented: ipfixSelectorFunctions | +- ipfixFuncSelectAll | | | +- ipfixFuncSelectAllAvail (is the function available?) | +- ipfixFuncF2 | | | +- ipfixFuncF2Avail (is the function F2 available) | | | +- ipfixFuncF2Parameters (a table with parameters) ... | +- ipfixFunFn... If a selector function takes parameters the MIB should table with an entry for each set of parameters used at the exporter." ::= { ipfixObjects 9 } ipfixSelectorEntry OBJECT-TYPE SYNTAX IpfixSelectorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixSelectorTable." INDEX { ipfixTransportSessionIndex, ipfixObservationDomainId, ipfixTemplateId, ipfixSelectorIndex } ::= { ipfixSelectorTable 1 } IpfixSelectorEntry ::= SEQUENCE { ipfixSelectorIndex Integer32, ipfixSelectorFunction OBJECT IDENTIFIER } ipfixSelectorIndex OBJECT-TYPE SYNTAX Integer32 (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Locally arbitrary, but unique identifier of an entry in the ipfixSelectorTable. The value is expected to remain constant from a re-initialization of the entity's network management system to the next re-initialization." ::= { ipfixSelectorEntry 1 } ipfixSelectorFunction OBJECT-TYPE SYNTAX OBJECT IDENTIFIER MAX-ACCESS read-only STATUS current DESCRIPTION "The pointer to the Selector Function used at position ipfixSelectorIndex in the list of Selector Functions for the Template specified by the indexes ipfixTransportSessionIndex, ipfixObservationDomainId and ipfixTemplateId." ::= { ipfixSelectorEntry 2 } -------------------------------------------------------------------- -- 1.10: Packet Selector Functions for IPFIX -------------------------------------------------------------------- ipfixSelectorFunctions OBJECT IDENTIFIER ::= { ipfixObjects 10 } -------------------------------------------------------------------- -- 1.10.1: Function 1: Selecting All Packets -------------------------------------------------------------------- ipfixFuncSelectAll OBJECT IDENTIFIER ::= { ipfixSelectorFunctions 1 } ipfixFuncSelectAllAvail OBJECT-TYPE SYNTAX IpfixFunctionAvailability MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the availability of the trivial function of selecting all packets. This function is always available." DEFVAL { available } ::= { ipfixFuncSelectAll 1 } -------------------------------------------------------------------- -- 1.11: Selector Statistics Table -------------------------------------------------------------------- ipfixSelectorStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF IpfixSelectorStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains statistics for the Selector Functions connected to a Template by the indexes ipfixTransportSessionIndex, ipfixObservationDomainId and ipfixTemplateId. The indexes must match an entry in the ipfixSelectorTable." ::= { ipfixObjects 11 } ipfixSelectorStatsEntry OBJECT-TYPE SYNTAX IpfixSelectorStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Defines an entry in the ipfixSelectorStatsTable." AUGMENTS { ipfixSelectorEntry } ::= { ipfixSelectorStatsTable 1 } IpfixSelectorStatsEntry ::= SEQUENCE { ipfixSelectorStatsPacketsObserved Integer32, ipfixSelectorStatsPacketsDropped Integer32 } ipfixSelectorStatsPacketsObserved OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets observed at the entry point of the function. The entry point may be the Observation Point or the exit point of another Selector Function." ::= { ipfixSelectorStatsEntry 1 } ipfixSelectorStatsPacketsDropped OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets dropped while selecting packets." ::= { ipfixSelectorStatsEntry 2 } --================================================================== -- 3: Conformance Information --================================================================== ipfixCompliances OBJECT IDENTIFIER ::= { ipfixConformance 1 } ipfixGroups OBJECT IDENTIFIER ::= { ipfixConformance 2 } -------------------------------------------------------------------- -- 3.1: Compliance Statements -------------------------------------------------------------------- ipfixCollectorCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "An implementation that implements an IPFIX collector device that complies to this module must implement the objects defined in the mandatory group ipfixCommonGroup. The implementation of all objects in the other groups is optional and depends on the corresponding functionality implemented in the equipment." MODULE -- this module MANDATORY-GROUPS { ipfixCommonGroup } GROUP ipfixCommonStatsGroup DESCRIPTION "These objects should be implemented if the statistics function is implemented in the equipment." ::= { ipfixCompliances 1 } ipfixExporterCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "An implementation that implements an IPFIX exporter that complies to this module must implement the objects defined in the mandatory group ipfixCommonGroup. The implementation of all other objects depends on the implementation of the corresponding functionality in the equipment." MODULE -- this module MANDATORY-GROUPS { ipfixCommonGroup } GROUP ipfixExporterGroup DESCRIPTION "These objects must be implemented if the IPFIX exporter supports selector functions like filtering and/or sampling." GROUP ipfixExporterStatsGroup DESCRIPTION "These objects must be implemented if statistical functions are implemented on the equipment." ::= { ipfixCompliances 2 } -------------------------------------------------------------------- -- 3.2: MIB Grouping -------------------------------------------------------------------- ipfixCommonGroup OBJECT-GROUP OBJECTS { ipfixTransportSessionProtocol, ipfixTransportSessionAddressType, ipfixTransportSessionSourceAddress, ipfixTransportSessionDestinationAddress, ipfixTransportSessionSourcePort, ipfixTransportSessionDestinationPort, ipfixTransportSessionSctpAssocId, ipfixTransportSessionTemplateRefreshTimeout, ipfixTransportSessionOptionTemplateRefreshTimeout, ipfixTransportSessionTemplateRefreshPacket, ipfixTransportSessionOptionTemplateRefreshPacket, ipfixTransportSessionStatus, ipfixTransportSessionGroupMemberType, ipfixPhysicalEntity, ipfixTemplateSetId, ipfixTemplateAccessTime, ipfixTemplateDefinitionIeId, ipfixTemplateDefinitionIeLength, ipfixTemplateDefinitionFlags } STATUS current DESCRIPTION "All objects that are mandatory for the management function of any IPFIX Device." ::= { ipfixGroups 1 } ipfixCommonStatsGroup OBJECT-GROUP OBJECTS { ipfixTransportSessionRate, ipfixTransportSessionPackets, ipfixTransportSessionBytes, ipfixTransportSessionMessages, ipfixTransportSessionDiscardedMessages, ipfixTransportSessionRecords, ipfixObservationDomainMessages, ipfixObservationDomainErrors, ipfixObservationDomainDataRecords, ipfixObservationDomainTemplates, ipfixObservationDomainOptionTemplates, ipfixObservationDomainSequenceNumber, ipfixTemplateDataRecords } STATUS current DESCRIPTION "All statistical objects that should be common on all IPFIX devices." ::= { ipfixGroups 3 } ipfixExporterGroup OBJECT-GROUP OBJECTS { ipfixSelectorFunction, ipfixFuncSelectAllAvail } STATUS current DESCRIPTION "This group contains all objects that must be implemented for supporting selector functions like filtering and/or sampling on an device using the IPFIX procol." ::= { ipfixGroups 4 } ipfixExporterStatsGroup OBJECT-GROUP OBJECTS { ipfixSelectorStatsPacketsObserved, ipfixSelectorStatsPacketsDropped } STATUS current DESCRIPTION "This statistical objects are optional for exporters. They should be implemented if statistical functions are available on the used equipment." ::= { ipfixGroups 5 } END -- -- Copyright (C) The IETF Trust (2007). -- -- 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. -- -- This document and the information contained herein are provided on an -- "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS -- OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND -- THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS -- OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF -- THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED -- WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -- -- -- Intellectual Property -- -- The IETF takes no position regarding the validity or scope of any -- Intellectual Property Rights or other rights that might be claimed to -- pertain to the implementation or use of the technology described in -- this document or the extent to which any license under such rights -- might or might not be available; nor does it represent that it has -- made any independent effort to identify any such rights. Information -- on the procedures with respect to rights in RFC documents can be -- found in BCP 78 and BCP 79. -- -- Copies of IPR disclosures made to the IETF Secretariat and any -- assurances of licenses to be made available, or the result of an -- attempt made to obtain a general license or permission for the use of -- such proprietary rights by implementers or users of this -- specification can be obtained from the IETF on-line IPR repository at -- http://www.ietf.org/ipr. -- -- The IETF invites any interested party to bring to its attention any -- copyrights, patents or patent applications, or other proprietary -- rights that may cover technology that may be required to implement -- this standard. Please address the information to the IETF at -- ietf-ipr@ietf.org. -- -- -- Acknowledgment -- -- Funding for the RFC Editor function is provided by the IETF -- Administrative Support Activity (IASA).