-- ***************************************************************** -- CISCO-FLOW-MONITOR-MIB -- Definitions of managed objects describing flow monitoring. -- -- October 2008-2009 Patrick R. Gili -- -- Copyright (c) 2008-2009 by Cisco Systems Inc. -- All rights reserved. -- ***************************************************************** CISCO-FLOW-MONITOR-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-IDENTITY, OBJECT-TYPE, Counter64, Gauge32, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP FROM SNMPv2-CONF AutonomousType, RowPointer, TimeStamp, TruthValue FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB InetAddressType, InetAddress, InetPortNumber FROM INET-ADDRESS-MIB VlanId FROM Q-BRIDGE-MIB CiscoAlarmSeverity, Layer2Cos FROM CISCO-TC ReportIntervalCount FROM CISCO-REPORT-INTERVAL-TC-MIB FlowMonitorIdentifier, FlowIdentifier, FlowPointType, FlowPointIdentifier, FlowMetrics, FlowBitRateUnits, FlowMetricValue, FlowMetricScale, FlowMetricPrecision, FlowMonitorConditions, FlowMonitorConditionsProfile, FlowMonitorConditionsProfileOrZero, FlowMonitorConditionIdentifier, FlowMonitorAlarmGroupIdentifier, FlowSetIdentifier FROM CISCO-FLOW-MONITOR-TC-MIB ciscoMgmt FROM CISCO-SMI; ciscoFlowMonitorMIB MODULE-IDENTITY LAST-UPDATED "200904080000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO "Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-snmp@cisco.com" DESCRIPTION "This MIB module defines objects that describe flow monitoring. A typical application of this MIB module will facilitate monitoring media flows, especially flows carrying video streams. However, by no means does the definition of this MIB module prevents other applications from using it. FLOW MONITORS ================= At the top level, this MIB module describes the notion of a flow monitor. A flow monitor is a hardware or software entity that classifies traffic flows, collects data on conforming traffic flows, and periodically computes metrics that reflect the quality of the traffic flows. Because a device can support more than one flow monitor, the MIB module defines the cfmFlowMonitorTable. Consider an edge router that supports a certain line card that has an integrated capability to monitor video flows. In this example, the cfmFlowMonitorTable would contain a row describing each line card installed in the device. TRAFFIC FLOWS ================= At the next level, this MIB module describes the notion of a traffic flow. This MIB module uniquely identifies a traffic flow using an auxiliary variable called cfmFlowId; however, an implementation only has guarantee its uniqueness within the scope of the flow monitor that has the responsibility for monitoring the traffic flow. Thus, we can think of the flow monitor as a container for the traffic flows for which it collects data and periodically computes metrics, as the figure below illustrates. +----------------------------+ | cfmFlowTable | | | +----------------------+ +--------------------------------+ | cfmFlowMonitorId = 3 ----->| +------------------------+ | +----------------------+ | | cfmFlowMonitorId = 3 | | | | cfmFlowId = 101 | | | +------------------------+ | | +------------------------+ | | | cfmFlowMonitorId = 3 | | | | cfmFlowId = 102 | | | +------------------------+ | | : | | : | | +------------------------+ | | | cfmFlowMonitorId = 3 | | | | cfmFlowId = 150 | | | +------------------------+ | +--------------------------------+ | | +----------------------+ +--------------------------------+ | cfmFlowMonitorId = 4 ----->| +------------------------+ | +----------------------+ | | cfmFlowMonitorId = 4 | | | | cfmFlowId = 1 | | | +------------------------+ | | +------------------------+ | | | cfmFlowMonitorId = 4 | | | | cfmFlowId = 2 | | | +------------------------+ | | : | | : | | +------------------------+ | | | cfmFlowMonitorId = 4 | | | | cfmFlowId = 150 | | | +------------------------+ | +--------------------------------+ | | +----------------------------+ While the identifying of a traffic flow using this auxiliary variable is convenient for the MIB module, it is does suffice for an EMS/NMS trying to isolate faults in a network delivering these traffic flows. To aid an EMS/NMS in this task, this MIB module defines a number of tables that provide layers of data relating to a traffic flow, including: o cfmFlowL2VlanTable - describes L2 VLAN data relating to traffic flows. o cfmFlowIpTable - describes IP data relating to traffic flows. o cfmFlowUdpTable - describes UDP data relating to traffic flows. o cfmFlowTcpTable - describes TCP data relating to traffic flows. o cfmFlowRtpTable - describes RTP data relating to traffic flows. Each of these tables have a sparse dependent relationship on the cfmFlowTable, as there exist situations when the data may not be available for a traffic flow, including: 1) The flow monitor simply may not collect the particular data for the traffic flows that it has the responsibility of monitoring. For example, a flow monitor may not have any concern for L2 VLAN data. 2) The data may not apply to a traffic flow. For example, a TCP and RTP data do not apply for a UDP traffic flow. To help an EMS/NMS navigate the data collected for a traffic flow, the corresponding rows are daisy-chained using 'next objects'. An EMS/NMS starts with cfmFlowNext, which indicates a reference to the row in the next table containing data related to the traffic flow. The first object contained by each of these tables is a 'next object'. Consider a RTP traffic flow for which the flow monitor has collected IP, UDP, and RTP data. The figure below illustrates how this MIB module daisy chains this data through the relevant tables. +-------------------------------------------+ | cfmFlowTable | | +---------------------------------------+ | | | cfmFlowMonitorId = 3 | | | | cfmFlowId = 42 | | | | cfmFlowNext = cfmFlowIpNext.3.42 ----------+ | +---------------------------------------+ | | +-------------------------------------------+ | | +-------------------------------------------+ | | cfmFlowIpTable | | | +---------------------------------------+ | | | | cfmFlowMonitorId = 3 |<---+ | | cfmFlowId = 42 | | | | cfmFlowIpNext = cfmFlowUdpNext.3.42 -------+ | +---------------------------------------+ | | +-------------------------------------------+ | | +-------------------------------------------+ | | cfmFlowUdpTable | | | +---------------------------------------+ | | | | cfmFlowMonitorId = 3 |<---+ | | cfmFlowId = 42 | | | | cfmFlowUdpNext = cfmFlowRtpNext.3.42 ------+ | +---------------------------------------+ | | +-------------------------------------------+ | | +-------------------------------------------+ | | cfmFlowRtpTable | | | +---------------------------------------+ | | | | cfmFlowMonitorId = 3 |<---+ | | cfmFlowId = 42 | | | | cfmFlowRtpNext = zeroDotZero | | | +---------------------------------------+ | +-------------------------------------------+ Observe that this structure simplifies the task of extending the MIB module to support additional layers of data. For example, if there is a need for a device to collect data relating to the MPEG-TS layer of a flow carrying a video stream, then it is as simple as defining a table containing this data. However, the definition of such a table must comply with the following requirements: 1) The table must have a sparse dependent relationship on the cfmFlowTable. 2) The first object contained by the table must be a 'next object' to support daisy chaining. REPORTING FLOW METRICS ========================== At the next level, the MIB defines two tables that together form the foundation for reporting metrics. The cfmFlowMetricsTable has a one-to-one dependent relationship on the cfmFlowTable, and it contains data aggregate metrics and data relating to the collection of metrics for the corresponding traffic flow. A row in this table also serves as a container for the historic metrics computed by the corresponding flow monitor, as the figure below illustrates. +----------------------------+ | cfmFlowMetricsIntTable | | | +----------------------+ +----------------------------------+ | cfmFlowMetricsEntry |-->| +------------------------------+ | | | | | cfmFlowMonitorId = 3 | | | cfmFlowMonitorId = 3 | | | cfmFlowId = 101 | | | cfmFlowid = 101 | | | cfmFlowMetricsIntNumber = 1 | | +----------------------+ | +------------------------------+ | | +------------------------------+ | | | cfmFlowMonitorId = 3 | | | | cfmFlowId = 101 | | | | cfmFlowMetricsIntNumber = 2 | | | +------------------------------+ | | : | | : | | +------------------------------+ | | | cfmFlowMonitorId = 3 | | | | cfmFlowId = 101 | | | | cfmFlowMetricsIntNumber = N | | | +------------------------------+ | +----------------------------------+ | | +----------------------------+ The device collects data for a traffic flow over a configured measurement interval, indicated by cfmFlowMetricsIntervalTime. At the end of a measurement interval, the device computes metrics from this data, generating a report. An EMS/NMS can access this report using the cfmFlowMetricsIntTable. cfmFlowMetricsMaxInterval indicates the maximum number of reports a device will save for the corresponding traffic flow, while cfmFlowMetricsIntervals indicates the number of reports currently saved by the device. The cfmFlowMetricsTable and cfmFlowMetricsIntTable have the intent of providing a foundation for reporting metrics for a traffic flow. Furthermore, it is the intent that additional MIB modules define extensions to these tables describing specific sets of metrics. The following list provides some examples: o CISCO-FLOW-MON-MDI-MIB - this MIB module defines extensions that describe MDI metrics defined by RFC-4445. o CISCO-FLOW-MON-RTP-MIB - this MIB module defines extensions that describe RTP metrics defined by RFC-3550. o CISCO-FLOW-MON-IP-CBR-MIB - this MIB module defines extension that describe IP CBR metrics. The tables defined by these MIB modules have a sparse dependent relationhip on the cfmFlowMetricsTable and cfmFlowMetricsIntTable. An EMS/NMS can determine the metrics collected for a traffic flow from the corresponding instance of cfmFlowMetricsCollected, which is nothing more than a bit string-value for which each bit corresponds to a different set of metrics. FAULT MANAGEMENT ==================== At the next level, this MIB module defines tables that describe standing conditions. A standing condition is a lasting error, fault, or warning resulting from the application of a set of criteria to the state of an entity. For example, a flow monitor ceases monitoring a traffic flow when it has not received any packets for that traffic flow in a configured interval of time. If flow monitor expires a significantly large number of traffic flows during a measurement interval, then this might signal a fault. In this example, the 'set of criteria' is a rising threshold and the 'state of an entity' is the number of traffic flows expired by a flow monitor. The cfmConditionTable describes the criteria applied to entities managed by the device, specifically flow monitors and traffic flows. The table groups these criteria into 'conditions profiles'. The device periodically applies these criteria to an entity and saves the results in a bit string-value associated with the entity. An EMS/NMS can monitor the most recent standing conditions for a flow monitor by retrieving the corresponding instance of cfmFlowMonitorConditions. Likewise, an EMS/NMS can monitor the most recent standing conditions for a traffic flow by retrieving the corresponding instance of cfmFlowMetricsConditions. It goes without saying that monitoring the standing conditions for significantly large numbers of traffic flows becomes problematic. To aid an EMS/NMS in this task, this MIB module defines many mechanisms. The most basic of these mechanisms is the notion of an alarm, which is simply a standing condition for which the device signals changes in state. This MIB module provides for three means of signaling when the device raises or clears an alarm condition: 1) Logging - the device creates a record of the event and saves it in a historical account. 2) syslog - the device generates a syslog message containing details of the event and sends it to one or more configured syslog server. 3) SNMP - the device generates a SNMP notification containing details of the event and sends it to one or more configured targets. An EMS/NMS can monitor the most recent alarm conditions for a flow monitor by retrieving the corresponding instance of cfmFlowMonitorAlarms. Likewise, the EMS/NMS can monitor the most recent alarm conditions for a traffic flow by retrieving the corresponding instance of cfmFlowMetricsAlarms. Additionally, the EMS/NMS can poll a summary of alarm conditions maintained for each flow monitor and the traffic flows that it monitors. The following list summarizes the data contained by this summary: o cfmFlowMonitorAlarmSeverity o cfmFlowMonitorAlarmCriticalCount o cfmFlowMonitorAlarmMajorCount o cfmFlowMonitorAlarmMinorCount o cfmFlowMonitorAlarmWarningCount o cfmFlowMonitorAlarmInfoCount An EMS/NMS can also poll cfmAlarmHistoryLastId, which indicates the value of the identifier assigned to the last record saved to the historical account. When it observes a change in the value of this object, then it can retrieve the new records from the cfmAlarmHistoryTable. The burden of monitoring alarm conditions for sufficiently large numbers of traffic flows can itself become a daunting task. Thus, this MIB module defines the notion of an alarm group, which represents a single alarm condition that aggregates a standing condition for a set of traffic flows. The cfmAlarmGroupTable describes the alarm groups configured for a device, and the cfmAlarmGroupFlowTable describes the sets of flows aggregated by these alarm groups. GLOSSARY ============ Alarm Action - a method used by the device to signal changes in an alarm condition. Alarm Aggregation - a technique used to efficiently monitor the same standing condition for a flow set. Alarm Condition - a standing condition for which the device signals changes in state. Alarm Group - a flow set for which the device monitors a configured standing condition, raising an alarm when a configured number of flows in the flow set assert the standing standing. Alarm Severity - the relative disposition of an alarm condition when raised by the device. For example, a provider may regard a flow stop alarm as having a higher severity than a flow's loss fraction exceeding a configured threshold. Flow Monitor - a hardware or software entity that classifies traffic flows, collects flow data, and periodically computes flow metrics. Flow Metric - a measurement that reflects the quality of a traffic flow. Flow Point - represents the ingress or egress of a traffic flow. Flow Set - a group of traffic flows. Measurement Interval - the length of time over which a flow monitor collects data related to a traffic flow, after which the flow monitor computes flow metrics using the collected data. Standing Condition - represents a lasting error, fault, or warning resulting from the application of a set of criteria to the state of an entity, such as a flow monitor or traffic flow. For example, a flow monitor may assert a standing condition if the number of traffic flows that expire in a measurement interval exceeds a configured threshold. Traffic Flow - a unidirectional stream of packets conforming to a classifier. For example, packets having a particular source IP address, destination IP address, protocol type, source port number, and destination port number." REVISION "200904080000Z" DESCRIPTION "The initial version of the MIB module." ::= { ciscoMgmt 692 } -- ********************************************************************* -- * Top-Level Trees * -- ********************************************************************* ciscoFlowMonitorMIBNotifs OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIB 0 } ciscoFlowMonitorMIBObjects OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIB 1 } ciscoFlowMonitorMIBConform OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIB 2 } ciscoFlowMonitorMIBIds OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIB 3 } -- ********************************************************************* -- * Objects * -- ********************************************************************* cfmFlowMonitors OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 1 } cfmFlowMonitorTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowMonitorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the flow monitors contained by the device." ::= { cfmFlowMonitors 1 } cfmFlowMonitorEntry OBJECT-TYPE SYNTAX CfmFlowMonitorEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a flow monitor, which represents a hardware or software entity that classifies traffic flows, monitors flow data, and periodically computes flow metrics. A simple device may only support a single flow monitor, where a more sophisticated device may support more than one flow monitor. A device supporting multiple flow monitors creates a row in the cfmFlowMonitorTable when it recognizes the addition of a new flow monitor, such as might occur upon the insertion of a line card that supports flow monitoring. Likewise, such a device destroys a row in the cfmFlowMonitorTable when a flow monitor has been removed." INDEX { cfmFlowMonitorId } ::= { cfmFlowMonitorTable 1 } CfmFlowMonitorEntry ::= SEQUENCE { cfmFlowMonitorId FlowMonitorIdentifier, cfmFlowMonitorDescr SnmpAdminString, cfmFlowMonitorCaps FlowMetrics, cfmFlowMonitorFlowCount Gauge32, cfmFlowMonitorConditionsProfile FlowMonitorConditionsProfileOrZero, cfmFlowMonitorConditions FlowMonitorConditions, cfmFlowMonitorAlarms FlowMonitorConditions, cfmFlowMonitorAlarmSeverity CiscoAlarmSeverity, cfmFlowMonitorAlarmCriticalCount Gauge32, cfmFlowMonitorAlarmMajorCount Gauge32, cfmFlowMonitorAlarmMinorCount Gauge32, cfmFlowMonitorAlarmWarningCount Gauge32, cfmFlowMonitorAlarmInfoCount Gauge32 } cfmFlowMonitorId OBJECT-TYPE SYNTAX FlowMonitorIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies the flow monitor. Observe that the value assigned to a flow monitor does not necessarily persist across restarts or the removal-insertion of a physical entity supporting flow monitor(s)." ::= { cfmFlowMonitorEntry 1 } cfmFlowMonitorDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a human-readable description for the flow monitor." ::= { cfmFlowMonitorEntry 2 } cfmFlowMonitorCaps OBJECT-TYPE SYNTAX FlowMetrics MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the capabilities of the flow monitor. Specifically, the value of this column indicates a '1' for each set of flow metrics the flow monitor is capable of measuring." ::= { cfmFlowMonitorEntry 3 } cfmFlowMonitorFlowCount OBJECT-TYPE SYNTAX Gauge32 UNITS "traffic flows" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of traffic flows currently monitored by the flow monitor." ::= { cfmFlowMonitorEntry 4 } cfmFlowMonitorConditionsProfile OBJECT-TYPE SYNTAX FlowMonitorConditionsProfileOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the conditions profile that contains the descriptions of the standing conditions monitored for the flow monitor. If the flow monitor does not have an associated conditions profile, then the value of this column must be zero." ::= { cfmFlowMonitorEntry 5 } cfmFlowMonitorConditions OBJECT-TYPE SYNTAX FlowMonitorConditions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current standing conditions for the flow monitor. If the flow monitor does not have an associated conditions profile, then the value of this column must be the null string." ::= { cfmFlowMonitorEntry 6 } cfmFlowMonitorAlarms OBJECT-TYPE SYNTAX FlowMonitorConditions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current alarm conditions for the flow monitor. If the flow monitor does not have an associated conditions profile, then the value of this column must be the null string." ::= { cfmFlowMonitorEntry 7 } cfmFlowMonitorAlarmSeverity OBJECT-TYPE SYNTAX CiscoAlarmSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the high severity alarm condition currently raised by the flow monitor and the traffic flows monitored by the flow monitor. If no alarm is raised for the flow monitor and the traffic flows monitored for the flow monitor, then the value of this column is 'cleared'." ::= { cfmFlowMonitorEntry 8 } cfmFlowMonitorAlarmCriticalCount OBJECT-TYPE SYNTAX Gauge32 UNITS "alarms" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of alarm conditions with a critical severity currently raised for traffic flows monitored by the flow monitor." ::= { cfmFlowMonitorEntry 9 } cfmFlowMonitorAlarmMajorCount OBJECT-TYPE SYNTAX Gauge32 UNITS "alarms" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of alarm conditions with a major severity currently raised for traffic flows monitored by the flow monitor." ::= { cfmFlowMonitorEntry 10 } cfmFlowMonitorAlarmMinorCount OBJECT-TYPE SYNTAX Gauge32 UNITS "alarms" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of alarm conditions with a minor severity currently raised for traffic flows monitored by the flow monitor." ::= { cfmFlowMonitorEntry 11 } cfmFlowMonitorAlarmWarningCount OBJECT-TYPE SYNTAX Gauge32 UNITS "alarms" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of alarm conditions with a warning severity currently raised for traffic flows monitored by the flow monitor." ::= { cfmFlowMonitorEntry 12 } cfmFlowMonitorAlarmInfoCount OBJECT-TYPE SYNTAX Gauge32 UNITS "alarms" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of alarm conditions with a informational severity currently raised for traffic flows monitored by the flow monitor." ::= { cfmFlowMonitorEntry 13 } cfmFlowMonitorTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device created or destroyed a row in cfmFlowMonitorTable." ::= { cfmFlowMonitors 2 } cfmFlows OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 2 } cfmFlowTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the traffic flows monitored by each flow monitor supported by the device. This table has an expansion dependent relationship on the cfmFlowMonitorTable, containing zero or more rows for each flow monitor." ::= { cfmFlows 1 } cfmFlowEntry OBJECT-TYPE SYNTAX CfmFlowEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a traffic flow monitored by a flow monitor. The device creates a row in the cfmFlowTable when a flow monitor starts monitoring a traffic flow. Likewise, the device destroys a row in the cfmFlowTable when a traffic flow monitored by a flow monitor has timed out." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowTable 1 } CfmFlowEntry ::= SEQUENCE { cfmFlowId FlowIdentifier, cfmFlowDescr SnmpAdminString, cfmFlowNext RowPointer, cfmFlowCreateTime TimeStamp, cfmFlowDiscontinuityTime TimeStamp, cfmFlowExpirationTime Unsigned32, cfmFlowDirection INTEGER, cfmFlowAdminStatus INTEGER, cfmFlowOperStatus INTEGER, cfmFlowIngressType FlowPointType, cfmFlowIngress FlowPointIdentifier, cfmFlowEgressType FlowPointType, cfmFlowEgress FlowPointIdentifier } cfmFlowId OBJECT-TYPE SYNTAX FlowIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies a traffic flow in the scope of the flow monitor that learned it. Observe that the value assigned to a flow does not necessarily persist across restarts or the removal-insertion of a physical entity supporting flow monitor(s)." ::= { cfmFlowEntry 1 } cfmFlowDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a human-readable description of the traffic flow." ::= { cfmFlowEntry 2 } cfmFlowNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a reference to a row in another table containing additional data relating to the traffic flow." ::= { cfmFlowEntry 3 } cfmFlowCreateTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime when the row was created." ::= { cfmFlowEntry 4 } cfmFlowDiscontinuityTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime on the most recent occasion at which any one or more of counters associated with the traffic flow suffered a discontinuity (e.g., process restart or failover event)." ::= { cfmFlowEntry 5 } cfmFlowExpirationTime OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the expiration interval for the traffic flow. If the flow monitor receives no packets for the traffic flow in this interval, then it expires the flow; that is, it stops monitoring the traffic and removes the corresponding row from the cfmFlowTable. If this column is '0', then the traffic flow was statically configured (as opposed to dynamically learned) and it will never expire." ::= { cfmFlowEntry 6 } cfmFlowDirection OBJECT-TYPE SYNTAX INTEGER { unknown(1), ingress(2), egress(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the direction of the traffic flow where the flow monitor collects data: 'unknown' The SNMP entity does not know the direction of the traffic flow at the point the flow monitor collects data. 'ingress' The flow monitor collects data at the point where the traffic flow enters the devices 'egress' The flow monitor collects data at the point where the traffic flow leaves the device." ::= { cfmFlowEntry 7 } cfmFlowAdminStatus OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2), expire(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the desired state of the traffic flow: 'enabled' The corresponding flow monitor is collecting data and computing metrics for the traffic flow. 'disabled' The corresponding flow monitor is not collecting data or computing metrics for the traffic flow. As long as a traffic flow remains in this state, the flow monitor will not expire the traffic flow. 'expire' When this column is set to this value, it forces the traffic flow to expire. It is not possible to return this value in a response to a retrieval operation." DEFVAL { enabled } ::= { cfmFlowEntry 8 } cfmFlowOperStatus OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the operational state of the traffic flow: 'enabled' The corresponding flow monitor is actively monitoring the traffic flow. 'disabled' The corresponding flow monitor is neither collecting data, nor computing metrics for the traffic flow." ::= { cfmFlowEntry 9 } cfmFlowIngressType OBJECT-TYPE SYNTAX FlowPointType MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the type of port that receives the traffic for this traffic flow." ::= { cfmFlowEntry 10 } cfmFlowIngress OBJECT-TYPE SYNTAX FlowPointIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the port that receives the traffic for this traffic flow." ::= { cfmFlowEntry 11 } cfmFlowEgressType OBJECT-TYPE SYNTAX FlowPointType MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the type of port that transmits the traffic for this traffic flow." ::= { cfmFlowEntry 12 } cfmFlowEgress OBJECT-TYPE SYNTAX FlowPointIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the port that transmits the traffic for this traffic flow." ::= { cfmFlowEntry 13 } cfmFlowTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device created or destroyed a row in cfmFlowTable." ::= { cfmFlows 2 } cfmFlowL2VlanTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowL2VlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains additional data relating to the L2 VLAN carrying traffic flows monitored by flow monitors. This table has a sparse dependent relationship on the cfmFlowTable." ::= { cfmFlows 3 } cfmFlowL2VlanEntry OBJECT-TYPE SYNTAX CfmFlowL2VlanEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes data relating to the L2 VLAN carrying the corresponding traffic flow. A device creates a row in the cfmFlowL2VlanTable when a flow monitor has data relating to the L2 VLAN carrying a corresponding traffic flow. The device destroys a row in the cfmFlowL2VlanTable when the corresponding traffic flow times out." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowL2VlanTable 1 } CfmFlowL2VlanEntry ::= SEQUENCE { cfmFlowL2VlanNext RowPointer, cfmFlowL2VlanId VlanId, cfmFlowL2VlanCos Layer2Cos } cfmFlowL2VlanNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a reference to a row in another table containing additional data relating to the corresponding traffic flow." ::= { cfmFlowL2VlanEntry 1 } cfmFlowL2VlanId OBJECT-TYPE SYNTAX VlanId MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the tag associated with the VLAN carrying the corresponding traffic flow." ::= { cfmFlowL2VlanEntry 2 } cfmFlowL2VlanCos OBJECT-TYPE SYNTAX Layer2Cos MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the layer 2 COS assigned to the corresponding traffic flow." ::= { cfmFlowL2VlanEntry 3 } cfmFlowL2VlanTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device changed the cfmFlowL2VlanTable." ::= { cfmFlows 4 } cfmFlowIpTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowIpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains additional data relating to the IP carrying the corresponding traffic flow. This table has a sparse dependent relationship on the cfmFlowTable." ::= { cfmFlows 5 } cfmFlowIpEntry OBJECT-TYPE SYNTAX CfmFlowIpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes data relating to the IP carrying the corresponding traffic flow. A device creates a row in the cfmFlowIpTable when the flow monitor has data relating to the IP carrying the corresponding traffic flow. The device destroys a row in this table when the corresponding traffic flow times out." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowIpTable 1 } CfmFlowIpEntry ::= SEQUENCE { cfmFlowIpNext RowPointer, cfmFlowIpAddrType InetAddressType, cfmFlowIpAddrSrc InetAddress, cfmFlowIpAddrDst InetAddress, cfmFlowIpValid BITS, cfmFlowIpTrafficClass Unsigned32, cfmFlowIpHopLimit Unsigned32 } cfmFlowIpNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a reference to a row in another table containing additional data relating to the corresponding traffic flow." ::= { cfmFlowIpEntry 1 } cfmFlowIpAddrType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the type of IP address indicated by the corresponding instances of cfmFlowIpAddrSrc and cfmFlowIpAddrDst." ::= { cfmFlowIpEntry 2 } cfmFlowIpAddrSrc OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the source IP address of the corresponding traffic flow." ::= { cfmFlowIpEntry 3 } cfmFlowIpAddrDst OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the destination IP address of the corresponding traffic flow." ::= { cfmFlowIpEntry 4 } cfmFlowIpValid OBJECT-TYPE SYNTAX BITS { trafficClass(0), hopLimit(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the corresponding instances of cfmFlowIpTrafficClass and cfmFlowIpHopLimit are valid." ::= { cfmFlowIpEntry 5 } cfmFlowIpTrafficClass OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the traffic class of the corresponding traffic flow. If version 4 of the IP carries the traffic flow, then the value of this column corresponds to the 'Type of Service' field of the IP header contained by packets in the traffic flow. If version 6 of the IP carries the traffic flow, then the value of this column corresponds to the '' field of the IP header contained by packets in the traffic flow. The value of this column is valid only if the 'trafficClass' bit of the corresponding instance of cfmFlowIpValid is '1'." REFERENCE "J. Postel, 'Internet Protocol', RFC-791, September 1981. J. Deering and R. Hinden, 'Internet Protocol, Version 6 (IPv6) Specification', RFC-2460, December 1998." ::= { cfmFlowIpEntry 6 } cfmFlowIpHopLimit OBJECT-TYPE SYNTAX Unsigned32 (0..255) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the hop limit of the corresponding traffic flow. If version 4 of the IP carries the traffic flow, then the value of this column corresponds to the 'Time to Live' field of the IP header contained by packets in the traffic flow (as observed by the flow monitor). If version 6 of the IP carries the traffic flow, then the value of this column corresponds to the 'Hop Limit' field of the IP header contained by packets in the traffic flow (as observed by the flow monitor). The value of this column is valid only if the 'hopLimit' bit of the corresponding instance of cfmFlowIpValid is '1'." REFERENCE "J. Postel, 'Internet Protocol', RFC-791, September 1981. J. Deering and R. Hinden, 'Internet Protocol, Version 6 (IPv6) Specification', RFC-2460, December 1998." ::= { cfmFlowIpEntry 7 } cfmFlowIpTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device changed the cfmFlowIpTable." ::= { cfmFlows 6 } cfmFlowUdpTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowUdpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains additional data relating to the UDP carrying the corresponding traffic flow. This table has a sparse dependent relationship on the cfmFlowTable." ::= { cfmFlows 7 } cfmFlowUdpEntry OBJECT-TYPE SYNTAX CfmFlowUdpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes data relating to the UDP carrying the corresponding traffic flow. A device creates a row in the cfmFlowUdpTable when the flow monitor has data relating to the UDP carrying the corresponding traffic flow. The device destroys a row in this table when the corresponding traffic flow times out." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowUdpTable 1 } CfmFlowUdpEntry ::= SEQUENCE { cfmFlowUdpNext RowPointer, cfmFlowUdpPortSrc InetPortNumber, cfmFlowUdpPortDst InetPortNumber } cfmFlowUdpNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a reference to a row in another table containing additional data relating to the corresponding traffic flow." ::= { cfmFlowUdpEntry 1 } cfmFlowUdpPortSrc OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the source UDP port number of the corresponding traffic flow." ::= { cfmFlowUdpEntry 2 } cfmFlowUdpPortDst OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the destination UDP port number of the corresponding traffic flow." ::= { cfmFlowUdpEntry 3 } cfmFlowUdpTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device changed the cfmFlowUdpTable." ::= { cfmFlows 8 } cfmFlowTcpTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowTcpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains additional data relating to the TCP carrying the corresponding traffic flow. This table has a sparse dependent relationship on the cfmFlowTable." ::= { cfmFlows 9 } cfmFlowTcpEntry OBJECT-TYPE SYNTAX CfmFlowTcpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes data relating to the TCP carrying the corresponding traffic flow. A device creates a row in the cfmFlowTcpTable when the flow monitor has data relating to the TCP carrying the corresponding traffic flow. The device destroys a row in this table when the corresponding traffic flow times out." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowTcpTable 1 } CfmFlowTcpEntry ::= SEQUENCE { cfmFlowTcpNext RowPointer, cfmFlowTcpPortSrc InetPortNumber, cfmFlowTcpPortDst InetPortNumber } cfmFlowTcpNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a reference to a row in another table containing additional data relating to the corresponding traffic flow." ::= { cfmFlowTcpEntry 1 } cfmFlowTcpPortSrc OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the source TCP port number of the corresponding traffic flow." ::= { cfmFlowTcpEntry 2 } cfmFlowTcpPortDst OBJECT-TYPE SYNTAX InetPortNumber MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the destination TCP port number of the corresponding traffic flow." ::= { cfmFlowTcpEntry 3 } cfmFlowTcpTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device changed the cfmFlowTcpTable." ::= { cfmFlows 10 } cfmFlowRtpTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowRtpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains additional data relating to the RTP carrying the corresponding traffic flow. This table has a sparse dependent relationship on the cfmFlowTable." ::= { cfmFlows 11 } cfmFlowRtpEntry OBJECT-TYPE SYNTAX CfmFlowRtpEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes data relating to the RTP carrying the corresponding traffic flow. A device creates a row in the cfmFlowRtpTable when the flow monitor has data relating to the RTP carrying the corresponding traffic flow. The device destroys a row in this table when the corresponding traffic flow times out." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowRtpTable 1 } CfmFlowRtpEntry ::= SEQUENCE { cfmFlowRtpNext RowPointer, cfmFlowRtpVersion Unsigned32, cfmFlowRtpSsrc Unsigned32, cfmFlowRtpPayloadType Unsigned32 } cfmFlowRtpNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a reference to a row in another table containing additional data relating to the corresponding traffic flow." ::= { cfmFlowRtpEntry 1 } cfmFlowRtpVersion OBJECT-TYPE SYNTAX Unsigned32 (0..3) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the RTP version of the corresponding traffic flow." ::= { cfmFlowRtpEntry 2 } cfmFlowRtpSsrc OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the RTP synchronized source (SSRC) of the corresponding traffic flow." ::= { cfmFlowRtpEntry 3 } cfmFlowRtpPayloadType OBJECT-TYPE SYNTAX Unsigned32 (0..127) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the RTP payload type of the corresponding traffic flow." ::= { cfmFlowRtpEntry 4 } cfmFlowRtpTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device changed the cfmFlowRtpTable." ::= { cfmFlows 12 } cfmFlowMetrics OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 3 } cfmFlowMetricsTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowMetricsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains aggregate metrics and data relating to the collection of metrics for the traffic flows monitored by each of the flow monitors supported by the device. This table has a sparse dependent relationship on the cfmFlowTable, containing a row for each row in the cfmFlowTable for which the device is actively monitoring." ::= { cfmFlowMetrics 1 } cfmFlowMetricsEntry OBJECT-TYPE SYNTAX CfmFlowMetricsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry contains aggregate metrics and data relating to the collection of metrics for a corresponding traffic flow. The device creates a row in the cfmFlowMetricsTable when a flow monitor starts monitoring a traffic flow. Likewise, the device destroys a row in the cfmFlowMetricsTable when the corresponding flow monitor has ceased monitoring the traffic flow (e.g., when a traffic flow has timed out). Observe that the device does not destroy the row unless it has not received packets for the corresponding flow for an interval of time equal to the flow's expiration time, thereby giving an EMS/NMS ample time to retrieve any data relating to the flow." INDEX { cfmFlowMonitorId, cfmFlowId } ::= { cfmFlowMetricsTable 1 } CfmFlowMetricsEntry ::= SEQUENCE { cfmFlowMetricsCollected FlowMetrics, cfmFlowMetricsIntervalTime Unsigned32, cfmFlowMetricsMaxIntervals Unsigned32, cfmFlowMetricsElapsedTime Gauge32, cfmFlowMetricsIntervals Gauge32, cfmFlowMetricsInvalidIntervals Gauge32, cfmFlowMetricsConditionsProfile FlowMonitorConditionsProfileOrZero, cfmFlowMetricsConditions FlowMonitorConditions, cfmFlowMetricsAlarms FlowMonitorConditions, cfmFlowMetricsAlarmSeverity CiscoAlarmSeverity, cfmFlowMetricsPkts Counter64, cfmFlowMetricsOctets Counter64, cfmFlowMetricsBitRateUnits FlowBitRateUnits, cfmFlowMetricsBitRate Gauge32, cfmFlowMetricsPktRate Gauge32 } cfmFlowMetricsCollected OBJECT-TYPE SYNTAX FlowMetrics MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the metrics collected by the corresponding flow monitor for the corresponding traffic flow." ::= { cfmFlowMetricsEntry 1 } cfmFlowMetricsIntervalTime OBJECT-TYPE SYNTAX Unsigned32 (1..3600) UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the length of the measurement interval for the corresponding traffic flow. The flow monitor computes the collected metrics for the corresponding traffic flow with a frequency equal to the inverse of the value of this column." ::= { cfmFlowMetricsEntry 2 } cfmFlowMetricsMaxIntervals OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) UNITS "intervals" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the maximum number of measurement intervals for which the corresponding flow monitor maintains metrics for the corresponding traffic flow. If the value of this column is '0', then the corresponding flow monitor does not maintain historical metrics for the corresponding traffic flow." ::= { cfmFlowMetricsEntry 3 } cfmFlowMetricsElapsedTime OBJECT-TYPE SYNTAX Gauge32 UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the time that has elapsed since the beginning of the current measurement interval." ::= { cfmFlowMetricsEntry 4 } cfmFlowMetricsIntervals OBJECT-TYPE SYNTAX Gauge32 UNITS "intervals" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of measurement intervals for which data has been collected." ::= { cfmFlowMetricsEntry 5 } cfmFlowMetricsInvalidIntervals OBJECT-TYPE SYNTAX Gauge32 UNITS "intervals" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of measurement intervals in the set of collected measurement intervals that contain invalid data." ::= { cfmFlowMetricsEntry 6 } cfmFlowMetricsConditionsProfile OBJECT-TYPE SYNTAX FlowMonitorConditionsProfileOrZero MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the conditions profile that contains the descriptions of the standing conditions monitored for the traffic flow. If the flow does not have an associated conditions profile, then the value of this column must be zero." ::= { cfmFlowMetricsEntry 7 } cfmFlowMetricsConditions OBJECT-TYPE SYNTAX FlowMonitorConditions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current standing conditions for the corresponding traffic flow. If the flow does not have an associated conditions profile, then the value of this column must be the null string." ::= { cfmFlowMetricsEntry 8 } cfmFlowMetricsAlarms OBJECT-TYPE SYNTAX FlowMonitorConditions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current alarm conditions for the corresponding traffic flow. If the flow does not have an associated conditions profile, then the value of this column must be the null string." ::= { cfmFlowMetricsEntry 9 } cfmFlowMetricsAlarmSeverity OBJECT-TYPE SYNTAX CiscoAlarmSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the highest severity alarm currently raised for the corresponding traffic flow. If no alarm is raised for the corresponding traffic flow, then the value of this column is 'cleared'." ::= { cfmFlowMetricsEntry 10 } cfmFlowMetricsPkts OBJECT-TYPE SYNTAX Counter64 UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the total number of packets processed by the corresponding flow monitor for the corresponding traffic flow." ::= { cfmFlowMetricsEntry 11 } cfmFlowMetricsOctets OBJECT-TYPE SYNTAX Counter64 UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the total number of octets contained by the packets processed by the corresponding flow monitor for the corresponding traffic flow." ::= { cfmFlowMetricsEntry 12 } cfmFlowMetricsBitRateUnits OBJECT-TYPE SYNTAX FlowBitRateUnits MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the units for the corresponding instance of cfmFlowMetricsBitRate." ::= { cfmFlowMetricsEntry 13 } cfmFlowMetricsBitRate OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the average bit rate at which the corresponding flow monitor is processing data for the corresponding traffic flow. This value is cumulative over the lifetime of the traffic flow." ::= { cfmFlowMetricsEntry 14 } cfmFlowMetricsPktRate OBJECT-TYPE SYNTAX Gauge32 UNITS "packets per second" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the average packet rate at which the corresponding flow monitor is processing data for the corresponding traffic flow. This value is cumulative over the lifetime of the traffic flow." ::= { cfmFlowMetricsEntry 15 } cfmFlowMetricsTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device created or destroyed a row in cfmFlowMetricsTable." ::= { cfmFlowMetrics 2 } cfmFlowMetricsIntTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmFlowMetricsIntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains historic metrics for the traffic flows monitored by each of the flow monitors supported by the device. This table has an expansion dependent relationship on the cfmFlowMetricsTable, containing zero or more rows for each traffic flow." ::= { cfmFlowMetrics 3 } cfmFlowMetricsIntEntry OBJECT-TYPE SYNTAX CfmFlowMetricsIntEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes metrics collected for a previous measurement interval for a corresponding traffic flow." INDEX { cfmFlowMonitorId, cfmFlowId, cfmFlowMetricsIntNumber } ::= { cfmFlowMetricsIntTable 1 } CfmFlowMetricsIntEntry ::= SEQUENCE { cfmFlowMetricsIntNumber Unsigned32, cfmFlowMetricsIntValid TruthValue, cfmFlowMetricsIntTime TimeStamp, cfmFlowMetricsIntConditions FlowMonitorConditions, cfmFlowMetricsIntAlarms FlowMonitorConditions, cfmFlowMetricsIntAlarmSeverity CiscoAlarmSeverity, cfmFlowMetricsIntPkts ReportIntervalCount, cfmFlowMetricsIntOctets ReportIntervalCount, cfmFlowMetricsIntBitRateUnits FlowBitRateUnits, cfmFlowMetricsIntBitRate ReportIntervalCount, cfmFlowMetricsIntPktRate ReportIntervalCount } cfmFlowMetricsIntNumber OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the interval number identifying the measurement interval. The measurement interval identified by the value '1' represents the most recent measurement interval, and the interval identified by the value (n) represents the interval immediately preceding the interval identified by the value (n-1)." ::= { cfmFlowMetricsIntEntry 1 } cfmFlowMetricsIntValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the data for the measurement interval is valid." ::= { cfmFlowMetricsIntEntry 2 } cfmFlowMetricsIntTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime when the measurement interval was captured." ::= { cfmFlowMetricsIntEntry 3 } cfmFlowMetricsIntConditions OBJECT-TYPE SYNTAX FlowMonitorConditions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates which standing conditions were asserted at least once during the measurement interval for the corresponding traffic flow." ::= { cfmFlowMetricsIntEntry 4 } cfmFlowMetricsIntAlarms OBJECT-TYPE SYNTAX FlowMonitorConditions MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates which alarm conditions were raised at least once during the measurement interval for the corresponding traffic flow." ::= { cfmFlowMetricsIntEntry 5 } cfmFlowMetricsIntAlarmSeverity OBJECT-TYPE SYNTAX CiscoAlarmSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the highest severity alarm raised during the measurement interval for the corresponding traffic flow. If no alarm was raised during the measurement interval for the corresponding traffic flow, then the value of this column is 'cleared'." ::= { cfmFlowMetricsIntEntry 6 } cfmFlowMetricsIntPkts OBJECT-TYPE SYNTAX ReportIntervalCount UNITS "packets" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of packets processed by the corresponding flow monitor for the corresponding traffic flow during the measurement interval." ::= { cfmFlowMetricsIntEntry 7 } cfmFlowMetricsIntOctets OBJECT-TYPE SYNTAX ReportIntervalCount UNITS "octets" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of octets contained by the packets processed by the corresponding flow monitor for the corresponding traffic flow during the measurement interval." ::= { cfmFlowMetricsIntEntry 8 } cfmFlowMetricsIntBitRateUnits OBJECT-TYPE SYNTAX FlowBitRateUnits MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the units for the corresponding instance of cfmFlowMetricsIntBitRate." ::= { cfmFlowMetricsIntEntry 9 } cfmFlowMetricsIntBitRate OBJECT-TYPE SYNTAX ReportIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the bit rate at which the corresponding flow monitor processed data for the corresponding traffic flow during the measurement interval." ::= { cfmFlowMetricsIntEntry 10 } cfmFlowMetricsIntPktRate OBJECT-TYPE SYNTAX ReportIntervalCount UNITS "packets per second" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the packet rate at which the corresponding flow monitor processed data for the corresponding traffic flow during the measurement interval." ::= { cfmFlowMetricsIntEntry 11 } cfmConditions OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 4 } cfmConditionTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmConditionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the standing conditions monitored by the device. The table groups descriptions for standing conditions into condition profiles. The figure below illustrates the relationship between a flow monitor and a conditions profile. Observe that a conditions profile can contain the descriptions for the standing conditions monitored for more than one flow monitor. In this case, the instance of cfmFlowMonitorConditionsProfile for each of these flow monitors would reference the same conditions profile. +------------------------------------------------+ | flow monitor 1 | | | | cfmFlowMonitorConditionsProfile.1 = 42 -----+ | | | | | cfmFlowMonitorConditions.1 | | | N 2 1 0 | | | +-+-...-+-+-+-+ | | | | | | | | | | | | +-+-...-+-+-+-+ | | | ^ ^ ^ ^ | | | | | | | | | +--|-------|-|-|------------------------------|--+ | | | | | | | | | V | | | | +-----------------------------+ | | | | | conditions profile 42 | | | | | | +-------------------------+ | | | | +-----------------| cfmConditionsDescr.42.0 | | | | | | +-------------------------+ | | | | | +-------------------------+ | | | +-------------------| cfmConditionsDescr.42.1 | | | | | +-------------------------+ | | | | +-------------------------+ | | +---------------------| cfmConditionsDescr.42.2 | | | | +-------------------------+ | | | : | | | : | | | +-------------------------+ | +-----------------------------| cfmConditionsDescr.42.N | | | +-------------------------+ | +-----------------------------+ The figure below illustrates the relationship between a traffic flow and a conditions profile. Observe that a conditions profile can contain the descriptions for the standing conditions monitored for more than one traffic flow. In this case, the instance of cfmFlowMetricsConditionsProfile for each of these traffic flows would reference the same conditions profile. +------------------------------------------------+ | traffic flow 201 | | | | cfmFlowMetricsConditionsProfile.1.201 = 54 -+ | | | | | cfmFlowMetricsConditions.1.201 | | | N 2 1 0 | | | +-+-...-+-+-+-+ | | | | | | | | | | | | +-+-...-+-+-+-+ | | | ^ ^ ^ ^ | | | | | | | | | +--|-------|-|-|------------------------------|--+ | | | | | | | | | V | | | | +-----------------------------+ | | | | | conditions profile 54 | | | | | | +-------------------------+ | | | | +-----------------| cfmConditionsDescr.54.0 | | | | | | +-------------------------+ | | | | | +-------------------------+ | | | +-------------------| cfmConditionsDescr.54.1 | | | | | +-------------------------+ | | | | +-------------------------+ | | +---------------------| cfmConditionsDescr.54.2 | | | | +-------------------------+ | | | : | | | : | | | +-------------------------+ | +-----------------------------| cfmConditionsDescr.54.N | | | +-------------------------+ | +-----------------------------+ The figure below illustrates the relationship between the description of a standing condition and an alarm group if the standing condition indicates that the device aggregates the standing condition into an alarm group (i.e., the corresponding instance of cfmConditionAlarm is 'grouped'). +-----------------------------------------+ | conditions profile 42 | | +-------------------------------------+ | | | cfmConditionAlarm.42.9 = 'grouped' |<-------+ | | cfmConditionAlarmGroup.42.9 = 4 -+ | | | | +----------------------------------|--+ |<--+ | | | | | | +------------------------------------|----+ | | V | | +-----------------------------------------+ | | | alarm group 4 | | | | | | | | cfmAlarmGroupConditionsProfile.4 = 42 ------+ | | cfmAlarmGroupConditionId.4 = 9 ----------------+ | | +-----------------------------------------+" ::= { cfmConditions 1 } cfmConditionEntry OBJECT-TYPE SYNTAX CfmConditionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a standing condition monitored by the device. The cfmConditionTable groups descriptions for standing conditions into condition profiles. A device creates a row in the cfmConditionTable when it has been configured to monitor a standing condition for an entity, such as a flow monitor or traffic flow. Likewise, the device destroys a row when it has been configured to cease monitoring a previously configured standing condition." INDEX { cfmConditionProfile, cfmConditionId } ::= { cfmConditionTable 1 } CfmConditionEntry ::= SEQUENCE { cfmConditionProfile FlowMonitorConditionsProfile, cfmConditionId FlowMonitorConditionIdentifier, cfmConditionDescr SnmpAdminString, cfmConditionMonitoredElement AutonomousType, cfmConditionType INTEGER, cfmConditionThreshRiseScale FlowMetricScale, cfmConditionThreshRisePrecision FlowMetricPrecision, cfmConditionThreshRise FlowMetricValue, cfmConditionThreshFallScale FlowMetricScale, cfmConditionThreshFallPrecision FlowMetricPrecision, cfmConditionThreshFall FlowMetricValue, cfmConditionSampleType INTEGER, cfmConditionSampleWindow Unsigned32, cfmConditionAlarm INTEGER, cfmConditionAlarmActions BITS, cfmConditionAlarmSeverity CiscoAlarmSeverity, cfmConditionAlarmGroup FlowMonitorAlarmGroupIdentifier } cfmConditionProfile OBJECT-TYPE SYNTAX FlowMonitorConditionsProfile MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies the condition profile that contains the standing condition. Observe that the value assigned to a standing condition does not necessarily persist across restars." ::= { cfmConditionEntry 1 } cfmConditionId OBJECT-TYPE SYNTAX FlowMonitorConditionIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies the condition within the scope of the profile. The value of this column corresponds to the bit position in a binary string-value representing the standing (or alarm) conditions for an entity, such as a flow monitor or traffic flow. Observe that the value assigned to a standing condition does not necessarily persist across restarts." ::= { cfmConditionEntry 2 } cfmConditionDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a human-readable description of the condition." ::= { cfmConditionEntry 3 } cfmConditionMonitoredElement OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the monitored element used in determining the state of the standing condition." ::= { cfmConditionEntry 4 } cfmConditionType OBJECT-TYPE SYNTAX INTEGER { other(1), boolean(2), risingThreshold(3), fallingThreshold(4), risingAndFallingThreshold(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the type of condition: 'other' The implementation of the MIB does not recognize the condition described by this row. 'boolean' The value monitored only can have one of two values: 'false' or 'true'. In this case, the condition itself evaluates to 'true' if the value itself is 'true'. 'risingThreshold' The condition evaluates to 'true' if the current sample of the monitored value is greater than the rising threshold and the last sample is less than or equal to the rising threshold. 'fallingThreshold' The condition evaluates to 'true' if the current sample of the monitored value is less than the falling threshold and the last sample is greater than or equal to the falling threshold. 'risingAndFallingThreshold' The condition evaluates to 'true' if one of the two criteria is satisfied: 1) The current sample of the monitored value is greater than the rising threshold and the last sample is less than or equal to the rising threhsold. 2) The current sample of the monitored value is less than the falling threshold and the last sample is greater than or equal to the falling threshold." ::= { cfmConditionEntry 5 } cfmConditionThreshRiseScale OBJECT-TYPE SYNTAX FlowMetricScale MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the scaling factor for the corresponding instance of cfmConditionThreshRise. This value of this column only has relevance if the corresponding instance of cfmConditionType is 'risingThreshold' or 'risingAndFallingThreshold'." ::= { cfmConditionEntry 6 } cfmConditionThreshRisePrecision OBJECT-TYPE SYNTAX FlowMetricPrecision MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the precision for the corresponding instance of cfmConditionThreshRise. This value of this column only has relevance if the corresponding instance of cfmConditionType is 'risingThreshold' or 'risingAndFallingThreshold'." ::= { cfmConditionEntry 7 } cfmConditionThreshRise OBJECT-TYPE SYNTAX FlowMetricValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of the rising threshold. This value of this column only has relevance if the corresponding instance of cfmConditionType is 'risingThreshold' or 'risingAndFallingThreshold'." ::= { cfmConditionEntry 8 } cfmConditionThreshFallScale OBJECT-TYPE SYNTAX FlowMetricScale MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the scaling factor for the corresponding instance of cfmConditionThreshFall. The value of this column only has relevance if the corresponding instance of cfmConditionType is 'fallingThreshold' or 'risingAndFallingThreshold'." ::= { cfmConditionEntry 9 } cfmConditionThreshFallPrecision OBJECT-TYPE SYNTAX FlowMetricPrecision MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the precision for the corresponding instance of cfmConditionThreshFall. The value of this column only has relevance if the corresponding instance of cfmConditionType is 'fallingThreshold' or 'risingAndFallingThreshold'." ::= { cfmConditionEntry 10 } cfmConditionThreshFall OBJECT-TYPE SYNTAX FlowMetricValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of the falling threshold. The value of this column only has relevance if the corresponding instance of cfmConditionType is 'fallingThreshold' or 'risingAndFallingThreshold'." ::= { cfmConditionEntry 11 } cfmConditionSampleType OBJECT-TYPE SYNTAX INTEGER { other(1), raw(2), slidingWindowAvg(3), expDecayingAvg(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates how the device samples the monitored value before determining whether to assert the condition: 'other' The implementation of the MIB does not recognize the how the device samples the monitored value. 'raw' The device samples the monitored value and uses this value to determine whether to assert the condition. 'slidingWindowAvg' The device samples the monitored value and maintains a average over a sliding window. It uses this value of this average to determine whether to assert the condition. The corresponding instance of cfmCOnditionSampleWindow indicates the length of the sliding window. 'slidingWindowAverage' The device samples the monitored value and maintains a exponentially decaying average over a sliding window. It uses this value of this average to determine whether to assert the condition. The corresponding instance of cfmCOnditionSampleWindow indicates the length of the sliding window." ::= { cfmConditionEntry 13 } cfmConditionSampleWindow OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the sample window used by the device to compute an exponentially decaying average in the case that the corresponding instance of cfmConditionSampleType is 'averaged'. The value of this column only has relevance if the corresponding instance of cfmConditionSampleWindow is 'slidingWindowAvg' or 'expDecayingAvg." ::= { cfmConditionEntry 14 } cfmConditionAlarm OBJECT-TYPE SYNTAX INTEGER { none(1), discrete(2), grouped(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the device treats the standing condition as an alarm condition: 'none' The device does not treat the standing condition as an alarm condition. 'discrete' The device treats the standing condition as an alarm condition. 'grouped' The device aggregates the standing condition into an alarm group." ::= { cfmConditionEntry 15 } cfmConditionAlarmActions OBJECT-TYPE SYNTAX BITS { syslog(0), snmp(1) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the actions taken by the device when the alarm condition changes state: 'syslog' The device sends a syslog message. 'snmp' The device sends a cfmNotifyAlarm notification if and only if cfmNotifyEnable is set to 'true'. The value of this column only has relevance if the corresponding instance of cfmConditionAlarm is 'discrete'" ::= { cfmConditionEntry 16 } cfmConditionAlarmSeverity OBJECT-TYPE SYNTAX CiscoAlarmSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the severity of the alarm condition. The value of this column only have relevance if the corresponding instance of cfmConditionAlarm is 'discrete'." ::= { cfmConditionEntry 17 } cfmConditionAlarmGroup OBJECT-TYPE SYNTAX FlowMonitorAlarmGroupIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the alarm group the device aggregates the standing condition into. The value of this column only has relevance if the corresponding instance of cfmConditionAlarm is 'grouped'." ::= { cfmConditionEntry 18 } cfmConditionTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device made a change to the cfmConditionTable." ::= { cfmConditions 2 } cfmAlarmGroups OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 5 } cfmAlarmGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmAlarmGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists alarm groups maintained by the device." ::= { cfmAlarmGroups 1 } cfmAlarmGroupEntry OBJECT-TYPE SYNTAX CfmAlarmGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes an alarm group. An alarm group defines an alarm condition that is raised when a configured number of flows in a set of flows asserts a configured standing condition. The figure below illustrates the relationship between an alarm group, a conditions profile, and a flow set. +-----------------------------------------+ | conditions profile 42 | | +-------------------------------------+ | | | cfmConditionAlarm.42.9 = 'grouped' |<-------+ | | cfmConditionAlarmGroup.42.9 = 4 -+ | | | | +----------------------------------|--+ |<--+ | | | | | | +------------------------------------|----+ | | | | | v | | +-----------------------------------------+ | | | alarm group 4 | | | | | | | | cfmAlarmGroupConditionsProfile.4 = 42 ------+ | | cfmAlarmGroupConditionId.4 = 9 ----------------+ | cfmAlarmGroupFlowset.4 = 16 -------+ | | | | +------------------------------------|----+ | v +-----------------------------------------+ | flow set 16 | | | | +------------------------------------+ | | | cfmAlarmGroupFlowId.16.100 | | | +------------------------------------+ | | +------------------------------------+ | | | cfmAlarmGroupFlowId.16.101 | | | +------------------------------------+ | | +------------------------------------+ | | | cfmAlarmGroupFlowId.16.102 | | | +------------------------------------+ | | : | | : | | +------------------------------------+ | | | cfmAlarmGroupFlowId.16.Y | | | +------------------------------------+ | +-----------------------------------------+ A device creates a row in the cfmAlarmGroupTable when it configures a new alarm group. Likewise, the device destroys a row when the alarm group ceases to exist." INDEX { cfmAlarmGroupId } ::= { cfmAlarmGroupTable 1 } CfmAlarmGroupEntry ::= SEQUENCE { cfmAlarmGroupId FlowMonitorAlarmGroupIdentifier, cfmAlarmGroupDescr SnmpAdminString, cfmAlarmGroupConditionsProfile FlowMonitorConditionsProfile, cfmAlarmGroupConditionId FlowMonitorConditionIdentifier, cfmAlarmGroupFlowSet FlowSetIdentifier, cfmAlarmGroupFlowCount Gauge32, cfmAlarmGroupThresholdUnits INTEGER, cfmAlarmGroupThreshold Unsigned32, cfmAlarmGroupRaised TruthValue, cfmAlarmGroupCurrentCount Gauge32 } cfmAlarmGroupId OBJECT-TYPE SYNTAX FlowMonitorAlarmGroupIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies the alarm group. Observe that the value assigned to an alarm group does not necessarily persist across restarts." ::= { cfmAlarmGroupEntry 1 } cfmAlarmGroupDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a human-readable description of the alarm group." ::= { cfmAlarmGroupEntry 2 } cfmAlarmGroupConditionsProfile OBJECT-TYPE SYNTAX FlowMonitorConditionsProfile MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the conditions profile that contains the description of the standing profile aggregated by the alarm group." ::= { cfmAlarmGroupEntry 3 } cfmAlarmGroupConditionId OBJECT-TYPE SYNTAX FlowMonitorConditionIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the standing condition aggregated by the alarm group." ::= { cfmAlarmGroupEntry 4 } cfmAlarmGroupFlowSet OBJECT-TYPE SYNTAX FlowSetIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the set of traffic flows aggregated by the alarm group." ::= { cfmAlarmGroupEntry 5 } cfmAlarmGroupFlowCount OBJECT-TYPE SYNTAX Gauge32 UNITS "traffic flows" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of traffic flows in the set of traffic flows indicated by the corresponding instance of cfmAlarmGroupFlowSet." ::= { cfmAlarmGroupEntry 6 } cfmAlarmGroupThresholdUnits OBJECT-TYPE SYNTAX INTEGER { other(1), flows(2), percent(3) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the units for the corresponding instance of cfmAlarmGroupThreshold: 'other' The MIB implementation does not recognize the units in which the value of the corresponding instance of cfmAlarmGroupThreshold has been expressed. 'flows' The value of the corresponding instance of cfmAlarmGroupThreshold indicates a number of traffic flows. 'percent' The value of the corresponding instance of cfmAlarmGroupThreshold indicates a percentage of traffic flows." ::= { cfmAlarmGroupEntry 7 } cfmAlarmGroupThreshold OBJECT-TYPE SYNTAX Unsigned32 (0..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates a number of flows that must assert the standing condition indicated by the corresponding instance of cfmAlarmGroupCondition before raising an alarm. If the corresponding instance of cfmAlarmGroupThresholdUnits is 'percent', then the value of this column must be greater than or equal to zero and less than or equal to '100'." ::= { cfmAlarmGroupEntry 8 } cfmAlarmGroupRaised OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the alarm group has raised an alarm." ::= { cfmAlarmGroupEntry 9 } cfmAlarmGroupCurrentCount OBJECT-TYPE SYNTAX Gauge32 UNITS "traffic flows" MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the number of traffic flows currently asserting the standing condition aggregated by the alarm group." ::= { cfmAlarmGroupEntry 10 } cfmAlarmGroupTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device made a change to the cfmAlarmGroupTable." ::= { cfmAlarmGroups 2 } cfmAlarmGroupFlowTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmAlarmGroupFlowEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists the traffic flows contained by each set of flows configured for the alarm groups contained by the cfmAlarmGroupTable." ::= { cfmAlarmGroups 3 } cfmAlarmGroupFlowEntry OBJECT-TYPE SYNTAX CfmAlarmGroupFlowEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a traffic flow contained by a set of flows. An alarm group aggregates a standing condition from a set of flows. cfmAlarmFlowSetId uniquely identifies a set of traffic flows. A device creates a row in the cfmAlarmGroupTable under one of the following circumstances: - It has configured a new alarm group, and hence a new set of traffic flows. - It has added a traffic flow to an existing set of flows. Likewise, a device destroys a row under one of the following circumstances: - It has destroyed the set of traffic flows. - It has removed the traffic flow from an existing set of flows." INDEX { cfmAlarmGroupFlowSetId, cfmAlarmGroupFlowMonitorId, cfmAlarmGroupFlowId } ::= { cfmAlarmGroupFlowTable 1 } CfmAlarmGroupFlowEntry ::= SEQUENCE { cfmAlarmGroupFlowSetId FlowSetIdentifier, cfmAlarmGroupFlowMonitorId FlowMonitorIdentifier, cfmAlarmGroupFlowId FlowIdentifier } cfmAlarmGroupFlowSetId OBJECT-TYPE SYNTAX FlowSetIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies the set of traffic flows that contains the traffic flow represented by the row. Observe that the value assigned to a flow set does not necessarily persist across restarts." ::= { cfmAlarmGroupFlowEntry 1 } cfmAlarmGroupFlowMonitorId OBJECT-TYPE SYNTAX FlowMonitorIdentifier MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the flow monitor responsible for the traffic flow." ::= { cfmAlarmGroupFlowEntry 2 } cfmAlarmGroupFlowId OBJECT-TYPE SYNTAX FlowIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the traffic flow." ::= { cfmAlarmGroupFlowEntry 3 } cfmAlarmGroupFlowTableChanged OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime the last time the device made a change to the cfmAlarmGroupTable." ::= { cfmAlarmGroups 4 } cfmAlarmHistory OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 6 } cfmAlarmHistorySize OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies the maximum number of rows the cfmAlarmHistoryTable can contain at any given time. If the device raises or clears an alarm and the cfmAlarmHistoryTable already contains a number of rows equal to the value of this object, then it destroys the oldest row before creating a new one." DEFVAL { 500 } ::= { cfmAlarmHistory 1 } cfmAlarmHistoryLastId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of cfmAlarmHistoryId corresponding to the last row created in the cfmAlarmHistoryTable." ::= { cfmAlarmHistory 2 } cfmAlarmHistoryTable OBJECT-TYPE SYNTAX SEQUENCE OF CfmAlarmHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table lists a history of the changes in the state of alarm conditions monitored by the device." ::= { cfmAlarmHistory 3 } cfmAlarmHistoryEntry OBJECT-TYPE SYNTAX CfmAlarmHistoryEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes the change in the state of an alarm condition observed by the device. The device creates a row in the cfmAlarmHistoryTable when it observes a change in the state of an alarm condition. The device destroys a row in the cfmAlarmHistoryTable when it needs to create a new row, but the number of rows contained by the cfmAlarmHistoryTable is equal to the value of cfmAlarmHistorySize." INDEX { cfmAlarmHistoryId } ::= { cfmAlarmHistoryTable 1 } CfmAlarmHistoryEntry ::= SEQUENCE { cfmAlarmHistoryId Unsigned32, cfmAlarmHistoryType INTEGER, cfmAlarmHistoryEntity RowPointer, cfmAlarmHistoryConditionsProfile FlowMonitorConditionsProfile, cfmAlarmHistoryConditionId FlowMonitorConditionIdentifier, cfmAlarmHistorySeverity CiscoAlarmSeverity, cfmAlarmHistoryTime TimeStamp } cfmAlarmHistoryId OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates an arbitrary integer-value that uniquely identifies the event. Observe that the value assigned to a alarm history entry does not necessarily persist across restarts." ::= { cfmAlarmHistoryEntry 1 } cfmAlarmHistoryType OBJECT-TYPE SYNTAX INTEGER { cleared(1), raised(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the type of event: 'cleared' The event signaled an alarm condition transitioning to the cleared state. 'raised' The event signalled an alarm condition transitioning to the raised state." ::= { cfmAlarmHistoryEntry 2 } cfmAlarmHistoryEntity OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the entity that caused the event. If the alarm condition has an association with a flow monitor, then the value of this column is a row in the cfmFlowMonitorTable. If the alarm condition has an association with a traffic flow, then the value of this column is a row in the cfmFlowTable. If the alarm condition has an association with a alarm group, then the value of this column is a row in the cfmAlarmGroupTable." ::= { cfmAlarmHistoryEntry 3 } cfmAlarmHistoryConditionsProfile OBJECT-TYPE SYNTAX FlowMonitorConditionsProfile MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the conditions profile containing the description of the alarm condition that changed state." ::= { cfmAlarmHistoryEntry 4 } cfmAlarmHistoryConditionId OBJECT-TYPE SYNTAX FlowMonitorConditionIdentifier MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the alarm condition that changed state." ::= { cfmAlarmHistoryEntry 5 } cfmAlarmHistorySeverity OBJECT-TYPE SYNTAX CiscoAlarmSeverity MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the severity of the alarm condition that changed state." ::= { cfmAlarmHistoryEntry 6 } cfmAlarmHistoryTime OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the value of sysUpTime when the alarm condition changed state. In the case the device updates standing/alarm conditions at the same time it captures a measurement interval, the value of this column should correlate with the corresponding value of cfmFlowMetricsIntTime. This assures that the EMS/NMS can easily correlate alarms with the metrics captured in the course of a measurement interval." ::= { cfmAlarmHistoryEntry 7 } cfmNotify OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBObjects 7 } cfmNotifyEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object specifies whether the device generates a cfmNotifyAlarm notification when an alarm condition changes state." ::= { cfmNotify 1 } -- ********************************************************************* -- * Notifications * -- ********************************************************************* cfmNotifyAlarm NOTIFICATION-TYPE OBJECTS { cfmAlarmHistoryType, cfmAlarmHistoryEntity, cfmAlarmHistoryConditionsProfile, cfmAlarmHistoryConditionId, cfmAlarmHistorySeverity, cfmAlarmHistoryTime } STATUS current DESCRIPTION "The device generates this notification when an alarm condition has changed state and the value of cfmNOtifyEnable is 'true'." ::= { ciscoFlowMonitorMIBNotifs 1 } -- ********************************************************************* -- * Object Identifiers * -- ********************************************************************* cfmMonitoredElements OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBIds 1 } cfmeOther OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents a monitored element not recognized by this implementation of the MIB module." ::= { cfmMonitoredElements 1 } cfmeFlowCount OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the number of traffic flows currently monitored by a flow monitor (cfmFlowMonitorFlowCount)." ::= { cfmMonitoredElements 2 } cfmeFlowTimeouts OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the number of traffic flows that expired during the last measurement interval." ::= { cfmMonitoredElements 3 } cfmeFlowStop OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the condition that arises when a flow monitor does not receive any packets for a traffic flow during the last measurement interval." ::= { cfmMonitoredElements 4 } cfmeFlowCumulativeBitRate OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the average rate at which a flow monitor processes bits contained by packets for a traffic flow (cfmFlowMetricsBitRate)." ::= { cfmMonitoredElements 5 } cfmeFlowCumulativePktRate OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the average rate at which a flow monitor processes packets for a traffic flow (cfmFlowMetricsPktRate)." ::= { cfmMonitoredElements 6 } cfmeFlowBitRate OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the average rate at which a flow monitor processes bits contained by packets for a traffic flow during the last measurement interval (cfmFlowMetricsIntBitRate)." ::= { cfmMonitoredElements 7 } cfmeFlowPktRate OBJECT-IDENTITY STATUS current DESCRIPTION "This object identifier represents the monitored element describing the average rate at which a flow monitor processes packets for a traffic flow during the last measurement interval (cfmFlowMetricsIntPktRate)." ::= { cfmMonitoredElements 8 } -- ********************************************************************* -- * Conformance * -- ********************************************************************* ciscoFlowMonitorMIBCompliances OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBConform 1 } ciscoFlowMonitorMIBGroups OBJECT IDENTIFIER ::= { ciscoFlowMonitorMIBConform 2 } ciscoFlowMonitorCompliance01 MODULE-COMPLIANCE STATUS current DESCRIPTION "This compliance statement specifies the minimal requirements an implementation must meet in order to claim full compliance with the definition of the CISCO-FLOW-MONITOR-MIB." MODULE -- this module MANDATORY-GROUPS { cfmFlowMonitorGroup, cfmFlowGroup, cfmFlowMetricsGroup, cfmFlowConditionsGroup, cfmAlarmAggregationGroup, cfmAlarmHistoryGroup, cfmNotifySupportGroup, cfmNotifyGroup } ::= { ciscoFlowMonitorMIBCompliances 1 } -- ********************************************************************* -- * Units of Conformance * -- ********************************************************************* cfmFlowMonitorGroup OBJECT-GROUP OBJECTS { cfmFlowMonitorDescr, cfmFlowMonitorCaps, cfmFlowMonitorFlowCount, cfmFlowMonitorConditionsProfile, cfmFlowMonitorConditions, cfmFlowMonitorAlarms, cfmFlowMonitorAlarmSeverity, cfmFlowMonitorAlarmCriticalCount, cfmFlowMonitorAlarmMajorCount, cfmFlowMonitorAlarmMinorCount, cfmFlowMonitorAlarmWarningCount, cfmFlowMonitorAlarmInfoCount, cfmFlowMonitorTableChanged } STATUS current DESCRIPTION "This group contains objects describing flow monitors." ::= { ciscoFlowMonitorMIBGroups 1 } cfmFlowGroup OBJECT-GROUP OBJECTS { cfmFlowDescr, cfmFlowNext, cfmFlowCreateTime, cfmFlowDiscontinuityTime, cfmFlowExpirationTime, cfmFlowDirection, cfmFlowAdminStatus, cfmFlowOperStatus, cfmFlowIngressType, cfmFlowIngress, cfmFlowEgressType, cfmFlowEgress, cfmFlowTableChanged, cfmFlowL2VlanNext, cfmFlowL2VlanId, cfmFlowL2VlanCos, cfmFlowL2VlanTableChanged, cfmFlowIpNext, cfmFlowIpAddrType, cfmFlowIpAddrSrc, cfmFlowIpAddrDst, cfmFlowIpValid, cfmFlowIpTrafficClass, cfmFlowIpHopLimit, cfmFlowIpTableChanged, cfmFlowUdpNext, cfmFlowUdpPortSrc, cfmFlowUdpPortDst, cfmFlowUdpTableChanged, cfmFlowTcpNext, cfmFlowTcpPortSrc, cfmFlowTcpPortDst, cfmFlowTcpTableChanged, cfmFlowRtpNext, cfmFlowRtpVersion, cfmFlowRtpSsrc, cfmFlowRtpPayloadType, cfmFlowRtpTableChanged } STATUS current DESCRIPTION "This group contains objects describing traffic flows." ::= { ciscoFlowMonitorMIBGroups 2 } cfmFlowMetricsGroup OBJECT-GROUP OBJECTS { cfmFlowMetricsCollected, cfmFlowMetricsIntervalTime, cfmFlowMetricsMaxIntervals, cfmFlowMetricsElapsedTime, cfmFlowMetricsIntervals, cfmFlowMetricsInvalidIntervals, cfmFlowMetricsConditionsProfile, cfmFlowMetricsConditions, cfmFlowMetricsAlarms, cfmFlowMetricsAlarmSeverity, cfmFlowMetricsPkts, cfmFlowMetricsOctets, cfmFlowMetricsBitRateUnits, cfmFlowMetricsBitRate, cfmFlowMetricsPktRate, cfmFlowMetricsTableChanged, cfmFlowMetricsIntValid, cfmFlowMetricsIntTime, cfmFlowMetricsIntConditions, cfmFlowMetricsIntAlarms, cfmFlowMetricsIntAlarmSeverity, cfmFlowMetricsIntPkts, cfmFlowMetricsIntOctets, cfmFlowMetricsIntBitRateUnits, cfmFlowMetricsIntBitRate, cfmFlowMetricsIntPktRate } STATUS current DESCRIPTION "This group contains objects describing traffic flow metrics." ::= { ciscoFlowMonitorMIBGroups 3 } cfmFlowConditionsGroup OBJECT-GROUP OBJECTS { cfmConditionDescr, cfmConditionMonitoredElement, cfmConditionType, cfmConditionThreshRiseScale, cfmConditionThreshRisePrecision, cfmConditionThreshRise, cfmConditionThreshFallScale, cfmConditionThreshFallPrecision, cfmConditionThreshFall, cfmConditionSampleType, cfmConditionSampleWindow, cfmConditionAlarm, cfmConditionAlarmActions, cfmConditionAlarmSeverity, cfmConditionAlarmGroup, cfmConditionTableChanged } STATUS current DESCRIPTION "This group contains objects describing standing/alarm conditions." ::= { ciscoFlowMonitorMIBGroups 4 } cfmAlarmAggregationGroup OBJECT-GROUP OBJECTS { cfmAlarmGroupDescr, cfmAlarmGroupConditionsProfile, cfmAlarmGroupConditionId, cfmAlarmGroupFlowSet, cfmAlarmGroupFlowCount, cfmAlarmGroupThresholdUnits, cfmAlarmGroupThreshold, cfmAlarmGroupRaised, cfmAlarmGroupCurrentCount, cfmAlarmGroupTableChanged, cfmAlarmGroupFlowId, cfmAlarmGroupFlowTableChanged } STATUS current DESCRIPTION "This group contains object describing alarm aggregation." ::= { ciscoFlowMonitorMIBGroups 5 } cfmAlarmHistoryGroup OBJECT-GROUP OBJECTS { cfmAlarmHistorySize, cfmAlarmHistoryLastId, cfmAlarmHistoryType, cfmAlarmHistoryEntity, cfmAlarmHistoryConditionsProfile, cfmAlarmHistoryConditionId, cfmAlarmHistorySeverity, cfmAlarmHistoryTime } STATUS current DESCRIPTION "This group contains objects describing alarm history." ::= { ciscoFlowMonitorMIBGroups 6 } cfmNotifySupportGroup OBJECT-GROUP OBJECTS { cfmNotifyEnable } STATUS current DESCRIPTION "This group contains objects supporting notification." ::= { ciscoFlowMonitorMIBGroups 7 } cfmNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS { cfmNotifyAlarm } STATUS current DESCRIPTION "This group contains notifications supporting flow monitoring." ::= { ciscoFlowMonitorMIBGroups 8 } END