draft-ietf-rtfm-acct-meter-mib-00.txt   rfc2064.txt 
Internet Engineering Task Force Nevil Brownlee Network Working Group N. Brownlee
INTERNET-DRAFT The University of Auckland Request for Comments: 2064 The University of Auckland
Feb 1996 Category: Experimental January 1997
Traffic Flow Measurement: Meter MIB Traffic Flow Measurement: Meter MIB
<draft-ietf-rtfm-acct-meter-mib-00.txt>
Status of this Memo Status of this Memo
This document is an Internet Draft. Internet Drafts are working This memo defines an Experimental Protocol for the Internet
documents of the Internet Engineering Task Force (IETF), its Areas, and community. This memo does not specify an Internet standard of any
its Working Groups. Note that other groups may also distribute working kind. Discussion and suggestions for improvement are requested.
documents as Internet Drafts. This Internet Draft is a product of the Distribution of this memo is unlimited.
Realtime Traffic Flow Measurement Working Group of the IETF.
Internet Drafts are draft documents valid for a maximum of six months.
Internet Drafts may be updated, replaced, or obsoleted by other
documents at any time. It is not appropriate to use Internet Drafts as
reference material or to cite them other than as a "working draft" or
"work in progress."
Please check the I-D abstract listing contained in the internet-drafts
Shadow Directories on nic.ddn.mil, nnsc.nsf.net, nic.nordu.net,
ftp.nisc.sri.com or munnari.oz.au to learn the current status of this or
any other Internet Draft.
Abstract Abstract
This memo defines an experimental portion of the Management Information This memo defines a portion of the Management Information Base (MIB)
Base (MIB) for use with network management protocols in TCP/IP-based for use with network management protocols in TCP/IP-based internets.
internets. In particular, this memo defines managed objects used for In particular, this memo defines managed objects used for obtaining
obtaining traffic flow information from network traffic meters. traffic flow information from network traffic meters.
Contents
1 The Network Management Framework 1
2 Objects 2
2.1 Format of Definitions . . . . . . . . . . . . . . . . . . . . 3
3 Overview 3
3.1 Scope of Definitions, Textual Conventions . . . . . . . . . . 3
3.2 Usage of the MIB variables . . . . . . . . . . . . . . . . . . 4
4 Definitions 5
5 Acknowledgements 33
6 References 33
7 Security Considerations 34 Table of Contents
8 Author's Address 34 1 The Network Management Framework . . . . . . . . . . . . . . . . 1
2 Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 Format of Definitions . . . . . . . . . . . . . . . . . . . 3
3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.1 Scope of Definitions, Textual Conventions . . . . . . . . . 3
3.2 Usage of the MIB variables . . . . . . . . . . . . . . . . 4
4 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 37
6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
7 Security Considerations . . . . . . . . . . . . . . . . . . . . 38
8 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 38
1 The Network Management Framework 1 The Network Management Framework
The Internet-standard Network Management Framework consists of three The Internet-standard Network Management Framework consists of three
components. They are: components. They are:
RFC 1155 defines the SMI, the mechanisms used for describing RFC 1155 defines the SMI, the mechanisms used for describing and
and naming objects for the purpose of management. RFC 1212 naming objects for the purpose of management. STD 16, RFC 1212
defines a more concise description mechanism, which is wholly defines a more concise description mechanism, which is wholly
consistent with the SMI. consistent with the SMI.
RFC 1156 defines MIB-I, the core set of managed objects for the RFC 1156 defines MIB-I, the core set of managed objects for the
Internet suite of protocols. RFC 1213 [1] defines MIB-II, an Internet suite of protocols. STD 17, RFC 1213 [1] defines MIB-II,
evolution of MIB-I based on implementation experience and new an evolution of MIB-I based on implementation experience and new
operational requirements. operational requirements.
RFC 1157 defines the SNMP, the protocol used for network access STD 15, RFC 1157 defines the SNMP, the protocol used for network
to managed objects. access to managed objects.
RFC 1442 [2] defines the SMI for version 2 of the Simple RFC 1442 [2] defines the SMI for version 2 of the Simple Network
Network Management Protocol. Management Protocol.
RFCs 1443 and 1444 [3,4] define Textual Conventions and RFCs 1443 and 1444 [3,4] define Textual Conventions and
Conformance Statements for version 2 of the Simple Network Conformance Statements for version 2 of the Simple Network
Management Protocol. Management Protocol.
RFC 1452 [5] describes how versions 1 and 2 of the Simple RFC 1452 [5] describes how versions 1 and 2 of the Simple Network
Network Management Protocol should coexist. Management Protocol should coexist.
The Framework permits new objects to be defined for the purpose of The Framework permits new objects to be defined for the purpose of
experimentation and evaluation. experimentation and evaluation.
2 Objects 2 Objects
Managed objects are accessed via a virtual information store, termed the Managed objects are accessed via a virtual information store, termed
Management Information Base or MIB. Objects in the MIB are defined using the Management Information Base or MIB. Objects in the MIB are
the subset of Abstract Syntax Notation One (ASN.1) [6] defined in the defined using the subset of Abstract Syntax Notation One (ASN.1) [6]
SMI. In particular, each object has a name, a syntax, and an encoding. defined in the SMI. In particular, each object has a name, a syntax,
The name is an object identifier, an administratively assigned name, and an encoding. The name is an object identifier, an
which specifies an object type. The object type together with an object administratively assigned name, which specifies an object type. The
instance serves to uniquely identify a specific instantiation of the object type together with an object instance serves to uniquely
object. For human convenience, we often use a textual string, termed identify a specific instantiation of the object. For human
the OBJECT DESCRIPTOR, to also refer to the object type. convenience, we often use a textual string, termed the OBJECT
DESCRIPTOR, to also refer to the object type.
The syntax of an object type defines the abstract data structure The syntax of an object type defines the abstract data structure
corresponding to that object type. The ASN.1 language is used for this corresponding to that object type. The ASN.1 language is used for
purpose. However, the SMI [2] purposely restricts the ASN.1 constructs this purpose. However, the SMI [2] purposely restricts the ASN.1
which may be used. These restrictions are explicitly made for constructs which may be used. These restrictions are explicitly made
simplicity. for simplicity.
The encoding of an object type is simply how that object type is The encoding of an object type is simply how that object type is
represented using the object type's syntax. Implicitly tied to the represented using the object type's syntax. Implicitly tied to the
notion of an object type's syntax and encoding is how the object type is notion of an object type's syntax and encoding is how the object type
represented when being transmitted on the network. is represented when being transmitted on the network.
The SMI specifies the use of the basic encoding rules of ASN.1 [7], The SMI specifies the use of the basic encoding rules of ASN.1 [7],
subject to the additional requirements imposed by the SNMP. subject to the additional requirements imposed by the SNMP.
2.1 Format of Definitions 2.1 Format of Definitions
Section 4 contains contains the specification of all object types Section 4 contains contains the specification of all object types
contained in this MIB module. These object types are defined using the contained in this MIB module. These object types are defined using
conventions defined in [2] and [3]. the conventions defined in [2] and [3].
3 Overview 3 Overview
Traffic Flow Measurement seeks to provide a well-defined method for Traffic Flow Measurement seeks to provide a well-defined method for
gathering traffic flow information from networks and internetworks. The gathering traffic flow information from networks and internetworks.
background for this is given in "Traffic Flow Measurement: Background" The background for this is given in "Traffic Flow Measurement:
[8]. The Realtime Traffic Flow Measurement (rtfm) Working Group has Background" [8]. The Realtime Traffic Flow Measurement (rtfm)
produced a measurement architecture to achieve it; this is documented in Working Group has produced a measurement architecture to achieve it;
"Traffic Flow Measurement: Architecture" [9]. The architecture defines this is documented in "Traffic Flow Measurement: Architecture" [9].
three entities: The architecture defines three entities:
- METERS, which observe network traffic flows and build up a table of - METERS, which observe network traffic flows and build up a
flow data records for them, table of flow data records for them,
- METER REAERS, which collect traffic flow data from meters, and - METER REAERS, which collect traffic flow data from meters, and
- MANAGERS, which oversee the operation of meters and meter readers. - MANAGERS, which oversee the operation of meters and meter readers.
This memo defines the SNMP management information for a Traffic Flow This memo defines the SNMP management information for a Traffic Flow
Meter (TFM). It documents the earlier work of the Internet Accounting Meter (TFM). It documents the earlier work of the Internet Accounting
Working Group, and is intended to provide a starting point for the Working Group, and is intended to provide a starting point for the
Realtime Traffic Flow Measurement Working Group. Realtime Traffic Flow Measurement Working Group.
3.1 Scope of Definitions, Textual Conventions 3.1 Scope of Definitions, Textual Conventions
All objects defined in this memo are registered in a single subtree All objects defined in this memo are registered in a single subtree
within the mib-2 namespace [1,2], and are for use in network devices within the mib-2 namespace [1,2], and are for use in network devices
which may perform a PDU forwarding or monitoring function. For these which may perform a PDU forwarding or monitoring function. For these
devices, the value of the ifSpecific variable in the MIB-II [1] has the devices, the value of the ifSpecific variable in the MIB-II [1] has
OBJECT IDENTIFIER value: the OBJECT IDENTIFIER value:
flowMIB OBJECT IDENTIFIER ::= mib-2 40 flowMIB OBJECT IDENTIFIER ::= mib-2 40
as defined below. as defined below.
The RTFM Meter MIB was first produced and tested using SNMPv1. It has The RTFM Meter MIB was first produced and tested using SNMPv1. It
been converted into SNMPv2 following the guidelines in RFC 1452 [5]. has been converted into SNMPv2 following the guidelines in RFC 1452
[5].
3.2 Usage of the MIB variables 3.2 Usage of the MIB variables
The MIB breaks into four parts - control, flows, rules and conformance The MIB breaks into four parts - control, flows, rules and
statements. conformance statements.
The rules implement the minumum set of packet-matching actions, as set The rules implement the minumum set of packet-matching actions, as
out in the "Traffic Flow Measurment: Architecture" document [9]. In set out in the "Traffic Flow Measurment: Architecture" document [9].
addition they provide for BASIC-style subroutines, allowing a network In addition they provide for BASIC-style subroutines, allowing a
manager to dramatically reduce the number of rules required to monitor a network manager to dramatically reduce the number of rules required
big network. to monitor a big network.
Traffic flows are identified by a set of attributes for each of its Traffic flows are identified by a set of attributes for each of its
end-points. Attributes include network addresses for each layer of the end-points. Attributes include network addresses for each layer of
network protocol stack, and 'subscriber ids,' which may be used to the network protocol stack, and 'subscriber ids,' which may be used
identify an accountable entity for the flow. to identify an accountable entity for the flow.
The conformance statements are set out as defined in [4]. They explain The conformance statements are set out as defined in [4]. They
what must be implemented in a meter which claims to conform to this MIB. explain what must be implemented in a meter which claims to conform
to this MIB.
To retrieve flow data one could simply do a linear scan of the flow To retrieve flow data one could simply do a linear scan of the flow
table. This would certainly work, but would require a lot of protocol table. This would certainly work, but would require a lot of
exchanges. To reduce the overhead in retrieving flow data, there are protocol exchanges. To reduce the overhead in retrieving flow data
two 'indexes' into the flow table. The 'activity' index makes it easy the flow table uses a TimeFilter variable, defined as a Textual
to find those flows which have been active at or after a given time; Convention in the RMON2 MIB [10]. This, when used together with
this allows retrieval of flow data without using an opaque object. SNMPv2's GetBulk request, allows a meter reader to scan the flow
table and upload a specified set of flow attributes for those rows
which have changed since the last reading.
The other index is the flowColumnActivityTable, which is (logically) a As an alternative method of reading flow data, the MIB provides an
three-dimensional array, subscripted by flow attribute, activity time index into the flow table called flowColumnActivityTable. This is
and starting flow number. This allows a meter reader to retrieve (in an (logically) a three-dimensional array, subscripted by flow attribute,
opaque object) data for a column of the flow table with a minimum of activity time and starting flow number. This allows a meter reader
SNMP overhead. An attempt has been made to include a full ASN.1 to retrieve (in an opaque object) data for a column of the flow table
definition of the flowColumnActivityData object. with a minimum of SNMP overhead. An attempt has been made to include
a full ASN.1 definition of the flowColumnActivityData object.
One aspect of data collection which needs emphasis is that all the MIB One aspect of data collection which needs emphasis is that all the
variables are set up to allow multiple independent colletors to work MIB variables are set up to allow multiple independent colletors to
properly, i.e. the flow table indexes are stateless. An alternative work properly, i.e. the flow table indexes are stateless. An
approach would have been to 'snapshot' the flow table, which would mean alternative approach would have been to 'snapshot' the flow table,
that the meter readers would have to be synchronized. The stateless which would mean that the meter readers would have to be
approach does mean that two meter readers will never return exactly the synchronized. The stateless approach does mean that two meter
same set of traffic counts, but over long periods (e.g. 15-minute readers will never return exactly the same set of traffic counts, but
collections over a day) the discrepancies are acceptable. If one really over long periods (e.g. 15-minute collections over a day) the
needs a snapshot, this can be achieved by switching to an identical rule discrepancies are acceptable. If one really needs a snapshot, this
set with a different RuleSet number, hence asynchronous collections may can be achieved by switching to an identical rule set with a
be regarded as a useful generalisation of synchronised ones. different RuleSet number, hence asynchronous collections may be
regarded as a useful generalisation of synchronised ones.
The control variables are the minimum set required for a meter reader. The control variables are the minimum set required for a meter
Their number has been whittled down as experience has been gained with reader. Their number has been whittled down as experience has been
the MIB implementation. gained with the MIB implementation. A few of them are 'general,'
i.e. they control the overall behaviour of the meter. These are set
by a single 'master' manager, and no other manager should attempt to
change their values. The decision as to which manager is the
'master' must be made by the network operations personnel
responsible; this MIB does not attempt to provide any support for
interaction between managers.
There are three other groups of control groups, arranged into tables
in the same way as in the RMON MIB [10]. They are used as follows:
- RULE SET INFO: Before attempting to download a rule table a manager
must create a row in the flowRuleSetInfo with flowRuleInfoStatus
set to 'createAndWait.' When the rule set is ready the manager
must set RuleSetInfo to 'active,' indicating that the rule set is
ready for use.
- METER READER INFO: Any meter reader wishing to collect data
reliably for all flows should first create a row in the
flowReaderInfoTable with flowReaderStatus set to 'active.' It
should write that row's flowReaderLastTime object each time it
starts a collection pass through the flow table. The meter will
not recover a flow's memory until every meter reader holding a row
in this table has collected that flow's data.
- MANAGER INFO: Any manager wishing to download rule sets to the
meter must create a row in the flowManagerInfo table with
flowManagerStatus set to 'active.'. Once it has a table row, the
manager may set the control variables in its row so as to cause the
meter to run any valid rule set held by the meter.
4 Definitions 4 Definitions
FLOW-METER-MIB DEFINITIONS ::= BEGIN FLOW-METER-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, TimeTicks, MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, TimeTicks
IpAddress
FROM SNMPv2-SMI FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, TimeStamp TEXTUAL-CONVENTION, RowStatus, TimeStamp
FROM SNMPv2-TC FROM SNMPv2-TC
OBJECT-GROUP, MODULE-COMPLIANCE OBJECT-GROUP, MODULE-COMPLIANCE
FROM SNMPv2-CONF FROM SNMPv2-CONF
mib-2, ifIndex mib-2, ifIndex
FROM RFC1213-MIB; FROM RFC1213-MIB
OwnerString
FROM RMON-MIB;
flowMIB MODULE-IDENTITY flowMIB MODULE-IDENTITY
LAST-UPDATED "9602080845Z" LAST-UPDATED "9603080208Z"
ORGANIZATION "IETF Realtime Traffic Flow Measurement Working Group" ORGANIZATION "IETF Realtime Traffic Flow Measurement Working Group"
CONTACT-INFO CONTACT-INFO
"Nevil Brownlee, The University of Auckland "Nevil Brownlee, The University of Auckland
Email: n.brownlee@auckland.ac.nz" Email: n.brownlee@auckland.ac.nz"
DESCRIPTION DESCRIPTION
"MIB for the RTFM Traffic Flow Meter." "MIB for the RTFM Traffic Flow Meter."
::= { mib-2 40 } ::= { mib-2 40 }
flowControl OBJECT IDENTIFIER ::= { flowMIB 1 } flowControl OBJECT IDENTIFIER ::= { flowMIB 1 }
flowData OBJECT IDENTIFIER ::= { flowMIB 2 } flowData OBJECT IDENTIFIER ::= { flowMIB 2 }
flowRules OBJECT IDENTIFIER ::= { flowMIB 3 } flowRules OBJECT IDENTIFIER ::= { flowMIB 3 }
flowMIBConformance OBJECT IDENTIFIER ::= { flowMIB 4 } flowMIBConformance OBJECT IDENTIFIER ::= { flowMIB 4 }
-- Textual Conventions -- Textual Conventions
TimeFilter ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Used as an index to a table. A TimeFilter variable allows
a GetNext or GetBulk request to find rows in a table for
which the TimeFilter index variable is greater than or equal
to a specified value. For example, a meter reader could
find all rows in the flow table which have been active at or
since a specified time.
More details on TimeFilter variables, their implementation
and use can be found in the RMON2 MIB [10]."
SYNTAX TimeTicks
AddressType ::= TEXTUAL-CONVENTION AddressType ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Indicates the type of an adjacent address or peer address. "Indicates the type of an adjacent address or peer address.
The type of a transport address will depend on the peer The values used are from the 'Address Family Numbers' section
address type." of the Assigned Numbers RFC [11]."
SYNTAX INTEGER { SYNTAX INTEGER {
ethernetAddress(1), ip(1),
ipAddress(2), nsap(3),
nsapAddress(3), ieee802(6),
idprAddress(4), ipx(11),
decnetAddress(5), appletalk(12),
ipxnetAddress(6), decnet(13) }
ethertalkAddress(7),
fddiAddress(8),
tokenringAddress(9) }
AdjacentAddress ::= TEXTUAL-CONVENTION AdjacentAddress ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the value of an adjacent address for various "Specifies the value of an adjacent address for various
physical media. Address format depends on the actual media, media. The values used for IEEE 802 media are from the
as follows: 'Network Management Parameters (ifType definitions)'
section of the Assigned Numbers RFC [11]. Address format
depends on the actual media, as follows:
Ethernet: ethernetAddress(1) Ethernet: ethernet(7)
6-octet 802.3 MAC address in 'canonical' order 6-octet 802.3 MAC address in 'canonical' order
FDDI: fddiAddress(3) FDDI: fddi(15)
FddiMACLongAddress, i.e. a 6-octet MAC address FddiMACLongAddress, i.e. a 6-octet MAC address
in 'canonical' order (defined in the FDDI MIB [10]) in 'canonical' order (defined in the FDDI MIB [12])
Token Ring: tokenringAddress(4) Token Ring: tokenring(9)
6-octet 802.5 MAC address in 'canonical' order 6-octet 802.5 MAC address in 'canonical' order
PeerAddress: other(1)
If traffic is being metered inside a tunnel, its
adjacent addresses will be the peer addresses of hosts
at the ends of the tunnel
" "
SYNTAX OCTET STRING (SIZE (6)) SYNTAX OCTET STRING (SIZE (6..20))
PeerAddress ::= TEXTUAL-CONVENTION PeerAddress ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the value of a peer address for various network "Specifies the value of a peer address for various network
protocols. Address format depends on the actual protocol, protocols. Address format depends on the actual protocol,
as follows: as follows:
IP: ipAddress(2) IP: ip(1)
4-octet IpAddress (defined in the SNMPv2 SMI [2]) 4-octet IpAddress (defined in the SNMPv2 SMI [2])
CLNS: nsapAddress(3) CLNS: nsap(3)
NsapAddress (defined in the SNMPv2 SMI [2]) NsapAddress (defined in the SNMPv2 SMI [2])
IDRP: idprAddress(4) Novell: ipx(11)
InterDomain Routing Protocol (a version of BGP)
DECnet: decnetAddress(5)
1-octet Area number (in low-order six bits),
2-octet Host number (in low-order ten bits)
Novell: ipxnetAddress(6)
4-octet Network number, 4-octet Network number,
6-octet Host number (MAC address) 6-octet Host number (MAC address)
AppleTalk: ethertalkAddress(7) AppleTalk: appletalk(12)
2-octet Network number (sixteen bits), 2-octet Network number (sixteen bits),
1-octet Host number (eight bits) 1-octet Host number (eight bits)
DECnet: decnet(13)
1-octet Area number (in low-order six bits),
2-octet Host number (in low-order ten bits)
" "
SYNTAX OCTET STRING (SIZE (3..20)) SYNTAX OCTET STRING (SIZE (3..20))
TransportAddress ::= TEXTUAL-CONVENTION TransportAddress ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the value of a transport address for various "Specifies the value of a transport address for various
network protocols. Format as follows: network protocols. Format as follows:
IP: IP:
skipping to change at page 8, line 12 skipping to change at page 9, line 4
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Specifies the value of an address. Is a superset of "Specifies the value of an address. Is a superset of
AdjacentAddress, PeerAddress and TransportAddress." AdjacentAddress, PeerAddress and TransportAddress."
SYNTAX OCTET STRING (SIZE (2..20)) SYNTAX OCTET STRING (SIZE (2..20))
FlowAttributeNumber ::= TEXTUAL-CONVENTION FlowAttributeNumber ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Uniquely identifies an attribute within a flow data record." "Uniquely identifies an attribute within a flow data record."
SYNTAX INTEGER { SYNTAX INTEGER {
flowIndex(1), flowIndex(1),
flowStatus(2), flowStatus(2),
sourceInterface(3), -- Source Address flowTimeMark(3),
sourceAdjacentType(4),
sourceAdjacentAddress(5), sourceInterface(4),
sourceAdjacentMask(6), sourceAdjacentType(5),
sourcePeerType(7), sourceAdjacentAddress(6),
sourcePeerAddress(8), sourceAdjacentMask(7),
sourcePeerMask(9), sourcePeerType(8),
sourceTransType(10), sourcePeerAddress(9),
sourceTransAddress(11), sourcePeerMask(10),
sourceTransMask(12), sourceTransType(11),
destInterface(13), -- Dest Address sourceTransAddress(12),
destAdjacentType(14), sourceTransMask(13),
destAdjacentAddress(15),
destAdjacentMask(16), destInterface(14),
destPeerType(17), destAdjacentType(15),
destPeerAddress(18), destAdjacentAddress(16),
destPeerMask(19), destAdjacentMask(17),
destTransType(20), destPeerType(18),
destTransAddress(21), destPeerAddress(19),
destTransMask(22), destPeerMask(20),
pduScale(23), -- Rule Set attributes destTransType(21),
octetScale(24), destTransAddress(22),
ruleSet(25), destTransMask(23),
toOctets(26), -- Source-to-Dest
toPDUs(27), pduScale(234),
fromOctets(28), -- Dest-to-Source octetScale(25),
fromPDUs(29),
firstTime(30), -- Activity times ruleSet(26),
lastActiveTime(31), toOctets(27), -- Source-to-Dest
sourceSubscriberID(32), -- Subscriber ID toPDUs(28),
destSubscriberID(33), fromOctets(29), -- Dest-to-Source
sessionID(34), fromPDUs(30),
sourceClass(35), -- Computed attributes firstTime(31), -- Activity times
destClass(36), lastActiveTime(32),
flowClass(37),
sourceKind(38), sourceSubscriberID(33), -- Subscriber ID
destKind(39), destSubscriberID(34),
flowKind(40) } sessionID(35),
sourceClass(36), -- Computed attributes
destClass(37),
flowClass(38),
sourceKind(39),
destKind(40),
flowKind(41) }
RuleAttributeNumber ::= TEXTUAL-CONVENTION RuleAttributeNumber ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Uniquely identifies an attribute which may be tested in "Uniquely identifies an attribute which may be tested in
a rule. These include attributes whose values come directly a rule. These include attributes whose values come directly
from the flow's packets and the five 'meter' variables used to from the flow's packets and the five 'meter' variables used to
hold an AttributeValue. Attributes derived from the rules - hold an AttributeValue. Attributes derived from the rules -
e.g. address masks - may not be tested." e.g. address masks - may not be tested."
SYNTAX INTEGER { SYNTAX INTEGER {
null(0), null(0),
sourceInterface(3), -- Source Address sourceInterface(4), -- Source Address
sourceAdjacentType(4), sourceAdjacentType(5),
sourceAdjacentAddress(5), sourceAdjacentAddress(6),
sourcePeerType(7), sourcePeerType(8),
sourcePeerAddress(8), sourcePeerAddress(9),
sourceTransType(10), sourceTransType(11),
sourceTransAddress(11), sourceTransAddress(12),
destInterface(13), -- Dest Address destInterface(14), -- Dest Address
destAdjacentType(14), destAdjacentType(15),
destAdjacentAddress(15), destAdjacentAddress(16),
destPeerType(17), destPeerType(18),
destPeerAddress(18), destPeerAddress(19),
destTransType(20), destTransType(21),
destTransAddress(21), destTransAddress(22),
sourceSubscriberID(32), -- Subscriber ID sourceSubscriberID(33), -- Subscriber ID
destSubscriberID(33), destSubscriberID(34),
sessionID(34), sessionID(35),
v1(51), -- Meter variables v1(51), -- Meter variables
v2(52), v2(52),
v3(53), v3(53),
v4(54), v4(54),
v5(55) } v5(55) }
TimeFilter ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Used as an index to a table. A TimeFilter variable allows
a GetNext or GetBulk request to find rows in a table for
which the TimeFilter index variable is greater than or equal
to a specified value. For example, a meter reader could
use the FlowActivityTable to find the subscripts for all
rows in the flow table which have been active at or since
a specified time.
More details on TimeFilter variables, their implementation
and use can be found in the RMON2 MIB [11]."
SYNTAX TimeTicks
ActionNumber ::= TEXTUAL-CONVENTION ActionNumber ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Uniquely identifies the action of a rule, i.e. the Pattern "Uniquely identifies the action of a rule, i.e. the Pattern
Matching Engine's opcode number. Details of the opcodess Matching Engine's opcode number. Details of the opcodes
are given in the 'Traffic Flow Measurement: Architecture' are given in the 'Traffic Flow Measurement: Architecture'
document [9]." document [9]."
SYNTAX INTEGER { SYNTAX INTEGER {
ignore(1), ignore(1),
fail(2), fail(2),
count(3), count(3),
countPkt(4), countPkt(4),
return(5), return(5),
gosub(6), gosub(6),
gosubAct(7), gosubAct(7),
skipping to change at page 10, line 51 skipping to change at page 11, line 40
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Information about a particular rule set." "Information about a particular rule set."
INDEX { flowRuleInfoIndex } INDEX { flowRuleInfoIndex }
::= { flowRuleSetInfoTable 1 } ::= { flowRuleSetInfoTable 1 }
FlowRuleSetInfoEntry ::= SEQUENCE { FlowRuleSetInfoEntry ::= SEQUENCE {
flowRuleInfoIndex Integer32, flowRuleInfoIndex Integer32,
flowRuleInfoSize Integer32, flowRuleInfoSize Integer32,
flowRuleInfoOwner IpAddress, flowRuleInfoOwner OwnerString,
flowRuleInfoTimeStamp TimeStamp, flowRuleInfoTimeStamp TimeStamp,
flowRuleInfoStatus RowStatus flowRuleInfoStatus RowStatus
} }
flowRuleInfoIndex OBJECT-TYPE flowRuleInfoIndex OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index which selects an entry in the flowRuleSetInfoTable. "An index which selects an entry in the flowRuleSetInfoTable.
skipping to change at page 11, line 25 skipping to change at page 12, line 19
flowRuleInfoSize OBJECT-TYPE flowRuleInfoSize OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Number of rules in this rule set. Setting this variable will "Number of rules in this rule set. Setting this variable will
cause the meter to allocate space for these rules." cause the meter to allocate space for these rules."
::= { flowRuleSetInfoEntry 2 } ::= { flowRuleSetInfoEntry 2 }
flowRuleInfoOwner OBJECT-TYPE flowRuleInfoOwner OBJECT-TYPE
SYNTAX IpAddress SYNTAX OwnerString
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Identifies the meter reader which configured this rule set." "Identifies the manager which configured this rule set."
::= { flowRuleSetInfoEntry 3 } ::= { flowRuleSetInfoEntry 3 }
flowRuleInfoTimeStamp OBJECT-TYPE flowRuleInfoTimeStamp OBJECT-TYPE
SYNTAX TimeStamp SYNTAX TimeStamp
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time this rule set was last changed." "Time this rule set was last changed."
::= { flowRuleSetInfoEntry 4 } ::= { flowRuleSetInfoEntry 4 }
flowRuleInfoStatus OBJECT-TYPE flowRuleInfoStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The status of this rule set. If this object's value is "The status of this rule set. If this object's value is
not active(1), the meter will not attempt to use this not active(1), the meter must not attempt to use this
rule set." rule set."
::= { flowRuleSetInfoEntry 5 } ::= { flowRuleSetInfoEntry 5 }
-- --
-- Control Group: Interface Info Table -- Control Group: Interface Info Table
-- --
flowInterfaceTable OBJECT-TYPE flowInterfaceTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlowInterfaceEntry SYNTAX SEQUENCE OF FlowInterfaceEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
skipping to change at page 12, line 34 skipping to change at page 13, line 30
flowInterfaceRate OBJECT-TYPE flowInterfaceRate OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The parameter N for statistical counting on this interface. "The parameter N for statistical counting on this interface.
Set to N to count 1/Nth of the packets appearing at this Set to N to count 1/Nth of the packets appearing at this
interface. A meter should choose its own algorithm to interface. A meter should choose its own algorithm to
introduce variance into the sampling so that exactly every Nth introduce variance into the sampling so that exactly every Nth
packet is not counted. A sampling rate of 1 yields a normal packet is not counted. A sampling rate of 1 counts all
counter. A sampling rate of 0 results in the interface packets. A sampling rate of 0 results in the interface
being ignored by the meter." being ignored by the meter."
DEFVAL { 1 } -- Count every packet,
::= { flowInterfaceEntry 1 } ::= { flowInterfaceEntry 1 }
flowInterfaceLostPackets OBJECT-TYPE flowInterfaceLostPackets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets the meter has lost for this interface. "The number of packets the meter has lost for this interface.
Such losses may occur because the meter's network interface Such losses may occur because the meter has been unable to
hardware or software has been unable to keep up with the keep up with the traffic volume."
traffic volume or because the meter has run out of memory
for new flows."
::= { flowInterfaceEntry 2 } ::= { flowInterfaceEntry 2 }
-- --
-- Control Group: Meter Reader Info Table -- Control Group: Meter Reader Info Table
-- --
-- Any meter reader wishing to collect data reliably for all flows
-- should first create a row in this table. It should write that
-- row's flowReaderLastTime object each time it starts a collection
-- pass through the flow table.
-- The meter will not recover a flow's memory until every meter reader
-- holding a row in this table has collected that flow's data.
-- If a meter reader does not create a row in this table, e.g. because
-- it failed authentication in the meter's SNMP write community,
-- collection can still proceed but the meter may not be able to
-- recover inactive flows.
flowReaderInfoTable OBJECT-TYPE flowReaderInfoTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlowReaderInfoEntry SYNTAX SEQUENCE OF FlowReaderInfoEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An array of information about meter readers which may "An array of information about meter readers which have
collect flow data from this meter." registered their intent to collect flow data from this meter."
::= { flowControl 3 } ::= { flowControl 3 }
flowReaderInfoEntry OBJECT-TYPE flowReaderInfoEntry OBJECT-TYPE
SYNTAX FlowReaderInfoEntry SYNTAX FlowReaderInfoEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Information about a particular meter reader." "Information about a particular meter reader."
INDEX { flowReaderIndex } INDEX { flowReaderIndex }
::= { flowReaderInfoTable 1 } ::= { flowReaderInfoTable 1 }
FlowReaderInfoEntry ::= SEQUENCE { FlowReaderInfoEntry ::= SEQUENCE {
flowReaderIndex Integer32, flowReaderIndex Integer32,
flowReaderOwner IpAddress, flowReaderTimeout Integer32,
flowReaderOwner OwnerString,
flowReaderLastTime TimeStamp, flowReaderLastTime TimeStamp,
flowReaderPreviousTime TimeStamp flowReaderPreviousTime TimeStamp,
flowReaderStatus RowStatus
} }
flowReaderIndex OBJECT-TYPE flowReaderIndex OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Selects an entry from the array of meter reader info entries." "Selects an entry from the array of meter reader info entries."
::= { flowReaderInfoEntry 1 } ::= { flowReaderInfoEntry 1 }
flowReaderOwner OBJECT-TYPE flowReaderTimeout OBJECT-TYPE
SYNTAX IpAddress SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Peer address of this meter reader." "Specifies the maximum time (in seconds) between flow data
collections for this meter reader. If this time elapses
without a collection, the meter should assume that this meter
reader has stopped collecting, and delete this row from the
table."
::= { flowReaderInfoEntry 2 } ::= { flowReaderInfoEntry 2 }
flowReaderOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Identifies the meter reader which created this row."
::= { flowReaderInfoEntry 3 }
flowReaderLastTime OBJECT-TYPE flowReaderLastTime OBJECT-TYPE
SYNTAX TimeStamp SYNTAX TimeStamp
MAX-ACCESS read-only MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time this meter reader last began a data collection." "Time this meter reader began its most recent data collection.
::= { flowReaderInfoEntry 3 }
This variable should be written by a meter reader as the first
step in reading flow data. The meter will set this LastTime
value to sysUptime and set its PreviousTime value (below) to
the old LastTime. This allows the meter to recover flows
which have been inactive since PreviousTime, for these have
been collected at least once.
If the meter fails to write flowLastReadTime, e.g. by
failing authentication in the meter's SNMP write community,
collection may still proceed but the meter may not be able to
recover inactive flows."
::= { flowReaderInfoEntry 4 }
flowReaderPreviousTime OBJECT-TYPE flowReaderPreviousTime OBJECT-TYPE
SYNTAX TimeStamp SYNTAX TimeStamp
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time this meter reader began the collection before last." "Time this meter reader began the collection before last."
::= { flowReaderInfoEntry 4 } ::= { flowReaderInfoEntry 5 }
flowLastReadTime OBJECT-TYPE flowReaderStatus OBJECT-TYPE
SYNTAX TimeTicks SYNTAX RowStatus
MAX-ACCESS read-write MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Time last collection of meter data began. This variable "The status of this meter reader."
will be written by a meter reader as the first step in reading ::= { flowReaderInfoEntry 6 }
flow data. The meter will set its LastTime value to uptime
and set its PreviousTime value to the old LastTime. This
allows the meter to recover flows which have been inactive
since PreviousTime, for these have been collected at least
once. If the meter fails to write flowLastReadTime, e.g.
by failing authentication in the meter SNMP write community,
collection may still proceed but the meter may not be able to
recover inactive flows."
::= { flowControl 4 }
-- --
-- Control Group: Manager Info Table
-- --
-- Any manager wishing to download rule sets to the meter must create
-- a row in this table. Once it has a table row, the manager may set
-- the control variables in its row so as to cause the meter to run
-- any valid rule set held by the meter.
flowCurrentRuleSet OBJECT-TYPE flowManagerInfoTable OBJECT-TYPE
SYNTAX INTEGER (0..255) SYNTAX SEQUENCE OF FlowManagerInfoEntry
MAX-ACCESS read-write MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index to the array of rule tables. Specifies which set of "An array of information about managers which have
rules is currently being used for accounting by the meter. registered their intent to run rule sets on this meter."
::= { flowControl 4 }
flowManagerInfoEntry OBJECT-TYPE
SYNTAX FlowManagerInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular meter reader."
INDEX { flowManagerIndex }
::= { flowManagerInfoTable 1 }
FlowManagerInfoEntry ::= SEQUENCE {
flowManagerIndex Integer32,
flowManagerCurrentRuleSet Integer32,
flowManagerStandbyRuleSet Integer32,
flowManagerHighWaterMark INTEGER,
flowManagerCounterWrap INTEGER,
flowManagerOwner OwnerString,
flowManagerTimeStamp TimeStamp,
flowManagerStatus RowStatus
}
flowManagerIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Selects an entry from the array of manager info entries."
::= { flowManagerInfoEntry 1 }
flowManagerCurrentRuleSet OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Index to the array of rule sets. Specifies which set of
rules is currently being used for accounting by this manager.
When the manager sets this variable the meter will close its When the manager sets this variable the meter will close its
current rule set and start using the new one. Flows created current rule set and start using the new one. Flows created
by the old rule set remain in memory, orphaned until their by the old rule set remain in memory, orphaned until their
data has been read. Specifying rule set 0 (the empty set) data has been read. Specifying rule set 0 (the empty set)
stops flow measurement." stops flow measurement by this manager."
::= { flowControl 5 } ::= { flowManagerInfoEntry 2 }
flowStandbyRuleSet OBJECT-TYPE flowManagerStandbyRuleSet OBJECT-TYPE
SYNTAX INTEGER (0..255) SYNTAX Integer32
MAX-ACCESS read-write MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index to the array of rule tables. After reaching "Index to the array of rule sets. After reaching
HighWaterMark (see below) the meter may switch to using it's HighWaterMark (see below) the manager may switch to using its
standby rule set. For this to be effective the manager should standby rule set. For this to be effective the manager should
have downloaded a standby rule set which uses a coarser have downloaded a standby rule set which uses a coarser
reporting granularity. The manager may also need to reporting granularity. The manager may also need to
decrease the meter reading interval so that the meter can decrease the meter reading interval so that the meter can
recover flows measured by its normal rule set." recover flows measured by its normal rule set."
::= { flowControl 6 } DEFVAL { 0 } -- No standby
::= { flowManagerInfoEntry 3 }
flowHighWaterMark OBJECT-TYPE flowManagerHighWaterMark OBJECT-TYPE
SYNTAX INTEGER (0..100) SYNTAX INTEGER (0..100)
MAX-ACCESS read-write MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A value expressed as a percentage, interpreted by the meter "A value expressed as a percentage, interpreted by the meter
as an indication of how full the flow table should be before as an indication of how full the flow table should be before
it should switch to the standby rule set (if one has been it should switch to the standby rule set (if one has been
specified). Values of 0% or 100% disable the checking specified) forthis manager. Values of 0% or 100% disable
represented by this variable." the checking represented by this variable."
::= { flowControl 7 } ::= { flowManagerInfoEntry 4 }
flowManagerCounterWrap OBJECT-TYPE
SYNTAX INTEGER { wrap(1), scale(2) }
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Specifies whether PDU and octet counters should wrap when
they reach the top of their range (normal behaviour for
Counter32 objects), or whether their scale factors should
be used instead. The combination of counter and scale
factor allows counts to be returned as binary floating
point numbers, with 32-bit mantissas and 8-bit exponents."
DEFVAL { wrap }
::= { flowManagerInfoEntry 5 }
flowManagerOwner OBJECT-TYPE
SYNTAX OwnerString
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Identifies the manager which created this row."
::= { flowManagerInfoEntry 6 }
flowManagerTimeStamp OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Time this row was last changed by its manager."
::= { flowManagerInfoEntry 7 }
flowManagerStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this manager."
::= { flowManagerInfoEntry 8 }
--
-- Control Group: General Meter Control Variables
--
-- At present the meter only runs a single rule set - the 'current'
-- one and has a single 'standby' rule set. In future it may be
-- developed so as to run multiple rule sets simultaneously; that would
-- require a more elaborate set of control variables to allow reliable
-- operation.
flowFloodMark OBJECT-TYPE flowFloodMark OBJECT-TYPE
SYNTAX INTEGER (0..100) SYNTAX INTEGER (0..100)
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A value expressed as a percentage, interpreted by the meter "A value expressed as a percentage, interpreted by the meter
as an indication of how full the flow table should be before as an indication of how full the flow table should be before
it should take some action to avoid running out of resources it should take some action to avoid running out of resources
to handle new flows. Values of 0% or 100% disable the to handle new flows. Values of 0% or 100% disable the
checking represented by this variable." checking represented by this variable."
::= { flowControl 8 } ::= { flowControl 5 }
flowInactivityTimeout OBJECT-TYPE flowInactivityTimeout OBJECT-TYPE
SYNTAX Integer32 (1..3600) SYNTAX Integer32 (1..3600)
MAX-ACCESS read-write MAX-ACCESS read-write
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The time in seconds since the last packet seen, after "The time in seconds since the last packet seen, after
which the flow may be terminated. Note that although a which the flow may be terminated. Note that although a
flow may have been terminated, its data must be collected flow may have been terminated, its data must be collected
before its memory can be recovered." before its memory can be recovered."
DEFVAL { 600 } -- 10 minutes DEFVAL { 600 } -- 10 minutes
::= { flowControl 9 } ::= { flowControl 6 }
flowActiveFlows OBJECT-TYPE flowActiveFlows OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The numbers of flows which are currently in use, i.e. have "The numbers of flows which are currently in use, i.e. have
been active since the last collection." been active since the last collection."
::= { flowControl 10 } ::= { flowControl 7 }
flowMaxFlows OBJECT-TYPE flowMaxFlows OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of flows allowed in the meter's "The maximum number of flows allowed in the meter's
flow table. At present this is determined when the meter flow table. At present this is determined when the meter
is first started up." is first started up."
::= { flowControl 11 } ::= { flowControl 8 }
-- --
-- The Flow Table -- The Flow Table
-- --
-- This is a table kept by a meter, with one flow data entry for every -- This is a table kept by a meter, with one flow data entry for every
-- flow being measured. Each flow data entry stores the attribute -- flow being measured. Each flow data entry stores the attribute
-- values for a traffic flow. Details of flows and their attributes -- values for a traffic flow. Details of flows and their attributes
-- are given in the 'Traffic Flow Measurement: Architecture' -- are given in the 'Traffic Flow Measurement: Architecture'
-- document [9]. -- document [9].
-- From time to time a meter reader may sweep the flow table so as
-- to read counts. This is most effectively achieved by using the
-- TimeMark variable together with successive GetBulk requests to
-- retrieve the values of the desired flow attribute variables.
-- This scheme allows multiple meter readers to independently use the -- This scheme allows multiple meter readers to independently use the
-- same meter; the meter readers do not have to be synchronised and -- same meter; the meter readers do not have to be synchronised and
-- they may use different collection intervals. -- they may use different collection intervals.
flowDataTable OBJECT-TYPE flowDataTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlowDataEntry SYNTAX SEQUENCE OF FlowDataEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The list of all flows being measured." "The list of all flows being measured."
::= { flowData 1 } ::= { flowData 1 }
flowDataEntry OBJECT-TYPE flowDataEntry OBJECT-TYPE
SYNTAX FlowDataEntry SYNTAX FlowDataEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The flow data record for a particular flow." "The flow data record for a particular flow."
INDEX { flowDataIndex } INDEX { flowDataTimeMark, flowDataIndex }
::= { flowDataTable 1 } ::= { flowDataTable 1 }
FlowDataEntry ::= SEQUENCE { FlowDataEntry ::= SEQUENCE {
flowDataIndex Integer32, flowDataIndex Integer32,
flowDataTimeMark TimeFilter,
flowDataStatus INTEGER, flowDataStatus INTEGER,
flowDataSourceInterface Integer32, -- Source Address flowDataSourceInterface Integer32,
flowDataSourceAdjacentType AddressType, flowDataSourceAdjacentType AddressType,
flowDataSourceAdjacentAddress AdjacentAddress, flowDataSourceAdjacentAddress AdjacentAddress,
flowDataSourceAdjacentMask AdjacentAddress, flowDataSourceAdjacentMask AdjacentAddress,
flowDataSourcePeerType AddressType, flowDataSourcePeerType AddressType,
flowDataSourcePeerAddress PeerAddress, flowDataSourcePeerAddress PeerAddress,
flowDataSourcePeerMask PeerAddress, flowDataSourcePeerMask PeerAddress,
flowDataSourceTransType INTEGER, flowDataSourceTransType INTEGER,
flowDataSourceTransAddress TransportAddress, flowDataSourceTransAddress TransportAddress,
flowDataSourceTransMask TransportAddress, flowDataSourceTransMask TransportAddress,
flowDataDestInterface Integer32, -- Dest Address flowDataDestInterface Integer32,
flowDataDestAdjacentType AddressType, flowDataDestAdjacentType AddressType,
flowDataDestAdjacentAddress AdjacentAddress, flowDataDestAdjacentAddress AdjacentAddress,
flowDataDestAdjacentMask AdjacentAddress, flowDataDestAdjacentMask AdjacentAddress,
flowDataDestPeerType AddressType, flowDataDestPeerType AddressType,
flowDataDestPeerAddress PeerAddress, flowDataDestPeerAddress PeerAddress,
flowDataDestPeerMask PeerAddress, flowDataDestPeerMask PeerAddress,
flowDataDestTransType INTEGER, flowDataDestTransType INTEGER,
flowDataDestTransAddress TransportAddress, flowDataDestTransAddress TransportAddress,
flowDataDestTransMask TransportAddress, flowDataDestTransMask TransportAddress,
flowDataPDUScale INTEGER, -- Rule Set flowDataPDUScale INTEGER,
flowDataOctetScale INTEGER, flowDataOctetScale INTEGER,
flowDataRuleSet INTEGER, flowDataRuleSet INTEGER,
flowDataToOctets Counter32, -- Source->Dest flowDataToOctets Counter32, -- Source->Dest
flowDataToPDUs Counter32, flowDataToPDUs Counter32,
flowDataFromOctets Counter32, -- Dest->Source flowDataFromOctets Counter32, -- Dest->Source
flowDataFromPDUs Counter32, flowDataFromPDUs Counter32,
flowDataFirstTime TimeTicks, -- Activity times flowDataFirstTime TimeTicks, -- Activity times
flowDataLastActiveTime TimeTicks, flowDataLastActiveTime TimeTicks,
flowDataSourceSubscriberID OCTET STRING, flowDataSourceSubscriberID OCTET STRING,
skipping to change at page 18, line 24 skipping to change at page 21, line 41
flowDataDestKind INTEGER, flowDataDestKind INTEGER,
flowDataKind INTEGER flowDataKind INTEGER
} }
flowDataIndex OBJECT-TYPE flowDataIndex OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Value of this flow data record's index within the meter's "Value of this flow data record's index within the meter's
flow table. flow table."
The value 0 should be used as an initial value for SNMP
GetNext requests when performing a serial search of the flow
table
The value 1 should NOT be used; it is reserved as a special
end marker for the flowColumnActivityData variable."
::= { flowDataEntry 1 } ::= { flowDataEntry 1 }
flowDataTimeMark OBJECT-TYPE
SYNTAX TimeFilter
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A TimeFilter for this entry. Allows GetNext and GetBulk
to find flow table rows which have changed since a specified
value of sysUptime."
::= { flowDataEntry 2 }
flowDataStatus OBJECT-TYPE flowDataStatus OBJECT-TYPE
SYNTAX INTEGER { inactive(1), current(2), idle(3) } SYNTAX INTEGER { inactive(1), current(2), idle(3) }
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Status of this flow data record." "Status of this flow data record."
::= { flowDataEntry 2 } ::= { flowDataEntry 3 }
flowDataSourceInterface OBJECT-TYPE flowDataSourceInterface OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index of the interface associated with the source address "Index of the interface associated with the source address
for this flow. It's value is one of those contained in the for this flow. It's value is one of those contained in the
ifIndex field of the meter's interfaces table." ifIndex field of the meter's interfaces table."
::= { flowDataEntry 3 } ::= { flowDataEntry 4 }
flowDataSourceAdjacentType OBJECT-TYPE flowDataSourceAdjacentType OBJECT-TYPE
SYNTAX AddressType SYNTAX AddressType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Adjacent address type of the source for this flow. If "Adjacent address type of the source for this flow. If
accounting is being performed at the network level the accounting is being performed at the network level the
adjacent address will probably be an 802 MAC address, and adjacent address will probably be an 802 MAC address, and
the adjacent address type will indicate the medium type." the adjacent address type will indicate the medium type."
::= { flowDataEntry 4 } ::= { flowDataEntry 5 }
flowDataSourceAdjacentAddress OBJECT-TYPE flowDataSourceAdjacentAddress OBJECT-TYPE
SYNTAX AdjacentAddress SYNTAX AdjacentAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Address of the adjacent device on the path for the source "Address of the adjacent device on the path for the source
for this flow." for this flow."
::= { flowDataEntry 5 } ::= { flowDataEntry 6 }
flowDataSourceAdjacentMask OBJECT-TYPE flowDataSourceAdjacentMask OBJECT-TYPE
SYNTAX AdjacentAddress SYNTAX AdjacentAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"1-bits in this mask indicate which bits must match when "1-bits in this mask indicate which bits must match when
comparing the adjacent source address for this flow." comparing the adjacent source address for this flow."
::= { flowDataEntry 6 } ::= { flowDataEntry 7 }
flowDataSourcePeerType OBJECT-TYPE flowDataSourcePeerType OBJECT-TYPE
SYNTAX AddressType SYNTAX AddressType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Peer address type of the source for this flow." "Peer address type of the source for this flow."
::= { flowDataEntry 7 } ::= { flowDataEntry 8 }
flowDataSourcePeerAddress OBJECT-TYPE flowDataSourcePeerAddress OBJECT-TYPE
SYNTAX PeerAddress SYNTAX PeerAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Address of the peer device for the source of this flow." "Address of the peer device for the source of this flow."
::= { flowDataEntry 8 } ::= { flowDataEntry 9 }
flowDataSourcePeerMask OBJECT-TYPE flowDataSourcePeerMask OBJECT-TYPE
SYNTAX PeerAddress SYNTAX PeerAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"1-bits in this mask indicate which bits must match when "1-bits in this mask indicate which bits must match when
comparing the source peer address for this flow." comparing the source peer address for this flow."
::= { flowDataEntry 9 } ::= { flowDataEntry 10 }
flowDataSourceTransType OBJECT-TYPE flowDataSourceTransType OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Transport address type of the source for this flow. The "Transport address type of the source for this flow. The
value of this attribute will depend on the peer address type." value of this attribute will depend on the peer address type."
::= { flowDataEntry 10 } ::= { flowDataEntry 11 }
flowDataSourceTransAddress OBJECT-TYPE flowDataSourceTransAddress OBJECT-TYPE
SYNTAX TransportAddress SYNTAX TransportAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Transport address for the source of this flow." "Transport address for the source of this flow."
::= { flowDataEntry 11 } ::= { flowDataEntry 12 }
flowDataSourceTransMask OBJECT-TYPE flowDataSourceTransMask OBJECT-TYPE
SYNTAX TransportAddress SYNTAX TransportAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"1-bits in this mask indicate which bits must match when "1-bits in this mask indicate which bits must match when
comparing the transport source address for this flow." comparing the transport source address for this flow."
::= { flowDataEntry 12 } ::= { flowDataEntry 13 }
flowDataDestInterface OBJECT-TYPE flowDataDestInterface OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index of the interface associated with the dest address for "Index of the interface associated with the dest address for
this flow. This value is one of the values contained in the this flow. This value is one of the values contained in the
ifIndex field of the interfaces table." ifIndex field of the interfaces table."
::= { flowDataEntry 13 } ::= { flowDataEntry 14 }
flowDataDestAdjacentType OBJECT-TYPE flowDataDestAdjacentType OBJECT-TYPE
SYNTAX AddressType SYNTAX AddressType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Adjacent address type of the destination for this flow." "Adjacent address type of the destination for this flow."
::= { flowDataEntry 14 } ::= { flowDataEntry 15 }
flowDataDestAdjacentAddress OBJECT-TYPE flowDataDestAdjacentAddress OBJECT-TYPE
SYNTAX AdjacentAddress SYNTAX AdjacentAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Address of the adjacent device on the path for the "Address of the adjacent device on the path for the
destination for this flow." destination for this flow."
::= { flowDataEntry 15 } ::= { flowDataEntry 16 }
flowDataDestAdjacentMask OBJECT-TYPE flowDataDestAdjacentMask OBJECT-TYPE
SYNTAX AdjacentAddress SYNTAX AdjacentAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"1-bits in this mask indicate which bits must match when "1-bits in this mask indicate which bits must match when
comparing the adjacent dest address for this flow." comparing the adjacent dest address for this flow."
::= { flowDataEntry 16 } ::= { flowDataEntry 17 }
flowDataDestPeerType OBJECT-TYPE flowDataDestPeerType OBJECT-TYPE
SYNTAX AddressType SYNTAX AddressType
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Peer address type of the destination for this flow." "Peer address type of the destination for this flow."
::= { flowDataEntry 17 } ::= { flowDataEntry 18 }
flowDataDestPeerAddress OBJECT-TYPE flowDataDestPeerAddress OBJECT-TYPE
SYNTAX PeerAddress SYNTAX PeerAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Address of the peer device for the destination of this flow." "Address of the peer device for the destination of this flow."
::= { flowDataEntry 18 } ::= { flowDataEntry 19 }
flowDataDestPeerMask OBJECT-TYPE flowDataDestPeerMask OBJECT-TYPE
SYNTAX PeerAddress SYNTAX PeerAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"1-bits in this mask indicate which bits must match when "1-bits in this mask indicate which bits must match when
comparing the dest peer type for this flow." comparing the dest peer type for this flow."
::= { flowDataEntry 19 } ::= { flowDataEntry 20 }
flowDataDestTransType OBJECT-TYPE flowDataDestTransType OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Transport address type of the destination for this flow. The "Transport address type of the destination for this flow. The
value of this attribute will depend on the peer address type." value of this attribute will depend on the peer address type."
::= { flowDataEntry 20 } ::= { flowDataEntry 21 }
flowDataDestTransAddress OBJECT-TYPE flowDataDestTransAddress OBJECT-TYPE
SYNTAX TransportAddress SYNTAX TransportAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Transport address for the destination of this flow." "Transport address for the destination of this flow."
::= { flowDataEntry 21 } ::= { flowDataEntry 22 }
flowDataDestTransMask OBJECT-TYPE flowDataDestTransMask OBJECT-TYPE
SYNTAX TransportAddress SYNTAX TransportAddress
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"1-bits in this mask indicate which bits must match when "1-bits in this mask indicate which bits must match when
comparing the transport destination address for this flow." comparing the transport destination address for this flow."
::= { flowDataEntry 22 } ::= { flowDataEntry 23 }
flowDataPDUScale OBJECT-TYPE flowDataPDUScale OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The scale factor applied to this particular flow. Indicates "The scale factor applied to this particular flow. Indicates
the number of bits the PDU counter values should be moved left the number of bits the PDU counter values should be moved left
to obtain the actual values." to obtain the actual values."
::= { flowDataEntry 23 } ::= { flowDataEntry 24 }
flowDataOctetScale OBJECT-TYPE flowDataOctetScale OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The scale factor applied to this particular flow. Indicates "The scale factor applied to this particular flow. Indicates
the number of bits the octet counter values should be moved the number of bits the octet counter values should be moved
left to obtain the actual values." left to obtain the actual values."
::= { flowDataEntry 24 } ::= { flowDataEntry 25 }
flowDataRuleSet OBJECT-TYPE flowDataRuleSet OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RuleSet number of the rule set which created this flow." "The RuleSet number of the rule set which created this flow."
::= { flowDataEntry 25 } ::= { flowDataEntry 26 }
flowDataToOctets OBJECT-TYPE flowDataToOctets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The count of octets flowing from source to dest address and "The count of octets flowing from source to dest address and
being delivered to the protocol level being metered. In the being delivered to the protocol level being metered. In the
case of IP this would count the number of octets delivered to case of IP this would count the number of octets delivered to
the IP level." the IP level."
::= { flowDataEntry 26 } ::= { flowDataEntry 27 }
flowDataToPDUs OBJECT-TYPE flowDataToPDUs OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The count of protocol packets flowing from source to dest "The count of protocol packets flowing from source to dest
address and being delivered to the protocol level being address and being delivered to the protocol level being
metered. In the case of IP, for example, this would count the metered. In the case of IP, for example, this would count the
IP packets delivered to the IP protocol level." IP packets delivered to the IP protocol level."
::= { flowDataEntry 27 } ::= { flowDataEntry 28 }
flowDataFromOctets OBJECT-TYPE flowDataFromOctets OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The count of octets flowing from dest to source address and "The count of octets flowing from dest to source address and
being delivered to the protocol level being metered." being delivered to the protocol level being metered."
::= { flowDataEntry 28 } ::= { flowDataEntry 29 }
flowDataFromPDUs OBJECT-TYPE flowDataFromPDUs OBJECT-TYPE
SYNTAX Counter32 SYNTAX Counter32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The count of protocol packets flowing from dest to source "The count of protocol packets flowing from dest to source
address and being delivered to the protocol level being address and being delivered to the protocol level being
metered. In the case of IP, for example, this would count metered. In the case of IP, for example, this would count
the IP packets delivered to the IP protocol level." the IP packets delivered to the IP protocol level."
::= { flowDataEntry 29 } ::= { flowDataEntry 30 }
flowDataFirstTime OBJECT-TYPE flowDataFirstTime OBJECT-TYPE
SYNTAX TimeTicks SYNTAX TimeTicks
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The time at which this flow was first entered in the table" "The time at which this flow was first entered in the table"
::= { flowDataEntry 30 } ::= { flowDataEntry 31 }
flowDataLastActiveTime OBJECT-TYPE flowDataLastActiveTime OBJECT-TYPE
SYNTAX TimeTicks SYNTAX TimeTicks
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The last time this flow had activity, i.e. the time of "The last time this flow had activity, i.e. the time of
arrival of the most recent PDU belonging to this flow." arrival of the most recent PDU belonging to this flow."
::= { flowDataEntry 31 } ::= { flowDataEntry 32 }
flowDataSourceSubscriberID OBJECT-TYPE flowDataSourceSubscriberID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4..20)) SYNTAX OCTET STRING (SIZE (4..20))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Subscriber ID associated with the source address for this "Subscriber ID associated with the source address for this
flow." flow."
::= { flowDataEntry 32 } ::= { flowDataEntry 33 }
flowDataDestSubscriberID OBJECT-TYPE flowDataDestSubscriberID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4..20)) SYNTAX OCTET STRING (SIZE (4..20))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Subscriber ID associated with the dest address for this "Subscriber ID associated with the dest address for this
flow." flow."
::= { flowDataEntry 33 } ::= { flowDataEntry 34 }
flowDataSessionID OBJECT-TYPE flowDataSessionID OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (4..10)) SYNTAX OCTET STRING (SIZE (4..10))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Session ID for this flow. Such an ID might be allocated "Session ID for this flow. Such an ID might be allocated
by a network access server to distinguish a series of sessions by a network access server to distinguish a series of sessions
between the same pair of addresses, which would otherwise between the same pair of addresses, which would otherwise
appear to be parts of the same accounting flow." appear to be parts of the same accounting flow."
::= { flowDataEntry 34 } ::= { flowDataEntry 35 }
flowDataSourceClass OBJECT-TYPE flowDataSourceClass OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Source class for this flow. Determined by the rules, set by "Source class for this flow. Determined by the rules, set by
a PushRule action when this flow was entered in the table." a PushRule action when this flow was entered in the table."
::= { flowDataEntry 35 } ::= { flowDataEntry 36 }
flowDataDestClass OBJECT-TYPE flowDataDestClass OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Destination class for this flow. Determined by the rules, set "Destination class for this flow. Determined by the rules, set
by a PushRule action when this flow was entered in the table." by a PushRule action when this flow was entered in the table."
::= { flowDataEntry 36 } ::= { flowDataEntry 37 }
flowDataClass OBJECT-TYPE flowDataClass OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Class for this flow. Determined by the rules, set by a "Class for this flow. Determined by the rules, set by a
PushRule action when this flow was entered in the table." PushRule action when this flow was entered in the table."
::= { flowDataEntry 37 } ::= { flowDataEntry 38 }
flowDataSourceKind OBJECT-TYPE flowDataSourceKind OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Source kind for this flow. Determined by the rules, set by "Source kind for this flow. Determined by the rules, set by
a PushRule action when this flow was entered in the table." a PushRule action when this flow was entered in the table."
::= { flowDataEntry 38 }
::= { flowDataEntry 39 }
flowDataDestKind OBJECT-TYPE flowDataDestKind OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Destination kind for this flow. Determined by the rules, set "Destination kind for this flow. Determined by the rules, set
by a PushRule action when this flow was entered in the table." by a PushRule action when this flow was entered in the table."
::= { flowDataEntry 39 } ::= { flowDataEntry 40 }
flowDataKind OBJECT-TYPE flowDataKind OBJECT-TYPE
SYNTAX INTEGER (1..255) SYNTAX INTEGER (1..255)
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Class for this flow. Determined by the rules, set by a "Class for this flow. Determined by the rules, set by a
PushRule action when this flow was entered in the table." PushRule action when this flow was entered in the table."
::= { flowDataEntry 40 } ::= { flowDataEntry 41 }
flowActivityTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlowActivityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Index into the Flow Table. This is the 'Collect Index'
described in the 'Traffic Flow Measurement: Architecture'
document [9]. It allows a meter reader to retrieve a list
containing the flow table indexess for all flows wich were
last active at or after a given time."
::= { flowData 2 }
flowActivityEntry OBJECT-TYPE
SYNTAX FlowActivityEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Activity Entry for a particular activity time and flow."
INDEX { flowActivityTime, flowActivityIndex }
::= { flowActivityTable 1 }
FlowActivityEntry ::= SEQUENCE {
flowActivityTime TimeFilter,
flowActivityIndex Integer32
}
flowActivityTime OBJECT-TYPE
SYNTAX TimeFilter
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This variable is a copy of flowDataLastActiveTime in the
flow data record identified by the flowActivityIndex value
of this flowActivityTable entry."
::= { flowActivityEntry 1 }
flowActivityIndex OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Index of a flow table entry which was active at or after a
specified flowActivity time. This index may be used to
retrieve attribute values for that flow data record."
::= { flowActivityEntry 2 }
-- --
-- The Activity Column Table -- The Activity Column Table
-- --
flowColumnActivityTable OBJECT-TYPE flowColumnActivityTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlowColumnActivityEntry SYNTAX SEQUENCE OF FlowColumnActivityEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index into the Flow Table. Allows a meter reader to retrieve "Index into the Flow Table. Allows a meter reader to retrieve
a list containing the flow table indeces of flows which were a list containing the flow table indeces of flows which were
last active at or after a given time, together with the values last active at or after a given time, together with the values
of a specified attribute for each such flow." of a specified attribute for each such flow."
::= { flowData 3 } ::= { flowData 2 }
flowColumnActivityEntry OBJECT-TYPE flowColumnActivityEntry OBJECT-TYPE
SYNTAX FlowColumnActivityEntry SYNTAX FlowColumnActivityEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Column Activity Entry for a particular attribute, "The Column Activity Entry for a particular attribute,
activity time and flow." activity time and flow."
INDEX { flowColumnActivityAttribute, flowColumnActivityTime, INDEX { flowColumnActivityAttribute, flowColumnActivityTime,
flowColumnActivityIndex } flowColumnActivityIndex }
skipping to change at page 27, line 43 skipping to change at page 30, line 39
flowColumnActivityIndex OBJECT-TYPE flowColumnActivityIndex OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Index of a flow table entry which was active at or after "Index of a flow table entry which was active at or after
a specified flowColumnActivityTime." a specified flowColumnActivityTime."
::= { flowColumnActivityEntry 3 } ::= { flowColumnActivityEntry 3 }
flowColumnActivityData OBJECT-TYPE flowColumnActivityData OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (5..1000)) SYNTAX OCTET STRING (SIZE (3..1000))
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Collection of attribute data for flows active after "Collection of attribute data for flows active after
flowColumnActivityTime. Within the OCTET STRING is a flowColumnActivityTime. Within the OCTET STRING is a
sequence of { flow index, attribute value } pairs, one for sequence of { flow index, attribute value } pairs, one for
each active flow. The end of the sequence is marked by a each active flow. The end of the sequence is marked by a
flow index value of 0 if there are no more rows in this flow index value of 0, indicating that there are no more
column, and 1 otherwise. rows in this column.
The format of objects inside flowColumnFlowData is as follows. The format of objects inside flowColumnFlowData is as follows.
All numbers are unsigned. Numbers and strings appear with All numbers are unsigned. Numbers and strings appear with
their high-order bytes leading. Numbers are fixed size, as their high-order bytes leading. Numbers are fixed size, as
specified by their SYNTAX in the flow table (above), i.e. one specified by their SYNTAX in the flow table (above), i.e. one
octet for flowAddressType and small constants, and four octets octet for flowAddressType and small constants, and four octets
for Counter and Timeticks. Strings are variable-length, with for Counter and Timeticks. Strings are variable-length, with
the length given in a single leading octet. the length given in a single leading octet.
The following is an attempt at an ASN.1 definition of The following is an attempt at an ASN.1 definition of
flowColumnActivityData: flowColumnActivityData:
flowColumnActivityData ::= SEQUENCE { flowColumnActivityData ::= SEQUENCE flowRowItemEntry
RowItems flowRowItemList,
EndMarker INTEGER (0..1) -- 0 = No more rows
}
flowRowItemList ::= SEQUENCE OF flowRowItemEntry
flowRowItemEntry ::= SEQUENCE { flowRowItemEntry ::= SEQUENCE {
flowRowNumber INTEGER (1..65535), flowRowNumber INTEGER (1..65535),
-- 0 indicates the end of this column
flowDataValue flowDataType -- Choice depends on attribute flowDataValue flowDataType -- Choice depends on attribute
} }
flowDataType ::= CHOICE { flowDataType ::= CHOICE {
flowByteValue INTEGER (1..255), flowByteValue INTEGER (1..255),
flowShortValue INTEGER (1..65535), flowShortValue INTEGER (1..65535),
flowLongValue Integer32, flowLongValue Integer32,
flowStringValue OCTET STRING -- Length (n) in first byte, flowStringValue OCTET STRING -- Length (n) in first byte,
-- n+1 bytes total length, trailing zeroes truncated -- n+1 bytes total length, trailing zeroes truncated
}" }"
::= { flowColumnActivityEntry 4 } ::= { flowColumnActivityEntry 4 }
skipping to change at page 28, line 41 skipping to change at page 31, line 38
-- --
-- The Rule Table -- The Rule Table
-- --
-- This is an array of rule tables; the one in use is selected by -- This is an array of rule tables; the one in use is selected by
-- CurrentRuleSet. To change the rule set the manager chooses a set -- CurrentRuleSet. To change the rule set the manager chooses a set
-- number which is not in use, downloads the new rule set there, then -- number which is not in use, downloads the new rule set there, then
-- writes the new set number into CurrentRuleSet. Rule set 1 is the -- writes the new set number into CurrentRuleSet. Rule set 1 is the
-- default rule set, used by the meter on start-up. Several rule sets -- default rule set, used by the meter on start-up. Several rule sets
-- can be held in a meter so that the manager can change the rules -- can be held in a meter so that the manager can change the rules
-- easily, for example with time of day. Note that a manager may
-- not change the default rule set, nor the rules in its current rule
-- set! See the 'Traffic Flow Measurement: Architecture' document [9] -- set! See the 'Traffic Flow Measurement: Architecture' document [9]
-- for details of rules and how they are used. -- for details of rules and how they are used.
flowRuleTable OBJECT-TYPE flowRuleTable OBJECT-TYPE
SYNTAX SEQUENCE OF FlowRuleEntry SYNTAX SEQUENCE OF FlowRuleEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Contains all the rule sets which may be used by the meter." "Contains all the rule sets which may be used by the meter."
::= { flowRules 1 } ::= { flowRules 1 }
skipping to change at page 29, line 47 skipping to change at page 32, line 47
"The index into the Rule table. N.B: These values will "The index into the Rule table. N.B: These values will
often be consecutive, given the fall-through semantics of often be consecutive, given the fall-through semantics of
processing the table." processing the table."
::= { flowRuleEntry 2 } ::= { flowRuleEntry 2 }
flowRuleSelector OBJECT-TYPE flowRuleSelector OBJECT-TYPE
SYNTAX RuleAttributeNumber SYNTAX RuleAttributeNumber
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Defines the source of the value to match. "Indicates the attribute to be matched.
null(0) is a special case; null rules always succeed. null(0) is a special case; null rules always succeed.
v1(51), v2(52), v3(53), v4(54) and v5(55) select meter v1(51), v2(52), v3(53), v4(54) and v5(55) select meter
variables, each of which can hold the name (i.e. selector variables, each of which can hold the name (i.e. selector
value) of an address attribute. When one of these is used value) of an address attribute. When one of these is used
as a selector, its value specifies the attribute to be as a selector, its value specifies the attribute to be
tested. Variable values are set by an Assign action." tested. Variable values are set by an Assign action."
::= { flowRuleEntry 3 } ::= { flowRuleEntry 3 }
flowRuleMask OBJECT-TYPE flowRuleMask OBJECT-TYPE
SYNTAX RuleAddress SYNTAX RuleAddress
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The initial mask used to compute the desired value. If the "The initial mask used to compute the desired value. If the
mask is zero the rule's test will always succeed." mask is zero the rule's test will always succeed."
::= { flowRuleEntry 4 } ::= { flowRuleEntry 4 }
skipping to change at page 30, line 51 skipping to change at page 34, line 6
flowRuleParameter OBJECT-TYPE flowRuleParameter OBJECT-TYPE
SYNTAX Integer32 SYNTAX Integer32
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A parameter value providing extra information for the "A parameter value providing extra information for the
rule's action." rule's action."
::= { flowRuleEntry 7 } ::= { flowRuleEntry 7 }
-- --
-- Traffic Flow Meter conformance statement
-- --
flowMIBCompliances flowMIBCompliances
OBJECT IDENTIFIER ::= { flowMIBConformance 1 } OBJECT IDENTIFIER ::= { flowMIBConformance 1 }
flowMIBGroups flowMIBGroups
OBJECT IDENTIFIER ::= { flowMIBConformance 2 } OBJECT IDENTIFIER ::= { flowMIBConformance 2 }
flowControlGroup OBJECT-GROUP flowControlGroup OBJECT-GROUP
OBJECTS { OBJECTS {
flowRuleInfoSize, flowRuleInfoOwner, flowRuleInfoSize, flowRuleInfoOwner,
flowRuleInfoTimeStamp, flowRuleInfoStatus, flowRuleInfoTimeStamp, flowRuleInfoStatus,
flowInterfaceRate, flowInterfaceRate,
flowInterfaceLostPackets, flowInterfaceLostPackets,
flowReaderOwner, flowReaderTimeout, flowReaderOwner,
flowReaderLastTime, flowReaderPreviousTime, flowReaderLastTime, flowReaderPreviousTime,
flowLastReadTime, flowReaderStatus,
flowCurrentRuleSet, flowManagerCurrentRuleSet, flowManagerStandbyRuleSet,
flowStandbyRuleSet, flowManagerHighWaterMark,
flowHighWaterMark, flowManagerOwner, flowManagerTimeStamp,
flowFloodMark, flowManagerStatus,
flowFloodMark,
flowInactivityTimeout, flowInactivityTimeout,
flowActiveFlows, flowActiveFlows,
flowMaxFlows } flowMaxFlows }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The control group defines objects which are used to control "The control group defines objects which are used to control
an accounting meter." an accounting meter."
::= {flowMIBGroups 1 } ::= {flowMIBGroups 1 }
flowDataTableGroup OBJECT-GROUP flowDataTableGroup OBJECT-GROUP
skipping to change at page 31, line 54 skipping to change at page 35, line 12
flowDataDestAdjacentAddress, flowDataDestAdjacentMask, flowDataDestAdjacentAddress, flowDataDestAdjacentMask,
flowDataDestPeerType, flowDataDestPeerType,
flowDataDestPeerAddress, flowDataDestPeerMask, flowDataDestPeerAddress, flowDataDestPeerMask,
flowDataDestTransType, flowDataDestTransType,
flowDataDestTransAddress, flowDataDestTransMask, flowDataDestTransAddress, flowDataDestTransMask,
flowDataRuleSet, flowDataRuleSet,
flowDataToOctets, flowDataToPDUs, flowDataToOctets, flowDataToPDUs,
flowDataFromOctets, flowDataFromPDUs, flowDataFromOctets, flowDataFromPDUs,
flowDataFirstTime, flowDataLastActiveTime, flowDataFirstTime, flowDataLastActiveTime,
flowDataSourceClass, flowDataDestClass, flowDataClass, flowDataSourceClass, flowDataDestClass, flowDataClass,
flowDataSourceKind, flowDataDestKind, flowDataKind, flowDataSourceKind, flowDataDestKind, flowDataKind
flowActivityTime, flowActivityIndex
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The flow table group defines objects which provide the "The flow table group defines objects which provide the
structure for the rule table, including the creation time structure for the rule table, including the creation time
and activity time indexes into it. In addition it defines and activity time indexes into it. In addition it defines
objects which provide a base set of flow attributes for the objects which provide a base set of flow attributes for the
adjacent, peer and transport layers, together with a flow's adjacent, peer and transport layers, together with a flow's
counters and times. Finally it defines a flow's class and counters and times. Finally it defines a flow's class and
kind attributes, which are set by rule actions." kind attributes, which are set by rule actions."
::= {flowMIBGroups 2 } ::= {flowMIBGroups 2 }
flowDataScaleGroup OBJECT-GROUP flowDataScaleGroup OBJECT-GROUP
OBJECTS { OBJECTS {
flowManagerCounterWrap,
flowDataPDUScale, flowDataOctetScale flowDataPDUScale, flowDataOctetScale
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The flow scale group defines objects which specify scale "The flow scale group defines objects which specify scale
factors for counters." factors for counters."
::= {flowMIBGroups 3 } ::= {flowMIBGroups 3 }
flowDataSubscriberGroup OBJECT-GROUP flowDataSubscriberGroup OBJECT-GROUP
OBJECTS { OBJECTS {
skipping to change at page 33, line 27 skipping to change at page 37, line 4
"The compliance statement for a Traffic Flow Meter." "The compliance statement for a Traffic Flow Meter."
MODULE MODULE
MANDATORY-GROUPS { MANDATORY-GROUPS {
flowControlGroup, flowControlGroup,
flowDataTableGroup, flowDataTableGroup,
flowRuleTableGroup flowRuleTableGroup
} }
::= { flowMIBCompliances 1 } ::= { flowMIBCompliances 1 }
END END
5 Acknowledgements 5 Acknowledgements
An early draft of this document was produced under the auspices of the This document was initially produced under the auspices of the IETF's
IETF's Accounting Working Group with assistance from SNMP and SAAG Accounting Working Group with assistance from SNMP and SAAG working
working groups. Particular thanks are due to Jim Barnes, Sig Handelman groups. Particular thanks are due to Jim Barnes, Sig Handelman and
and Stephen Stibler for their support and their assistance with checking Stephen Stibler for their support and their assistance with checking
the MIB. the MIB.
6 References 6 References
[1] McCloghrie, K., and Rose, M., Editors, "Management [1] McCloghrie, K., and M. Rose, Editors, "Management Information
Information Base for Network Management of TCP/IP-based Base for Network Management of TCP/IP-based internets," STD 17, RFC
internets," RFC 1213, Performance Systems International, March 1213, Performance Systems International, March 1991.
1991.
[2] Case J., McCloghrie K., Rose M., and Waldbusser S., [2] Case J., McCloghrie K., Rose M., and S. Waldbusser, "Structure of
"Structure of Management Information for version 2 of the Management Information for version 2 of the Simple Network
Simple Network Managemenet Protocol," RFC 1442, SNMP Research Managemenet Protocol," RFC 1902, SNMP Research Inc., Hughes LAN
Inc., Hughes LAN Systems, Dover Beach Consulting, Carnegie Systems, Dover Beach Consulting, Carnegie Mellon University, April
Mellon University, April 1993. 1993.
[3] Case J., McCloghrie, K., Rose, M., and Waldbusser, S., [3] Case J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
"Textual Conventions for version 2 of the Simple Network Conventions for version 2 of the Simple Network Managemenet Protocol
Managemenet Protocol SNMPv2", RFC 1443, SNMP Research Inc., SNMPv2", RFC 1903, SNMP Research Inc., Hughes LAN Systems, Dover
Hughes LAN Systems, Dover Beach Consulting, Carnegie Mellon Beach Consulting, Carnegie Mellon University, April 1993.
University, April 1993.
[4] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., [4] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Conformance Statements for version 2 of the Simple Network "Conformance Statements for version 2 of the Simple Network
Managemenet Protocol (SNMPv2)," RFC 1444, SNMP Research Inc., Managemenet Protocol (SNMPv2)," RFC 1904, SNMP Research Inc., Hughes
Hughes LAN Systems, Dover Beach Consulting, Carnegie Mellon LAN Systems, Dover Beach Consulting, Carnegie Mellon University,
University, April 1993. April 1993.
[5] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
"Coexistence between version 1 and version 2 of the "Coexistence between version 1 and version 2 of the Internet-standard
Internet-standard Network Management Framework," RFC 1452, SNMP Network Management Framework," RFC 1908, SNMP Research Inc., Hughes
Research Inc., Hughes LAN Systems, Dover Beach Consulting, LAN Systems, Dover Beach Consulting, Carnegie Mellon University,
Carnegie Mellon University, April 1993. April 1993.
[6] Information processing systems - Open Systems [6] Information processing systems - Open Systems Interconnection -
Interconnection - Specification of Abstract Syntax Notation One Specification of Abstract Syntax Notation One (ASN.1), International
(ASN.1), International Organization for Standardization, Organization for Standardization, International Standard 8824,
International Standard 8824, December 1987. December 1987.
[7] Information processing systems - Open Systems [7] Information processing systems - Open Systems Interconnection -
Interconnection - Specification of Basic Encoding Rules for Specification of Basic Encoding Rules for Abstract Notation One
Abstract Notation One (ASN.1), International Organization for (ASN.1), International Organization for Standardization,
Standardization, International Standard 8825, December 1987. International Standard 8825, December 1987.
[8] Mills, C., Hirsch, G. and Ruth, G., "Internet Accounting [8] Mills, C., Hirsch, G. and G. Ruth, "Internet Accounting
Background," RFC 1272, Bolt Beranek and Newman Inc., Meridian Background," RFC 1272, Bolt Beranek and Newman Inc., Meridian
Technology Corporation, November 1991. Technology Corporation, November 1991.
[9] Brownlee, N., Mills, C., and Ruth, G., "Traffic Flow [9] Brownlee, N., Mills, C., and G. Ruth, "Traffic Flow Measurement:
Measurement: Architecture," Internet Draft (work in progress), Architecture", RFC 2063, The University of Auckland, Bolt Beranek and
The University of Auckland, Bolt Beranek and Newman Inc., GTE Newman Inc., GTE Laboratories, Inc, January 1997.
Laboratories, Inc, February 1995.
[10] Case, J., "FDDI Management Information Base," RFC 1285, [10] Waldbusser, S., "Remote Network Monitoring Management
SNMP Research Incorporated, January 1992. Information Base, Version 2," Work in Progress.
[11] Waldbusser, S., "Remote Network Monitoring Management [11] Reynolds, J., and J, Postel, "Assigned Numbers," STD 2, RFC
Information Base, Version 2," Internet Draft (work in 1700, ISI, October 1994.
progress).
[12] Case, J., "FDDI Management Information Base," RFC 1285, SNMP
Research Incorporated, January 1992.
7 Security Considerations 7 Security Considerations
Security issues are not discussed in this document. Security issues are not discussed in this document.
8 Author's Address 8 Author's Address
Nevil Brownlee Nevil Brownlee
Computer Centre Information Technology Systems & Services
The University of Auckland The University of Auckland
Phone: +64 9 373 7599 x8941 Phone: +64 9 373 7599 x8941
E-mail: n.brownlee @auckland.ac.nz EMail: n.brownlee @auckland.ac.nz
 End of changes. 170 change blocks. 
481 lines changed or deleted 589 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/