home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_ietf_q_t / draft-ietf-rtfm-meter-mib-01.txt < prev    next >
Text File  |  1997-07-09  |  87KB  |  2,609 lines

  1.  
  2.  
  3.  
  4. Internet Engineering Task Force                           Nevil Brownlee
  5. INTERNET-DRAFT                                The University of Auckland
  6. Expire in six months                                           July 1997
  7.  
  8.  
  9.                   Traffic Flow Measurement:  Meter MIB
  10.  
  11.                    <draft-ietf-rtfm-meter-mib-01.txt>
  12.  
  13.  
  14.  
  15. Status of this Memo
  16.  
  17. This document is an Internet Draft.  Internet Drafts are working
  18. documents of the Internet Engineering Task Force (IETF), its Areas, and
  19. its Working Groups.  Note that other groups may also distribute working
  20. documents as Internet Drafts.  This Internet Draft is a product of the
  21. Realtime Traffic Flow Measurement Working Group of the IETF.
  22.  
  23. Internet Drafts are draft documents valid for a maximum of six months.
  24. Internet Drafts may be updated, replaced, or obsoleted by other
  25. documents at any time.  It is not appropriate to use Internet Drafts as
  26. reference material or to cite them other than as a "working draft" or
  27. "work in progress."
  28.  
  29. Please check the I-D abstract listing contained in the internet-drafts
  30. Shadow Directories on nic.ddn.mil, nnsc.nsf.net, nic.nordu.net,
  31. ftp.nisc.sri.com or munnari.oz.au to learn the current status of this or
  32. any other Internet Draft.
  33.  
  34.  
  35.  
  36. Abstract
  37.  
  38. A 'Traffic Meter' collects data relating to traffic flows within a
  39. network.  This document defines a Management Information Base (MIB) for
  40. use in controlling a traffic meter, in particular for specifying the
  41. flows to be measured.  It also provides an efficient mechanism for
  42. retrieving flow data from the meter using SNMP. Security issues
  43. concerning the operation of traffic meters are summarised.
  44.  
  45.  
  46.  
  47. Contents
  48.  
  49.  1 Introduction                                                        2
  50.  
  51.  2 The Network Management Framework                                    2
  52.  
  53.  3 Objects                                                             3
  54.    3.1 Format of Definitions  . . . . . . . . . . . . . . . . . . . .  4
  55.  
  56.  
  57.  
  58. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  59.  
  60.  4 Overview                                                            4
  61.    4.1 Scope of Definitions, Textual Conventions  . . . . . . . . . .  4
  62.    4.2 Usage of the MIB variables . . . . . . . . . . . . . . . . . .  5
  63.  
  64.  5 Changes Introduced Since RFC 2064                                   6
  65.  
  66.  6 Definitions                                                         7
  67.  
  68.  7 Security Considerations                                            42
  69.  
  70.  8 Acknowledgements                                                   44
  71.  
  72.  9 References                                                         44
  73.  
  74. 10 Author's Address                                                   45
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81. 1 Introduction
  82.  
  83.  
  84. This memo defines a portion of the Management Information Base (MIB) for
  85. use with network management protocols in the Internet community.  In
  86. particular, it describes objects for managing and collecting data from
  87. network Realtime Traffic Flow Meters, as described in [9].
  88.  
  89. The MIB is 'basic' in the sense that it provides more than enough
  90. information for everyday traffic measurment.  Furthermore, it can be
  91. easily extended by adding new attributes as required.  The RTFM Working
  92. group is actively pursuing the development of the meter in this way.
  93.  
  94.  
  95.  
  96. 2 The Network Management Framework
  97.  
  98.  
  99. The Internet-standard Network Management Framework consists of three
  100. components.  They are:
  101.  
  102.     RFC 1155 defines the SMI, the mechanisms used for describing
  103.     and naming objects for the purpose of management.  RFC 1212
  104.     defines a more concise description mechanism, which is wholly
  105.     consistent with the SMI.
  106.  
  107.     RFC 1156 defines MIB-I, the core set of managed objects for the
  108.     Internet suite of protocols.  RFC 1213 [1] defines MIB-II, an
  109.     evolution of MIB-I based on implementation experience and new
  110.     operational requirements.
  111.  
  112.  
  113. Nevil Brownlee                                                  [Page 2]
  114.  
  115.  
  116. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  117.  
  118.  
  119.  
  120.     RFC 1157 defines the SNMP, the protocol used for network access
  121.     to managed objects.
  122.  
  123.     RFC 1902 [2] defines the SMI for version 2 of the Simple
  124.     Network Management Protocol.
  125.  
  126.     RFCs 1903 and 1904 [3,4] define Textual Conventions and
  127.     Conformance Statements for version 2 of the Simple Network
  128.     Management Protocol.
  129.  
  130.     RFC 1908 [5] describes how versions 1 and 2 of the Simple
  131.     Network Management Protocol should coexist.
  132.  
  133.  
  134.  
  135. The Framework permits new objects to be defined for the purpose of
  136. experimentation and evaluation.
  137.  
  138.  
  139.  
  140. 3 Objects
  141.  
  142.  
  143. Managed objects are accessed via a virtual information store, termed the
  144. Management Information Base or MIB. Objects in the MIB are defined using
  145. the subset of Abstract Syntax Notation One (ASN.1) [6] defined in the
  146. SMI. In particular, each object has a name, a syntax, and an encoding.
  147. The name is an object identifier, an administratively assigned name,
  148. which specifies an object type.  The object type together with an object
  149. instance serves to uniquely identify a specific instantiation of the
  150. object.  For human convenience, we often use a textual string, termed
  151. the OBJECT DESCRIPTOR, to also refer to the object type.
  152.  
  153. The syntax of an object type defines the abstract data structure
  154. corresponding to that object type.  The ASN.1 language is used for this
  155. purpose.  However, the SMI [2] purposely restricts the ASN.1 constructs
  156. which may be used.  These restrictions are explicitly made for
  157. simplicity.
  158.  
  159. The encoding of an object type is simply how that object type is
  160. represented using the object type's syntax.  Implicitly tied to the
  161. notion of an object type's syntax and encoding is how the object type is
  162. represented when being transmitted on the network.
  163.  
  164. The SMI specifies the use of the basic encoding rules of ASN.1 [7],
  165. subject to the additional requirements imposed by the SNMP.
  166.  
  167.  
  168.  
  169.  
  170.  
  171. Nevil Brownlee                                                  [Page 3]
  172.  
  173.  
  174. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  175.  
  176. 3.1 Format of Definitions
  177.  
  178.  
  179. Section 4 contains the specification of all object types contained in
  180. this MIB module.  These object types are specified using the conventions
  181. defined in [2] and [3].
  182.  
  183.  
  184.  
  185. 4 Overview
  186.  
  187.  
  188. Traffic Flow Measurement seeks to provide a well-defined method for
  189. gathering traffic flow information from networks and internetworks.  The
  190. background for this is given in "Traffic Flow Measurement:  Background"
  191. [8].  The Realtime Traffic Flow Measurement (rtfm) Working Group has
  192. produced a measurement architecture to achieve this goal; this is
  193. documented in "Traffic Flow Measurement:  Architecture" [9].  The
  194. architecture defines three entities:
  195.  
  196.  
  197.  
  198.   - METERS, which observe network traffic flows and build up a table of
  199.     flow data records for them,
  200.  
  201.   - METER READERS, which collect traffic flow data from meters, and
  202.  
  203.   - MANAGERS, which oversee the operation of meters and meter readers.
  204.  
  205.  
  206. This memo defines the SNMP management information for a Traffic Flow
  207. Meter (TFM). Work in this field was begun by the Internet Accounting
  208. Working Group.  It has been further developed and expanded by the
  209. Realtime Traffic Flow Measurement Working Group.
  210.  
  211.  
  212. 4.1 Scope of Definitions, Textual Conventions
  213.  
  214.  
  215. All objects defined in this memo are registered in a single subtree
  216. within the mib-2 namespace [1,2], and are for use in network devices
  217. which may perform a PDU forwarding or monitoring function.  For these
  218. devices, the value of the ifSpecific variable in the MIB-II [1] has the
  219. OBJECT IDENTIFIER value:
  220.  
  221. flowMIB OBJECT IDENTIFIER ::=  mib-2 40
  222.  
  223. as defined below.
  224.  
  225. The RTFM Meter MIB was first produced and tested using SNMPv1.  It was
  226. converted into SNMPv2 following the guidelines in RFC 1908 [5].
  227.  
  228.  
  229. Nevil Brownlee                                                  [Page 4]
  230.  
  231.  
  232. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  233.  
  234. 4.2 Usage of the MIB variables
  235.  
  236. The MIB is organised in four parts - control, data, rules and
  237. conformance statements.
  238.  
  239. The rules implement the set of packet-matching actions, as described in
  240. the "Traffic Flow Measurment:  Architecture" document [9].  In addition
  241. they provide for BASIC-style subroutines, allowing a network manager to
  242. dramatically reduce the number of rules required to monitor a large
  243. network.
  244.  
  245. Traffic flows are identified by a set of attributes for each of their
  246. end-points.  Attributes include network addresses for each layer of the
  247. network protocol stack, and 'subscriber ids,' which may be used to
  248. identify an accountable entity for the flow.
  249.  
  250. The conformance statements are set out as defined in [4].  They explain
  251. what must be implemented in a meter which claims to conform to this MIB.
  252.  
  253. To retrieve flow data one could simply do a linear scan of the flow
  254. table.  This would certainly work, but would require a lot of protocol
  255. exchanges.  To reduce the overhead in retrieving flow data the flow
  256. table uses a TimeFilter variable, defined as a Textual Convention in the
  257. RMON2 MIB [10].
  258.  
  259. As an alternative method of reading flow data, the MIB provides a view
  260. of the flow table called the flowDataPackageTable.  This is (logically)
  261. a four-dimensional array, subscripted by package selector, ruleset,
  262. activity time and starting flow number.  The package selector is a
  263. sequence of bytes which specifies a list of flow attributes.
  264.  
  265. A data package (as returned by the meter) is a sequence of values for
  266. the attributes specified in its selector, encoded using the Basic
  267. Encoding Rules [7].  It allows a meter reader to retrieve all the
  268. attribute values it requires in a single MIB object.  This, when used
  269. together with SNMPv2's GetBulk request, allows a meter reader to scan
  270. the flow table and upload a specified set of attribute values for flows
  271. which have changed since the last reading, and which were created by a
  272. specified rule set.
  273.  
  274. One aspect of data collection which needs emphasis is that all the MIB
  275. variables are set up to allow multiple independent meter readers to work
  276. properly, i.e.  the flow table indexes are stateless.  An alternative
  277. approach would have been to 'snapshot' the flow table, which would mean
  278. that the meter readers would have to be synchronized.  The stateless
  279. approach does mean that two meter readers will never return exactly the
  280. same set of traffic counts, but over long periods (e.g.  15-minute
  281. collections over a day) the discrepancies are acceptable.  If one really
  282. needs a snapshot, this can be achieved by switching to an identical rule
  283. set with a different RuleSet number, hence asynchronous collections may
  284. be regarded as a useful generalisation of synchronised ones.
  285.  
  286.  
  287. Nevil Brownlee                                                  [Page 5]
  288.  
  289.  
  290. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  291.  
  292.  
  293.  
  294. The control variables are the minimum set required for a meter reader.
  295. Their number has been whittled down as experience has been gained with
  296. the MIB implementation.  A few of them are 'general,' i.e.  they control
  297. the overall behaviour of the meter.  These are set by a single 'master'
  298. manager, and no other manager should attempt to change their values.
  299. The decision as to which manager is the 'master' must be made by the
  300. network operations personnel responsible; this MIB does not attempt to
  301. define any interaction between managers.
  302.  
  303. There are three other groups of control variables, arranged into tables
  304. in the same way as in the RMON2 MIB [10].  They are used as follows:
  305.  
  306.  
  307.  
  308.   - RULE SET INFO: Before attempting to download a RuleSet, a manager
  309.     must create a row in the flowRuleSetInfoTable and set its
  310.     flowRuleInfoSize to a value large enough to hold the RuleSet.  When
  311.     the rule set is ready the manager must set flowRuleInfoStatus to
  312.     'active,' indicating that the rule set is ready for use (but not
  313.     yet 'running').
  314.  
  315.   - METER READER INFO: Any meter reader wishing to collect data
  316.     reliably for all flows from a RuleSet should first create a row in
  317.     the flowReaderInfoTable with flowReaderRuleSet set to that
  318.     RuleSet's index in the flowRuleSetInfoTable.  It should write that
  319.     row's flowReaderLastTime object each time it starts a collection
  320.     pass through the flow table.  The meter will not recover a flow's
  321.     memory until every meter reader holding a row for that flow's
  322.     RuleSet has collected the flow's data.
  323.  
  324.   - MANAGER INFO: Any manager wishing to run a RuleSet in the meter
  325.     must create a row in the flowManagerInfo table, specifying the
  326.     desired RuleSet to run and its corresponding 'standby' Ruleset (if
  327.     one is desired).  A current RuleSet is 'running' if its
  328.     flowManagerRunningStandby value is false(2), similarly a standby
  329.     RuleSet is 'running' if flowManagerRunningStandby is true(1).
  330.  
  331.  
  332.  
  333. 5 Changes Introduced Since RFC 2064
  334.  
  335.  
  336. The first version of the Meter MIB was published as RFC 2064 in January
  337. 1997.  The most significant changes since then are summarised below.
  338.  
  339.  
  340.   - TEXTUAL CONVENTIONS: Greater use is made of textual conventions to
  341.     describe the various types of addresses used by the meter.
  342.  
  343.  
  344.  
  345. Nevil Brownlee                                                  [Page 6]
  346.  
  347.  
  348. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  349.  
  350.   - PACKET MATCHING ATTRIBUTES: Computed attributes (e.g.  FlowClass
  351.     and FlowKind) may now be tested.  This allows one to use these
  352.     variables to store information during packet matching.
  353.  
  354.     A new attribute, MatchingStoD, has been added.  Its value is 1
  355.     while a packet is being matched with its adresses in 'wire'
  356.     (source-to-destination) order.
  357.  
  358.   - FLOOD MODE: This is now a read-write variable.  Setting it to
  359.     false(2) switches the meter out of flood mode and back to normal
  360.     operation.
  361.  
  362.   - CONTROL TABLES: Several variables have been added to the RuleSet,
  363.     Reader and Manager tables to provide more effective control of the
  364.     meter's activities.
  365.  
  366.   - FLOW TABLE: 64-bit counters are used for octet and PDU counts.
  367.     This reduces the problems caused by the wrap-around of 32-bit
  368.     counters in earlier versions.
  369.  
  370.     flowDataRuleSet is now used as an index to the flow table.  This
  371.     allows a meter reader to collect only those flow table rows created
  372.     by a specified RuleSet.
  373.  
  374.   - DATA PACKAGES: This is a new table, allowing a meter reader to
  375.     retrieve values for a list of attributes from a flow as a single
  376.     object.  When used with SNMP GetBulk requests it provides an
  377.     efficient way to recover flow data.
  378.  
  379.     Earlier versions had a 'Column Activity Table;' using this it was
  380.     difficult to collect all data for a flow efficiently in a single
  381.     SNMP request.
  382.  
  383.  
  384.  
  385.  
  386. 6 Definitions
  387.  
  388.  
  389. FLOW-METER-MIB DEFINITIONS ::= BEGIN
  390.  
  391. IMPORTS
  392.     MODULE-IDENTITY, OBJECT-TYPE, Counter32, Counter64, Integer32
  393.         FROM SNMPv2-SMI
  394.     TEXTUAL-CONVENTION, RowStatus, TimeStamp, TruthValue
  395.         FROM SNMPv2-TC
  396.     OBJECT-GROUP, MODULE-COMPLIANCE
  397.         FROM SNMPv2-CONF
  398.     mib-2, ifIndex
  399.         FROM RFC1213-MIB
  400.     OwnerString
  401.         FROM RMON-MIB
  402.  
  403. Nevil Brownlee                                                  [Page 7]
  404.  
  405.  
  406. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  407.  
  408.     TimeFilter
  409.         FROM RMON2-MIB;
  410.  
  411. flowMIB MODULE-IDENTITY
  412.     LAST-UPDATED "9707071715Z"
  413.     ORGANIZATION "IETF Realtime Traffic Flow Measurement Working Group"
  414.     CONTACT-INFO
  415.         "Nevil Brownlee, The University of Auckland
  416.  
  417.         Postal: Information Technology Sytems & Services
  418.                 The University of Auckland
  419.                 Private Bag 92-019
  420.                 Auckland, New Zealand
  421.  
  422.         Phone:  +64 9 373 7599 x8941
  423.         E-mail: n.brownlee@auckland.ac.nz"
  424.     DESCRIPTION
  425.         "MIB for the RTFM Traffic Flow Meter."
  426.  
  427.     VERSION "9706041620Z"
  428.     DESCRIPTION
  429.         "Significant changes since RFC 2064 include:
  430.           - flowDataPackageTable added
  431.           - flowColumnActivityTable deprecated
  432.           - flowManagerCounterWrap depreacted"
  433.  
  434.     VERSION "9603080208Z"
  435.     DESCRIPTION
  436.         "Initial version of this MIB (RFC 2064)"
  437.     ::= { mib-2 40 }
  438.  
  439.  
  440. flowControl         OBJECT IDENTIFIER ::= { flowMIB 1 }
  441.  
  442. flowData            OBJECT IDENTIFIER ::= { flowMIB 2 }
  443.  
  444. flowRules           OBJECT IDENTIFIER ::= { flowMIB 3 }
  445.  
  446. flowMIBConformance  OBJECT IDENTIFIER ::= { flowMIB 4 }
  447.  
  448.  
  449. -- Textual Conventions
  450.  
  451. MediumType ::= TEXTUAL-CONVENTION
  452.     STATUS  current
  453.     DESCRIPTION
  454.         "Specifies the type of a MediumAddress (see below).  The
  455.         values used for IEEE 802 media are from the 'Network
  456.         Management Parameters (ifType definitions)' section of the
  457.         Assigned Numbers RFC [11]."
  458.     SYNTAX  INTEGER {
  459.  
  460.  
  461. Nevil Brownlee                                                  [Page 8]
  462.  
  463.  
  464. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  465.  
  466.         ethernet(7),
  467.         tokenring(9),
  468.         fddi(15) }
  469.  
  470. MediumAddress ::= TEXTUAL-CONVENTION
  471.     STATUS  current
  472.     DESCRIPTION
  473.         "Specifies the value of a Medium Access Control (MAC) address.
  474.         Address format depends on the actual Medium, as follows:
  475.  
  476.         Ethernet:     ethernet(7)
  477.             6-octet 802.3 MAC address in 'canonical' order
  478.  
  479.         Token Ring:   tokenring(9)
  480.             6-octet 802.5 MAC address in 'canonical' order
  481.  
  482.         FDDI:         fddi(15)
  483.             FddiMACLongAddress, i.e. a 6-octet MAC address
  484.             in 'canonical' order  (defined in the FDDI MIB [12])
  485.         "
  486.     SYNTAX OCTET STRING (SIZE (6..20))
  487.  
  488. PeerType ::= TEXTUAL-CONVENTION
  489.     STATUS  current
  490.     DESCRIPTION
  491.         "Indicates the type of a PeerAddress (see below).  The values
  492.         used are from the 'Address Family Numbers' section of the
  493.         Assigned Numbers RFC [11]."
  494.     SYNTAX  INTEGER {
  495.         ipv4(1),
  496.         ipv6(2),
  497.         nsap(3),
  498.         ipx(11),
  499.         appletalk(12),
  500.         decnet(13) }
  501.  
  502. PeerAddress ::= TEXTUAL-CONVENTION
  503.     STATUS  current
  504.     DESCRIPTION
  505.         "Specifies the value of a peer address for various network
  506.         protocols.  Address format depends on the actual protocol,
  507.         as indicated below:
  508.  
  509.         IPv4:        ipv4(1)
  510.             4-octet IpAddress  (defined in the SNMPv2 SMI [2])
  511.  
  512.         IPv6:        ipv6(2)
  513.             16-octet IpAddress  (defined in the
  514.                                     IPv6 Addressing RFC [13])
  515.  
  516.         CLNS:        nsap(3)
  517.  
  518.  
  519. Nevil Brownlee                                                  [Page 9]
  520.  
  521.  
  522. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  523.  
  524.             NsapAddress  (defined in the SNMPv2 SMI [2])
  525.  
  526.         Novell:      ipx(11)
  527.             4-octet Network number,
  528.             6-octet Host number (MAC address)
  529.  
  530.         AppleTalk:   appletalk(12)
  531.             2-octet Network number (sixteen bits),
  532.             1-octet Host number (eight bits)
  533.  
  534.         DECnet:      decnet(13)
  535.             1-octet Area number (in low-order six bits),
  536.             2-octet Host number (in low-order ten bits)
  537.         "
  538.     SYNTAX OCTET STRING (SIZE (3..20))
  539.  
  540. AdjacentType ::= TEXTUAL-CONVENTION
  541.     STATUS  current
  542.     DESCRIPTION
  543.         "Indicates the type of an adjacent address.
  544.         Is a superset of MediumType and PeerType."
  545.     SYNTAX  INTEGER {
  546.         ip(1),
  547.         nsap(3),
  548.         ethernet(7),
  549.         tokenring(9),
  550.         ipx(11),
  551.         appletalk(12),
  552.         decnet(13),
  553.         fddi(15) }
  554.  
  555. AdjacentAddress ::= TEXTUAL-CONVENTION
  556.     STATUS  current
  557.     DESCRIPTION
  558.         "Specifies the value of an adjacent address.
  559.         Is a superset of MediumAddress and PeerAddress."
  560.     SYNTAX OCTET STRING (SIZE (3..20))
  561.  
  562. TransportType ::= TEXTUAL-CONVENTION
  563.     STATUS  current
  564.     DESCRIPTION
  565.         "Indicates the type of a TransportAddress (see below).  Values
  566.         will depend on the actual protocol; for IP they will be those
  567.         given in the 'Protocol Numbers' section of the  Assigned Numbers
  568.         RFC [11], including icmp(1), tcp(6) and udp(17)."
  569.     SYNTAX  Integer32 (1..255)
  570.  
  571. TransportAddress ::= TEXTUAL-CONVENTION
  572.     STATUS  current
  573.     DESCRIPTION
  574.         "Specifies the value of a transport address for various
  575.  
  576.  
  577. Nevil Brownlee                                                 [Page 10]
  578.  
  579.  
  580. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  581.  
  582.         network protocols.  Format as follows:
  583.  
  584.         IP:
  585.             2-octet UDP or TCP port number
  586.  
  587.         Other protocols:
  588.             2-octet port number
  589.         "
  590.     SYNTAX OCTET STRING (SIZE (2))
  591.  
  592. RuleAddress ::= TEXTUAL-CONVENTION
  593.     STATUS  current
  594.     DESCRIPTION
  595.         "Specifies the value of an address.  Is a superset of
  596.         MediumAddress, PeerAddress and TransportAddress."
  597.     SYNTAX OCTET STRING (SIZE (2..20))
  598.  
  599. FlowAttributeNumber ::= TEXTUAL-CONVENTION
  600.     STATUS  current
  601.     DESCRIPTION
  602.         "Uniquely identifies an attribute within a flow data record."
  603.     SYNTAX  INTEGER {
  604.         flowIndex(1),
  605.         flowStatus(2),
  606.         flowTimeMark(3),
  607.  
  608.         sourceInterface(4),
  609.         sourceAdjacentType(5),
  610.         sourceAdjacentAddress(6),
  611.         sourceAdjacentMask(7),
  612.         sourcePeerType(8),
  613.         sourcePeerAddress(9),
  614.         sourcePeerMask(10),
  615.         sourceTransType(11),
  616.         sourceTransAddress(12),
  617.         sourceTransMask(13),
  618.  
  619.         destInterface(14),
  620.         destAdjacentType(15),
  621.         destAdjacentAddress(16),
  622.         destAdjacentMask(17),
  623.         destPeerType(18),
  624.         destPeerAddress(19),
  625.         destPeerMask(20),
  626.         destTransType(21),
  627.         destTransAddress(22),
  628.         destTransMask(23),
  629.  
  630.         pduScale(24),
  631.         octetScale(25),
  632.  
  633.  
  634.  
  635. Nevil Brownlee                                                 [Page 11]
  636.  
  637.  
  638. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  639.  
  640.         ruleSet(26),
  641.         toOctets(27),             -- Source-to-Dest
  642.         toPDUs(28),
  643.         fromOctets(29),           -- Dest-to-Source
  644.         fromPDUs(30),
  645.         firstTime(31),            -- Activity times
  646.         lastActiveTime(32),
  647.  
  648.         sourceSubscriberID(33),   -- Subscriber ID
  649.         destSubscriberID(34),
  650.         sessionID(35),
  651.  
  652.         sourceClass(36),          -- Computed attributes
  653.         destClass(37),
  654.         flowClass(38),
  655.         sourceKind(39),
  656.         destKind(40),
  657.         flowKind(41) }
  658.  
  659. RuleAttributeNumber ::= TEXTUAL-CONVENTION
  660.     STATUS  current
  661.     DESCRIPTION
  662.         "Uniquely identifies an attribute which may be tested in
  663.         a rule.  These include attributes whose values come directly
  664.         from (or are computed from) the flow's packets, and the five
  665.         'meter' variables used to hold an Attribute Number."
  666.     SYNTAX  INTEGER {
  667.         null(0),
  668.         sourceInterface(4),       -- Source Address
  669.         sourceAdjacentType(5),
  670.         sourceAdjacentAddress(6),
  671.         sourcePeerType(8),
  672.         sourcePeerAddress(9),
  673.         sourceTransType(11),
  674.         sourceTransAddress(12),
  675.  
  676.         destInterface(14),        -- Dest Address
  677.         destAdjacentType(15),
  678.         destAdjacentAddress(16),
  679.         destPeerType(18),
  680.         destPeerAddress(19),
  681.         destTransType(21),
  682.         destTransAddress(22),
  683.  
  684.         sourceSubscriberID(33),   -- Subscriber ID
  685.         destSubscriberID(34),
  686.         sessionID(35),
  687.  
  688.         sourceClass(36),          -- Computed attributes
  689.         destClass(37),
  690.         flowClass(38),
  691.  
  692.  
  693. Nevil Brownlee                                                 [Page 12]
  694.  
  695.  
  696. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  697.  
  698.         sourceKind(39),
  699.         destKind(40),
  700.         flowKind(41),
  701.  
  702.         matchingStoD(50),         -- Packet matching
  703.  
  704.         v1(51),                   -- Meter variables
  705.         v2(52),
  706.         v3(53),
  707.         v4(54),
  708.         v5(55) }
  709.  
  710. ActionNumber ::= TEXTUAL-CONVENTION
  711.     STATUS  current
  712.     DESCRIPTION
  713.         "Uniquely identifies the action of a rule, i.e. the Pattern
  714.         Matching Engine's opcode number.  Details of the opcodes
  715.         are given in the 'Traffic Flow Measurement: Architecture'
  716.         document [9]."
  717.     SYNTAX  INTEGER {
  718.         ignore(1),
  719.         noMatch(2),
  720.         count(3),
  721.         countPkt(4),
  722.         return(5),
  723.         gosub(6),
  724.         gosubAct(7),
  725.         assign(8),
  726.         assignAct(9),
  727.         goto(10),
  728.         gotoAct(11),
  729.         pushRuleTo(12),
  730.         pushRuleToAct(13),
  731.         pushPktTo(14),
  732.         pushPktToAct(15) }
  733.  
  734.  
  735. --
  736. -- Control Group:  Rule Set Info Table
  737. --
  738.  
  739. flowRuleSetInfoTable OBJECT-TYPE
  740.     SYNTAX  SEQUENCE OF FlowRuleSetInfoEntry
  741.     MAX-ACCESS  not-accessible
  742.     STATUS  current
  743.     DESCRIPTION
  744.         "An array of information about the rule sets held in the
  745.         meter.
  746.  
  747.         Any manager may configure a new rule set for the meter by
  748.         creating a row in this table with status active(1), and setting
  749.  
  750.  
  751. Nevil Brownlee                                                 [Page 13]
  752.  
  753.  
  754. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  755.  
  756.         values for all the objects in its rules.  At this stage the new
  757.         rule set is available but not 'running,' i.e. it is not being
  758.         used by the meter to produce entries in the flow table.
  759.  
  760.         To actually 'run' a rule set a manager must create a row in
  761.         the flowManagerInfoTable, set it's flowManagerStatus to
  762.         active(1), and set either its CurrentRuleSet or StandbyRuleSet
  763.         to point to the rule set to be run.
  764.  
  765.         Once a rule set is running a manager may not change any of the
  766.         objects within the rule set itself.
  767.  
  768.         Any manager may stop a rule set running by removing all
  769.         references to it in the flowManagerInfoTable (i.e. by setting
  770.         CurrentRuleSet and StandbyRuleSet values to 0). This provides a
  771.         way to stop rule sets left running if a manager fails."
  772.     ::= { flowControl 1 }
  773.  
  774. flowRuleSetInfoEntry OBJECT-TYPE
  775.     SYNTAX  FlowRuleSetInfoEntry
  776.     MAX-ACCESS  not-accessible
  777.     STATUS  current
  778.     DESCRIPTION
  779.         "Information about a particular rule set."
  780.     INDEX  { flowRuleInfoIndex }
  781.     ::= { flowRuleSetInfoTable 1 }
  782.  
  783. FlowRuleSetInfoEntry ::= SEQUENCE {
  784.     flowRuleInfoIndex         Integer32,
  785.     flowRuleInfoSize          Integer32,
  786.     flowRuleInfoOwner         OwnerString,
  787.     flowRuleInfoTimeStamp     TimeStamp,
  788.     flowRuleInfoStatus        RowStatus,
  789.     flowRuleInfoName          OCTET STRING,
  790.     flowRuleInfoRulesReady    TruthValue,
  791.     flowRuleInfoFlowRecords   Integer32
  792.     }
  793.  
  794. flowRuleInfoIndex OBJECT-TYPE
  795.     SYNTAX  Integer32 (1..2147483647)
  796.     MAX-ACCESS  not-accessible
  797.     STATUS  current
  798.     DESCRIPTION
  799.         "An index which selects an entry in the flowRuleSetInfoTable.
  800.         Each such entry contains control information for a particular
  801.         rule set which the meter may run."
  802.     ::= { flowRuleSetInfoEntry 1 }
  803.  
  804. flowRuleInfoSize OBJECT-TYPE
  805.     SYNTAX  Integer32
  806.     MAX-ACCESS  read-create
  807.  
  808.  
  809. Nevil Brownlee                                                 [Page 14]
  810.  
  811.  
  812. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  813.  
  814.     STATUS  current
  815.     DESCRIPTION
  816.         "Number of rules in this rule set.  Setting this variable will
  817.         cause the meter to allocate space for these rules."
  818.     ::= { flowRuleSetInfoEntry 2 }
  819.  
  820. flowRuleInfoOwner OBJECT-TYPE
  821.     SYNTAX  OwnerString
  822.     MAX-ACCESS  read-create
  823.     STATUS  current
  824.     DESCRIPTION
  825.         "Identifies the manager which 'owns' this rule set.  A manager
  826.         must set this variable when creating a row in this table."
  827.     ::= { flowRuleSetInfoEntry 3 }
  828.  
  829. flowRuleInfoTimeStamp OBJECT-TYPE
  830.     SYNTAX  TimeStamp
  831.     MAX-ACCESS  read-only
  832.     STATUS  current
  833.     DESCRIPTION
  834.         "Time this row's associated rule set was last changed."
  835.     ::= { flowRuleSetInfoEntry 4 }
  836.  
  837. flowRuleInfoStatus OBJECT-TYPE
  838.     SYNTAX  RowStatus
  839.     MAX-ACCESS  read-create
  840.     STATUS  current
  841.     DESCRIPTION
  842.         "The status of this flowRuleSetInfoEntry. If this value is
  843.         not active(1) the meter must not attempt to use the row's
  844.         associated rule set.  Once its value has been set to active(1)
  845.         a manager may only change this row's flowRuleInfoSize,
  846.         flowRuleInfoName and floeRuleInfoRulesReady variables."
  847.     ::= { flowRuleSetInfoEntry 5 }
  848.  
  849. flowRuleInfoName OBJECT-TYPE
  850.     SYNTAX  OCTET STRING
  851.     MAX-ACCESS  read-create
  852.     STATUS  current
  853.     DESCRIPTION
  854.         "An alphanumeric identifier used by managers and readers to
  855.         identify a rule set.  For example, a manager wishing to run a
  856.         rule set named WWW-FLOWS could search the flowRuleSetInfoTable
  857.         to see whether the WWW-FLOWS rule set is already available on
  858.         the meter.
  859.  
  860.         Note that references to rule sets in the flowManagerInfoTable
  861.         use indexes for their flowRuleSetInfoTable entries.  These may
  862.         be different each time the rule set is loaded into a meter."
  863.     ::= { flowRuleSetInfoEntry 6 }
  864.  
  865.  
  866.  
  867. Nevil Brownlee                                                 [Page 15]
  868.  
  869.  
  870. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  871.  
  872. flowRuleInfoRulesReady OBJECT-TYPE
  873.     SYNTAX  TruthValue
  874.     MAX-ACCESS  read-create
  875.     STATUS  current
  876.     DESCRIPTION
  877.         "Indicates whether the rules for this row's associated rule set
  878.         are ready for use.  The meter will refuse to 'run' the rule set
  879.         unless this variable has been set to true(1)."
  880.     ::= { flowRuleSetInfoEntry 7 }
  881.  
  882. flowRuleInfoFlowRecords OBJECT-TYPE
  883.     SYNTAX  Integer32
  884.     MAX-ACCESS  read-only
  885.     STATUS  current
  886.     DESCRIPTION
  887.         "The number of entries in the flow table for this rule set.
  888.         These may be current (waiting for collection by one or more
  889.         meter readers) or idle (waiting for the meter to recover
  890.         their memory)."
  891.     ::= { flowRuleSetInfoEntry 8 }
  892.  
  893. --
  894. -- Control Group:  Interface Info Table
  895. --
  896.  
  897. flowInterfaceTable OBJECT-TYPE
  898.     SYNTAX  SEQUENCE OF FlowInterfaceEntry
  899.     MAX-ACCESS  not-accessible
  900.     STATUS  current
  901.     DESCRIPTION
  902.         "An array of information specific to each meter interface."
  903.     ::= { flowControl 2 }
  904.  
  905. flowInterfaceEntry OBJECT-TYPE
  906.     SYNTAX  FlowInterfaceEntry
  907.     MAX-ACCESS  not-accessible
  908.     STATUS  current
  909.     DESCRIPTION
  910.         "Information about a particular interface."
  911.     INDEX   { ifIndex }
  912.     ::= { flowInterfaceTable 1 }
  913.  
  914. FlowInterfaceEntry ::= SEQUENCE {
  915.     flowInterfaceSampleRate   Integer32,
  916.     flowInterfaceLostPackets  Counter32
  917.     }
  918.  
  919. flowInterfaceSampleRate OBJECT-TYPE
  920.     SYNTAX  Integer32
  921.     MAX-ACCESS  read-write
  922.     STATUS  current
  923.  
  924.  
  925. Nevil Brownlee                                                 [Page 16]
  926.  
  927.  
  928. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  929.  
  930.     DESCRIPTION
  931.         "The parameter N for statistical counting on this interface.
  932.         Set to N to count 1/Nth of the packets appearing at this
  933.         interface.  A meter should choose its own algorithm to
  934.         introduce variance into the sampling so that exactly every Nth
  935.         packet is not counted.  A sampling rate of 1 counts all
  936.         packets.  A sampling rate of 0 results in the interface
  937.         being ignored by the meter."
  938.     DEFVAL { 1 }
  939.     ::= { flowInterfaceEntry 1 }
  940.  
  941. flowInterfaceLostPackets OBJECT-TYPE
  942.     SYNTAX  Counter32
  943.     MAX-ACCESS  read-only
  944.     STATUS  current
  945.     DESCRIPTION
  946.         "The number of packets the meter has lost for this interface.
  947.         Such losses may occur because the meter has been unable to
  948.         keep up with the traffic volume."
  949.     ::= { flowInterfaceEntry 2 }
  950.  
  951. --
  952. -- Control Group:  Meter Reader Info Table
  953. --
  954.  
  955. -- Any meter reader wishing to collect data reliably for flows
  956. -- should first create a row in this table.  It should write that
  957. -- row's flowReaderLastTime object each time it starts a collection
  958. -- pass through the flow table.
  959.  
  960. -- If a meter reader (MR) does not create a row in this table, e.g.
  961. -- because it failed authentication in the meter's SNMP write
  962. -- community, collection can still proceed but the meter will not be
  963. -- aware of meter reader MR.  This could lead the meter to recover
  964. -- flows before they have been collected by MR.
  965.  
  966. flowReaderInfoTable OBJECT-TYPE
  967.     SYNTAX  SEQUENCE OF FlowReaderInfoEntry
  968.     MAX-ACCESS  not-accessible
  969.     STATUS  current
  970.     DESCRIPTION
  971.         "An array of information about meter readers which have
  972.         registered their intent to collect flow data from this meter."
  973.     ::= { flowControl 3 }
  974.  
  975. flowReaderInfoEntry OBJECT-TYPE
  976.     SYNTAX  FlowReaderInfoEntry
  977.     MAX-ACCESS  not-accessible
  978.     STATUS  current
  979.     DESCRIPTION
  980.         "Information about a particular meter reader."
  981.  
  982.  
  983. Nevil Brownlee                                                 [Page 17]
  984.  
  985.  
  986. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  987.  
  988.     INDEX  { flowReaderIndex }
  989.     ::= { flowReaderInfoTable 1 }
  990.  
  991. FlowReaderInfoEntry ::= SEQUENCE {
  992.     flowReaderIndex            Integer32,
  993.     flowReaderTimeout          Integer32,
  994.     flowReaderOwner            OwnerString,
  995.     flowReaderLastTime         TimeStamp,
  996.     flowReaderPreviousTime     TimeStamp,
  997.     flowReaderStatus           RowStatus,
  998.     flowReaderRuleSet          Integer32
  999.     }
  1000.  
  1001. flowReaderIndex OBJECT-TYPE
  1002.     SYNTAX  Integer32 (1..2147483647)
  1003.     MAX-ACCESS  not-accessible
  1004.     STATUS  current
  1005.     DESCRIPTION
  1006.         "An index which selects an entry in the flowReaderInfoTable."
  1007.     ::= { flowReaderInfoEntry 1 }
  1008.  
  1009. flowReaderTimeout OBJECT-TYPE
  1010.     SYNTAX  Integer32
  1011.     MAX-ACCESS  read-create
  1012.     STATUS  current
  1013.     DESCRIPTION
  1014.         "Specifies the maximum time (in seconds) between flow data
  1015.         collections for this meter reader.  If this time elapses
  1016.         without a collection, the meter should assume that this meter
  1017.         reader has stopped collecting, and delete this row from the
  1018.         table.  A value of zero indicates that this row should not be
  1019.         timed out."
  1020.     ::= { flowReaderInfoEntry 2 }
  1021.  
  1022. flowReaderOwner OBJECT-TYPE
  1023.     SYNTAX  OwnerString
  1024.     MAX-ACCESS  read-create
  1025.     STATUS  current
  1026.     DESCRIPTION
  1027.         "Identifies the meter reader which created this row."
  1028.     ::= { flowReaderInfoEntry 3 }
  1029.  
  1030. flowReaderLastTime OBJECT-TYPE
  1031.     SYNTAX  TimeStamp
  1032.     MAX-ACCESS  read-write
  1033.     STATUS  current
  1034.     DESCRIPTION
  1035.         "Time this meter reader began its most recent data collection.
  1036.  
  1037.         This variable should be written by a meter reader as its first
  1038.         step in reading flow data.  The meter will set this LastTime
  1039.  
  1040.  
  1041. Nevil Brownlee                                                 [Page 18]
  1042.  
  1043.  
  1044. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1045.  
  1046.         value to sysUptime and set its PreviousTime value (below) to
  1047.         the old  LastTime.  This allows the meter to recover flows
  1048.         which have been inactive since PreviousTime, for these have
  1049.         been collected at least once.
  1050.  
  1051.         If the meter reader fails to write flowLastReadTime, collection
  1052.         may still proceed but the meter may not be able to recover
  1053.         inactive flows until the flowReaderTimeout has been reached
  1054.         for this entry."
  1055.     ::= { flowReaderInfoEntry 4 }
  1056.  
  1057. flowReaderPreviousTime OBJECT-TYPE
  1058.     SYNTAX  TimeStamp
  1059.     MAX-ACCESS  read-only
  1060.     STATUS  current
  1061.     DESCRIPTION
  1062.         "Time this meter reader began the collection before last."
  1063.     ::= { flowReaderInfoEntry 5 }
  1064.  
  1065. flowReaderStatus OBJECT-TYPE
  1066.     SYNTAX  RowStatus
  1067.     MAX-ACCESS  read-create
  1068.     STATUS  current
  1069.     DESCRIPTION
  1070.         "The status of this FlowReaderInfoEntry. A value of active(1)
  1071.         implies that the associated reader should be collecting data
  1072.         from the meter.  Once this variable has been set to active(1)
  1073.         a manager may only change this row's flowReaderLastTime and
  1074.         flowReaderTimeout variables."
  1075.     ::= { flowReaderInfoEntry 6 }
  1076.  
  1077. flowReaderRuleSet OBJECT-TYPE
  1078.     SYNTAX  Integer32 (1..2147483647)
  1079.     MAX-ACCESS  read-create
  1080.     STATUS  current
  1081.     DESCRIPTION
  1082.         "An index to the array of rule sets.  Specifies a set of rules
  1083.         of interest to this meter reader.  The reader will attempt to
  1084.         collect any data generated by the meter for this rule set, and
  1085.         the meter will not recover the memory of any of the rule set's
  1086.         flows until this collection has taken place.  Note that a
  1087.         reader may have entries in this table for several rule sets."
  1088.     ::= { flowReaderInfoEntry 7 }
  1089.  
  1090. --
  1091. -- Control Group:  Manager Info Table
  1092. --
  1093.  
  1094. -- Any manager wishing to run a rule set must create a row in this
  1095. -- table.  Once it has a table row, the manager may set the control
  1096. -- variables in its row so as to cause the meter to run any valid
  1097.  
  1098.  
  1099. Nevil Brownlee                                                 [Page 19]
  1100.  
  1101.  
  1102. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1103.  
  1104. -- rule set held by the meter.
  1105.  
  1106. -- A single manager may run several rule sets; it must create a row
  1107. -- in this table for each of them.  In short, each row of this table
  1108. -- describes (and controls) a 'task' which the meter is executing.
  1109.  
  1110. flowManagerInfoTable OBJECT-TYPE
  1111.     SYNTAX  SEQUENCE OF FlowManagerInfoEntry
  1112.     MAX-ACCESS  not-accessible
  1113.     STATUS  current
  1114.     DESCRIPTION
  1115.         "An array of information about managers which have
  1116.         registered their intent to run rule sets on this meter."
  1117.     ::= { flowControl 4 }
  1118.  
  1119. flowManagerInfoEntry OBJECT-TYPE
  1120.     SYNTAX  FlowManagerInfoEntry
  1121.     MAX-ACCESS  not-accessible
  1122.     STATUS  current
  1123.     DESCRIPTION
  1124.         "Information about a particular meter 'task.'  By creating
  1125.         an entry in this table and activating it, a manager requests
  1126.         that the meter 'run' the indicated rule set.
  1127.  
  1128.         The entry also specifies a HighWaterMark and a StandbyRuleSet.
  1129.         If the meter's flow table usage exceeds this task's
  1130.         HighWaterMark the meter will stop running the task's
  1131.         CurrentRuleSet and switch to its StandbyRuleSet.
  1132.  
  1133.         If the value of the task's StandbyRuleSet is 0 when its
  1134.         HighWaterMark is exceeded, the meter simply stops running the
  1135.         task's CurrentRuleSet.  By careful selection of HighWaterMarks
  1136.         for the various tasks a manager can ensure that the most
  1137.         critical rule sets are the last to stop running as the number
  1138.         of flows increases.
  1139.  
  1140.         When a manager has determined that the demand for flow table
  1141.         space has abated, it may cause the task to switch back to its
  1142.         CurrentRuleSet by setting its flowManagerRunningStandby
  1143.         variable to false(2)."
  1144.     INDEX  { flowManagerIndex }
  1145.     ::= { flowManagerInfoTable 1 }
  1146.  
  1147. FlowManagerInfoEntry ::= SEQUENCE {
  1148.     flowManagerIndex           Integer32,
  1149.     flowManagerCurrentRuleSet  Integer32,
  1150.     flowManagerStandbyRuleSet  Integer32,
  1151.     flowManagerHighWaterMark   Integer32,
  1152.     flowManagerCounterWrap     INTEGER,
  1153.     flowManagerOwner           OwnerString,
  1154.     flowManagerTimeStamp       TimeStamp,
  1155.  
  1156.  
  1157. Nevil Brownlee                                                 [Page 20]
  1158.  
  1159.  
  1160. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1161.  
  1162.     flowManagerStatus          RowStatus,
  1163.     flowManagerRunningStandby  TruthValue
  1164.     }
  1165.  
  1166. flowManagerIndex OBJECT-TYPE
  1167.     SYNTAX  Integer32 (1..2147483647)
  1168.     MAX-ACCESS  not-accessible
  1169.     STATUS  current
  1170.     DESCRIPTION
  1171.         "An index which selects an entry in the flowManagerInfoTable."
  1172.     ::= { flowManagerInfoEntry 1 }
  1173.  
  1174. flowManagerCurrentRuleSet OBJECT-TYPE
  1175.     SYNTAX  Integer32
  1176.     MAX-ACCESS  read-create
  1177.     STATUS  current
  1178.     DESCRIPTION
  1179.         "Index to the array of rule sets.  Specifies which set of
  1180.         rules is the 'current' one for this task.  The meter will
  1181.         be 'running' the current ruleset if this row's
  1182.         flowManagerRunningStandby value is false(2).
  1183.  
  1184.         When the manager sets this variable the meter will close the
  1185.         task's old current rule set and start using the new one.
  1186.         Specifying rule set 0 (the empty set) stops flow measurement
  1187.         by this manager.   Flows created by the old rule set remain
  1188.         in memory, orphaned until their data has been read."
  1189.     ::= { flowManagerInfoEntry 2 }
  1190.  
  1191. flowManagerStandbyRuleSet OBJECT-TYPE
  1192.     SYNTAX  Integer32
  1193.     MAX-ACCESS  read-create
  1194.     STATUS  current
  1195.     DESCRIPTION
  1196.         "Index to the array of rule sets.  After reaching HighWaterMark
  1197.         (see below) the manager will switch to using the task's
  1198.         StandbyRuleSet in place of its CurrentRuleSet.  For this to be
  1199.         effective the designated StandbyRuleSet should have a coarser
  1200.         reporting granularity then the CurrentRuleSet.  The manager may
  1201.         also need to decrease the meter reading interval so that the
  1202.         meter can recover flows measured by the CurrentRuleSet."
  1203.     DEFVAL { 0 }  -- No standby
  1204.     ::= { flowManagerInfoEntry 3 }
  1205.  
  1206. flowManagerHighWaterMark OBJECT-TYPE
  1207.     SYNTAX  Integer32 (0..100)
  1208.     MAX-ACCESS  read-create
  1209.     STATUS  current
  1210.     DESCRIPTION
  1211.         "A value expressed as a percentage, interpreted by the meter
  1212.         as an indication of how full the flow table should be before
  1213.  
  1214.  
  1215. Nevil Brownlee                                                 [Page 21]
  1216.  
  1217.  
  1218. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1219.  
  1220.         it should switch to the standby rule set (if one has been
  1221.         specified) for this task.  Values of 0% or 100% disable the
  1222.         checking represented by this variable."
  1223.     ::= { flowManagerInfoEntry 4 }
  1224.  
  1225. flowManagerCounterWrap OBJECT-TYPE
  1226.     SYNTAX  INTEGER { wrap(1), scale(2) }
  1227.     MAX-ACCESS  read-create
  1228.     STATUS  deprecated
  1229.     DESCRIPTION
  1230.         "Specifies whether PDU and octet counters should wrap when
  1231.         they reach the top of their range (normal behaviour for
  1232.         Counter64 objects), or whether their scale factors should
  1233.         be used instead.  The combination of counter and scale
  1234.         factor allows counts to be returned as binary floating
  1235.         point numbers, with 64-bit mantissas and 8-bit exponents."
  1236.     DEFVAL { wrap }
  1237.     ::= { flowManagerInfoEntry 5 }
  1238.  
  1239. flowManagerOwner OBJECT-TYPE
  1240.     SYNTAX  OwnerString
  1241.     MAX-ACCESS  read-create
  1242.     STATUS  current
  1243.     DESCRIPTION
  1244.         "Identifies the manager which created this row."
  1245.     ::= { flowManagerInfoEntry 6 }
  1246.  
  1247. flowManagerTimeStamp OBJECT-TYPE
  1248.     SYNTAX  TimeStamp
  1249.     MAX-ACCESS  read-only
  1250.     STATUS  current
  1251.     DESCRIPTION
  1252.         "Time this row was last changed by its manager."
  1253.     ::= { flowManagerInfoEntry 7 }
  1254.  
  1255. flowManagerStatus OBJECT-TYPE
  1256.     SYNTAX  RowStatus
  1257.     MAX-ACCESS  read-create
  1258.     STATUS  current
  1259.     DESCRIPTION
  1260.         "The status of this row in the flowManagerInfoTable.  A value
  1261.         of active(1) implies that this task may be activated, by
  1262.         setting its CurrentRuleSet and StandbyRuleSet variables.
  1263.         Its HighWaterMark and RunningStandby variables may also be
  1264.         changed."
  1265.     ::= { flowManagerInfoEntry 8 }
  1266.  
  1267. flowManagerRunningStandby OBJECT-TYPE
  1268.     SYNTAX  TruthValue
  1269.     MAX-ACCESS  read-create
  1270.     STATUS  current
  1271.  
  1272.  
  1273. Nevil Brownlee                                                 [Page 22]
  1274.  
  1275.  
  1276. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1277.  
  1278.     DESCRIPTION
  1279.         "Set to true(1) by the meter to indicate that it has switched
  1280.         to runnning this task's StandbyRuleSet in place of its
  1281.         CurrentRuleSet.  To switch back to the CurrentRuleSet, the
  1282.         manager may simply set this variable to false(2)."
  1283.     DEFVAL { false }
  1284.     ::= { flowManagerInfoEntry 9 }
  1285.  
  1286. --
  1287. -- Control Group:  General Meter Control Variables
  1288. --
  1289.  
  1290. flowFloodMark OBJECT-TYPE
  1291.     SYNTAX  Integer32 (0..100)
  1292.     MAX-ACCESS  read-write
  1293.     STATUS  current
  1294.     DESCRIPTION
  1295.         "A value expressed as a percentage, interpreted by the meter
  1296.         as an indication of how full the flow table should be before
  1297.         it should take some action to avoid running out of resources
  1298.         to handle new flows.  Values of 0% or 100% disable the
  1299.         checking represented by this variable."
  1300.     DEFVAL { 95 } -- Enabled by default.
  1301.     ::= { flowControl 5 }
  1302.  
  1303. flowInactivityTimeout OBJECT-TYPE
  1304.     SYNTAX  Integer32
  1305.     MAX-ACCESS  read-write
  1306.     STATUS  current
  1307.     DESCRIPTION
  1308.         "The time in seconds since the last packet seen, after which
  1309.         a flow becomes 'idle.'  Note that although a flow may be
  1310.         idle, it will not be discarded (and its memory recovered)
  1311.         until after its data has been collected by all the meter
  1312.         readers registered for its RuleSet."
  1313.     DEFVAL { 600 } -- 10 minutes
  1314.     ::= { flowControl 6 }
  1315.  
  1316. flowActiveFlows OBJECT-TYPE
  1317.     SYNTAX  Integer32
  1318.     MAX-ACCESS  read-only
  1319.     STATUS  current
  1320.     DESCRIPTION
  1321.         "The numbers of flows which are currently in use."
  1322.     ::= { flowControl 7 }
  1323.  
  1324. flowMaxFlows OBJECT-TYPE
  1325.     SYNTAX  Integer32
  1326.     MAX-ACCESS  read-only
  1327.     STATUS  current
  1328.     DESCRIPTION
  1329.  
  1330.  
  1331. Nevil Brownlee                                                 [Page 23]
  1332.  
  1333.  
  1334. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1335.  
  1336.         "The maximum number of flows allowed in the meter's
  1337.         flow table.  At present this is determined when the meter
  1338.         is first started up."
  1339.     ::= { flowControl 8 }
  1340.  
  1341. flowFloodMode OBJECT-TYPE
  1342.     SYNTAX  TruthValue
  1343.     MAX-ACCESS  read-write
  1344.     STATUS  current
  1345.     DESCRIPTION
  1346.         "Indicates that the meter has passed its FloodMark and is
  1347.         not running in its normal mode.  When a manager notices this
  1348.         it should take action to remedy the problem which caused the
  1349.         flooding.  Once the flood has receded, the manager may set
  1350.         this variable to false(2) to resume normal operaation."
  1351.     ::= { flowControl 9 }
  1352.  
  1353.  
  1354. --
  1355. -- The Flow Table
  1356. --
  1357.  
  1358. -- This is a table kept by a meter, with one flow data entry for every
  1359. -- flow being measured.  Each flow data entry stores the attribute
  1360. -- values for a traffic flow.  Details of flows and their attributes
  1361. -- are given in the 'Traffic Flow Measurement: Architecture'
  1362. -- document [9].
  1363.  
  1364. -- From time to time a meter reader may sweep the flow table so as
  1365. -- to read counts.  This is most effectively achieved by using the
  1366. -- TimeMark variable together with successive GetBulk requests to
  1367. -- retrieve the values of the desired flow attribute variables.
  1368.  
  1369. -- This scheme allows multiple meter readers to independently use the
  1370. -- same meter; the meter readers do not have to be synchronised and
  1371. -- they may use different collection intervals.
  1372.  
  1373. flowDataTable OBJECT-TYPE
  1374.     SYNTAX  SEQUENCE OF FlowDataEntry
  1375.     MAX-ACCESS  not-accessible
  1376.     STATUS  current
  1377.     DESCRIPTION
  1378.         "The list of all flows being measured."
  1379.     ::= { flowData 1 }
  1380.  
  1381. flowDataEntry OBJECT-TYPE
  1382.     SYNTAX  FlowDataEntry
  1383.     MAX-ACCESS  not-accessible
  1384.     STATUS  current
  1385.     DESCRIPTION
  1386.         "The flow data record for a particular flow."
  1387.  
  1388.  
  1389. Nevil Brownlee                                                 [Page 24]
  1390.  
  1391.  
  1392. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1393.  
  1394.     INDEX { flowDataRuleSet, flowDataTimeMark, flowDataIndex }
  1395.     ::= { flowDataTable 1 }
  1396.  
  1397. FlowDataEntry ::= SEQUENCE {
  1398.     flowDataIndex                   Integer32,
  1399.     flowDataTimeMark                TimeFilter,
  1400.     flowDataStatus                  INTEGER,
  1401.  
  1402.     flowDataSourceInterface         Integer32,
  1403.     flowDataSourceAdjacentType      AdjacentType,
  1404.     flowDataSourceAdjacentAddress   AdjacentAddress,
  1405.     flowDataSourceAdjacentMask      AdjacentAddress,
  1406.     flowDataSourcePeerType          PeerType,
  1407.     flowDataSourcePeerAddress       PeerAddress,
  1408.     flowDataSourcePeerMask          PeerAddress,
  1409.     flowDataSourceTransType         TransportType,
  1410.     flowDataSourceTransAddress      TransportAddress,
  1411.     flowDataSourceTransMask         TransportAddress,
  1412.  
  1413.     flowDataDestInterface           Integer32,
  1414.     flowDataDestAdjacentType        AdjacentType,
  1415.     flowDataDestAdjacentAddress     AdjacentAddress,
  1416.     flowDataDestAdjacentMask        AdjacentAddress,
  1417.     flowDataDestPeerType            PeerType,
  1418.     flowDataDestPeerAddress         PeerAddress,
  1419.     flowDataDestPeerMask            PeerAddress,
  1420.     flowDataDestTransType           TransportType,
  1421.     flowDataDestTransAddress        TransportAddress,
  1422.     flowDataDestTransMask           TransportAddress,
  1423.  
  1424.     flowDataPDUScale                Integer32,
  1425.     flowDataOctetScale              Integer32,
  1426.  
  1427.     flowDataRuleSet                 Integer32,
  1428.  
  1429.     flowDataToOctets                Counter64,    -- Source->Dest
  1430.     flowDataToPDUs                  Counter64,
  1431.     flowDataFromOctets              Counter64,    -- Dest->Source
  1432.     flowDataFromPDUs                Counter64,
  1433.     flowDataFirstTime               TimeStamp,    -- Activity times
  1434.     flowDataLastActiveTime          TimeStamp,
  1435.  
  1436.     flowDataSourceSubscriberID      OCTET STRING,
  1437.     flowDataDestSubscriberID        OCTET STRING,
  1438.     flowDataSessionID               OCTET STRING,
  1439.  
  1440.     flowDataSourceClass             Integer32,
  1441.     flowDataDestClass               Integer32,
  1442.     flowDataClass                   Integer32,
  1443.     flowDataSourceKind              Integer32,
  1444.     flowDataDestKind                Integer32,
  1445.  
  1446.  
  1447. Nevil Brownlee                                                 [Page 25]
  1448.  
  1449.  
  1450. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1451.  
  1452.     flowDataKind                    Integer32
  1453.     }
  1454.  
  1455. flowDataIndex OBJECT-TYPE
  1456.     SYNTAX  Integer32 (1..2147483647)
  1457.     MAX-ACCESS  not-accessible
  1458.     STATUS  current
  1459.     DESCRIPTION
  1460.         "Value of this flow data record's index within the meter's
  1461.         flow table."
  1462.     ::= { flowDataEntry 1 }
  1463.  
  1464. flowDataTimeMark OBJECT-TYPE
  1465.     SYNTAX  TimeFilter
  1466.     MAX-ACCESS  not-accessible
  1467.     STATUS  current
  1468.     DESCRIPTION
  1469.         "A TimeFilter for this entry.  Allows GetNext and GetBulk
  1470.         to find flow table rows which have changed since a specified
  1471.         value of sysUptime."
  1472.     ::= { flowDataEntry 2 }
  1473.  
  1474. flowDataStatus OBJECT-TYPE
  1475.     SYNTAX  INTEGER { inactive(1), current(2) }
  1476.     MAX-ACCESS  read-only
  1477.     STATUS  current
  1478.     DESCRIPTION
  1479.         "Status of this flow data record."
  1480.     ::= { flowDataEntry 3 }
  1481.  
  1482. flowDataSourceInterface OBJECT-TYPE
  1483.     SYNTAX  Integer32
  1484.     MAX-ACCESS  read-only
  1485.     STATUS  current
  1486.     DESCRIPTION
  1487.         "Index of the interface associated with the source address
  1488.         for this flow.  It's value is one of those contained in the
  1489.         ifIndex field of the meter's interfaces table."
  1490.     ::= { flowDataEntry 4 }
  1491.  
  1492. flowDataSourceAdjacentType OBJECT-TYPE
  1493.     SYNTAX  AdjacentType
  1494.     MAX-ACCESS  read-only
  1495.     STATUS  current
  1496.     DESCRIPTION
  1497.         "Adjacent address type of the source for this flow.  If
  1498.         metering is being performed at the network level this will
  1499.         probably be an 802 MAC address, and the adjacent type will
  1500.         indicate the medium being used.  If traffic is being metered
  1501.         inside a tunnel, its adjacent address type will be the peer
  1502.         type of the host at the end of the tunnel."
  1503.  
  1504.  
  1505. Nevil Brownlee                                                 [Page 26]
  1506.  
  1507.  
  1508. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1509.  
  1510.     ::= { flowDataEntry 5 }
  1511.  
  1512. flowDataSourceAdjacentAddress OBJECT-TYPE
  1513.     SYNTAX  AdjacentAddress
  1514.     MAX-ACCESS  read-only
  1515.     STATUS  current
  1516.     DESCRIPTION
  1517.         "Address of the adjacent device on the path for the source
  1518.         for this flow."
  1519.     ::= { flowDataEntry 6 }
  1520.  
  1521. flowDataSourceAdjacentMask OBJECT-TYPE
  1522.     SYNTAX  AdjacentAddress
  1523.     MAX-ACCESS  read-only
  1524.     STATUS  current
  1525.     DESCRIPTION
  1526.         "1-bits in this mask indicate which bits must match when
  1527.         comparing the adjacent source address for this flow."
  1528.     ::= { flowDataEntry 7 }
  1529.  
  1530. flowDataSourcePeerType OBJECT-TYPE
  1531.     SYNTAX  PeerType
  1532.     MAX-ACCESS  read-only
  1533.     STATUS  current
  1534.     DESCRIPTION
  1535.         "Peer address type of the source for this flow."
  1536.     ::= { flowDataEntry 8 }
  1537.  
  1538. flowDataSourcePeerAddress OBJECT-TYPE
  1539.     SYNTAX  PeerAddress
  1540.     MAX-ACCESS  read-only
  1541.     STATUS  current
  1542.     DESCRIPTION
  1543.         "Address of the peer device for the source of this flow."
  1544.     ::= { flowDataEntry 9 }
  1545.  
  1546. flowDataSourcePeerMask OBJECT-TYPE
  1547.     SYNTAX  PeerAddress
  1548.     MAX-ACCESS  read-only
  1549.     STATUS  current
  1550.     DESCRIPTION
  1551.         "1-bits in this mask indicate which bits must match when
  1552.         comparing the source peer address for this flow."
  1553.     ::= { flowDataEntry 10 }
  1554.  
  1555. flowDataSourceTransType OBJECT-TYPE
  1556.     SYNTAX  TransportType
  1557.     MAX-ACCESS  read-only
  1558.     STATUS  current
  1559.     DESCRIPTION
  1560.         "Transport address type of the source for this flow.  The
  1561.  
  1562.  
  1563. Nevil Brownlee                                                 [Page 27]
  1564.  
  1565.  
  1566. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1567.  
  1568.         value of this attribute will depend on the peer address type."
  1569.     ::= { flowDataEntry 11 }
  1570.  
  1571. flowDataSourceTransAddress OBJECT-TYPE
  1572.     SYNTAX  TransportAddress
  1573.     MAX-ACCESS  read-only
  1574.     STATUS  current
  1575.     DESCRIPTION
  1576.         "Transport address for the source of this flow."
  1577.     ::= { flowDataEntry 12 }
  1578.  
  1579. flowDataSourceTransMask OBJECT-TYPE
  1580.     SYNTAX  TransportAddress
  1581.     MAX-ACCESS  read-only
  1582.     STATUS  current
  1583.     DESCRIPTION
  1584.         "1-bits in this mask indicate which bits must match when
  1585.         comparing the transport source address for this flow."
  1586.     ::= { flowDataEntry 13 }
  1587.  
  1588. flowDataDestInterface OBJECT-TYPE
  1589.     SYNTAX  Integer32
  1590.     MAX-ACCESS  read-only
  1591.     STATUS  current
  1592.     DESCRIPTION
  1593.         "Index of the interface associated with the dest address for
  1594.         this flow.  This value is one of the values contained in the
  1595.         ifIndex field of the interfaces table."
  1596.     ::= { flowDataEntry 14 }
  1597.  
  1598. flowDataDestAdjacentType OBJECT-TYPE
  1599.     SYNTAX  AdjacentType
  1600.     MAX-ACCESS  read-only
  1601.     STATUS  current
  1602.     DESCRIPTION
  1603.         "Adjacent address type of the destination for this flow."
  1604.     ::= { flowDataEntry 15 }
  1605.  
  1606. flowDataDestAdjacentAddress OBJECT-TYPE
  1607.     SYNTAX  AdjacentAddress
  1608.     MAX-ACCESS  read-only
  1609.     STATUS  current
  1610.     DESCRIPTION
  1611.         "Address of the adjacent device on the path for the
  1612.         destination for this flow."
  1613.     ::= { flowDataEntry 16 }
  1614.  
  1615. flowDataDestAdjacentMask OBJECT-TYPE
  1616.     SYNTAX  AdjacentAddress
  1617.     MAX-ACCESS  read-only
  1618.     STATUS  current
  1619.  
  1620.  
  1621. Nevil Brownlee                                                 [Page 28]
  1622.  
  1623.  
  1624. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1625.  
  1626.     DESCRIPTION
  1627.         "1-bits in this mask indicate which bits must match when
  1628.         comparing the adjacent dest address for this flow."
  1629.     ::= { flowDataEntry 17 }
  1630.  
  1631. flowDataDestPeerType OBJECT-TYPE
  1632.     SYNTAX  PeerType
  1633.     MAX-ACCESS  read-only
  1634.     STATUS  current
  1635.     DESCRIPTION
  1636.         "Peer address type of the destination for this flow."
  1637.     ::= { flowDataEntry 18 }
  1638.  
  1639. flowDataDestPeerAddress OBJECT-TYPE
  1640.     SYNTAX  PeerAddress
  1641.     MAX-ACCESS  read-only
  1642.     STATUS  current
  1643.     DESCRIPTION
  1644.         "Address of the peer device for the destination of this flow."
  1645.     ::= { flowDataEntry 19 }
  1646.  
  1647. flowDataDestPeerMask OBJECT-TYPE
  1648.     SYNTAX  PeerAddress
  1649.     MAX-ACCESS  read-only
  1650.     STATUS  current
  1651.     DESCRIPTION
  1652.         "1-bits in this mask indicate which bits must match when
  1653.         comparing the dest peer type for this flow."
  1654.     ::= { flowDataEntry 20 }
  1655.  
  1656. flowDataDestTransType OBJECT-TYPE
  1657.     SYNTAX  TransportType
  1658.     MAX-ACCESS  read-only
  1659.     STATUS  current
  1660.     DESCRIPTION
  1661.         "Transport address type of the destination for this flow.  The
  1662.         value of this attribute will depend on the peer address type."
  1663.     ::= { flowDataEntry 21 }
  1664.  
  1665. flowDataDestTransAddress OBJECT-TYPE
  1666.     SYNTAX  TransportAddress
  1667.     MAX-ACCESS  read-only
  1668.     STATUS  current
  1669.     DESCRIPTION
  1670.         "Transport address for the destination of this flow."
  1671.     ::= { flowDataEntry 22 }
  1672.  
  1673. flowDataDestTransMask OBJECT-TYPE
  1674.     SYNTAX  TransportAddress
  1675.     MAX-ACCESS  read-only
  1676.     STATUS  current
  1677.  
  1678.  
  1679. Nevil Brownlee                                                 [Page 29]
  1680.  
  1681.  
  1682. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1683.  
  1684.     DESCRIPTION
  1685.         "1-bits in this mask indicate which bits must match when
  1686.         comparing the transport destination address for this flow."
  1687.     ::= { flowDataEntry 23 }
  1688.  
  1689. flowDataPDUScale OBJECT-TYPE
  1690.     SYNTAX  Integer32 (1..255)
  1691.     MAX-ACCESS  read-only
  1692.     STATUS  current
  1693.     DESCRIPTION
  1694.         "The scale factor applied to this particular flow.  Indicates
  1695.         the number of bits the PDU counter values should be moved left
  1696.         to obtain the actual values."
  1697.     ::= { flowDataEntry 24 }
  1698.  
  1699. flowDataOctetScale OBJECT-TYPE
  1700.     SYNTAX  Integer32 (1..255)
  1701.     MAX-ACCESS  read-only
  1702.     STATUS  current
  1703.     DESCRIPTION
  1704.         "The scale factor applied to this particular flow.  Indicates
  1705.         the number of bits the octet counter values should be moved
  1706.         left to obtain the actual values."
  1707.     ::= { flowDataEntry 25 }
  1708.  
  1709. flowDataRuleSet OBJECT-TYPE
  1710.     SYNTAX  Integer32 (1..255)
  1711.     MAX-ACCESS  not-accessible
  1712.     STATUS  current
  1713.     DESCRIPTION
  1714.         "The RuleSet number of the rule set which created this flow.
  1715.         Allows a manager to use GetNext or GetBulk requests to find
  1716.         flows belonging to a particular RuleSet."
  1717.     ::= { flowDataEntry 26 }
  1718.  
  1719. flowDataToOctets OBJECT-TYPE
  1720.     SYNTAX  Counter64
  1721.     MAX-ACCESS  read-only
  1722.     STATUS  current
  1723.     DESCRIPTION
  1724.         "The count of octets flowing from source to dest address and
  1725.         being delivered to the protocol level being metered.  In the
  1726.         case of IP this would count the number of octets delivered to
  1727.         the IP level."
  1728.     ::= { flowDataEntry 27 }
  1729.  
  1730. flowDataToPDUs OBJECT-TYPE
  1731.     SYNTAX  Counter64
  1732.     MAX-ACCESS  read-only
  1733.     STATUS  current
  1734.     DESCRIPTION
  1735.  
  1736.  
  1737. Nevil Brownlee                                                 [Page 30]
  1738.  
  1739.  
  1740. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1741.  
  1742.         "The count of protocol packets flowing from source to dest
  1743.         address and being delivered to the protocol level being
  1744.         metered.  In the case of IP, for example, this would count the
  1745.         IP packets delivered to the IP protocol level."
  1746.     ::= { flowDataEntry 28 }
  1747.  
  1748. flowDataFromOctets OBJECT-TYPE
  1749.     SYNTAX  Counter64
  1750.     MAX-ACCESS  read-only
  1751.     STATUS  current
  1752.     DESCRIPTION
  1753.         "The count of octets flowing from dest to source address and
  1754.         being delivered to the protocol level being metered."
  1755.     ::= { flowDataEntry 29 }
  1756.  
  1757. flowDataFromPDUs OBJECT-TYPE
  1758.     SYNTAX  Counter64
  1759.     MAX-ACCESS  read-only
  1760.     STATUS  current
  1761.     DESCRIPTION
  1762.         "The count of protocol packets flowing from dest to source
  1763.         address and being delivered to the protocol level being
  1764.         metered.  In the case of IP, for example, this would count
  1765.         the IP packets delivered to the IP protocol level."
  1766.     ::= { flowDataEntry 30 }
  1767.  
  1768. flowDataFirstTime OBJECT-TYPE
  1769.     SYNTAX  TimeStamp
  1770.     MAX-ACCESS  read-only
  1771.     STATUS  current
  1772.     DESCRIPTION
  1773.         "The time at which this flow was first entered in the table"
  1774.     ::= { flowDataEntry 31 }
  1775.  
  1776. flowDataLastActiveTime OBJECT-TYPE
  1777.     SYNTAX  TimeStamp
  1778.     MAX-ACCESS  read-only
  1779.     STATUS  current
  1780.     DESCRIPTION
  1781.         "The last time this flow had activity, i.e. the time of
  1782.         arrival of the most recent PDU belonging to this flow."
  1783.     ::= { flowDataEntry 32 }
  1784.  
  1785. flowDataSourceSubscriberID OBJECT-TYPE
  1786.     SYNTAX  OCTET STRING (SIZE (4..20))
  1787.     MAX-ACCESS  read-only
  1788.     STATUS  current
  1789.     DESCRIPTION
  1790.         "Subscriber ID associated with the source address for this
  1791.         flow."
  1792.     ::= { flowDataEntry 33 }
  1793.  
  1794.  
  1795. Nevil Brownlee                                                 [Page 31]
  1796.  
  1797.  
  1798. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1799.  
  1800.  
  1801. flowDataDestSubscriberID OBJECT-TYPE
  1802.     SYNTAX  OCTET STRING (SIZE (4..20))
  1803.     MAX-ACCESS  read-only
  1804.     STATUS  current
  1805.     DESCRIPTION
  1806.         "Subscriber ID associated with the dest address for this
  1807.         flow."
  1808.     ::= { flowDataEntry 34 }
  1809.  
  1810. flowDataSessionID OBJECT-TYPE
  1811.     SYNTAX  OCTET STRING (SIZE (4..10))
  1812.     MAX-ACCESS  read-only
  1813.     STATUS  current
  1814.     DESCRIPTION
  1815.         "Session ID for this flow.  Such an ID might be allocated
  1816.         by a network access server to distinguish a series of sessions
  1817.         between the same pair of addresses, which would otherwise
  1818.         appear to be parts of the same accounting flow."
  1819.     ::= { flowDataEntry 35 }
  1820.  
  1821. flowDataSourceClass OBJECT-TYPE
  1822.     SYNTAX  Integer32 (1..255)
  1823.     MAX-ACCESS  read-only
  1824.     STATUS  current
  1825.     DESCRIPTION
  1826.         "Source class for this flow.  Determined by the rules, set by
  1827.         a PushRule action when this flow was entered in the table."
  1828.     ::= { flowDataEntry 36 }
  1829.  
  1830. flowDataDestClass OBJECT-TYPE
  1831.     SYNTAX  Integer32 (1..255)
  1832.     MAX-ACCESS  read-only
  1833.     STATUS  current
  1834.     DESCRIPTION
  1835.         "Destination class for this flow.  Determined by the rules, set
  1836.         by a PushRule action when this flow was entered in the table."
  1837.     ::= { flowDataEntry 37 }
  1838.  
  1839. flowDataClass OBJECT-TYPE
  1840.     SYNTAX  Integer32 (1..255)
  1841.     MAX-ACCESS  read-only
  1842.     STATUS  current
  1843.     DESCRIPTION
  1844.         "Class for this flow.  Determined by the rules, set by a
  1845.         PushRule action when this flow was entered in the table."
  1846.     ::= { flowDataEntry 38 }
  1847.  
  1848. flowDataSourceKind OBJECT-TYPE
  1849.     SYNTAX  Integer32 (1..255)
  1850.     MAX-ACCESS  read-only
  1851.  
  1852.  
  1853. Nevil Brownlee                                                 [Page 32]
  1854.  
  1855.  
  1856. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1857.  
  1858.     STATUS  current
  1859.     DESCRIPTION
  1860.         "Source kind for this flow.  Determined by the rules, set by
  1861.         a PushRule action when this flow was entered in the table."
  1862.     ::= { flowDataEntry 39 }
  1863.  
  1864. flowDataDestKind OBJECT-TYPE
  1865.     SYNTAX  Integer32 (1..255)
  1866.     MAX-ACCESS  read-only
  1867.     STATUS  current
  1868.     DESCRIPTION
  1869.         "Destination kind for this flow.  Determined by the rules, set
  1870.         by a PushRule action when this flow was entered in the table."
  1871.     ::= { flowDataEntry 40 }
  1872.  
  1873. flowDataKind OBJECT-TYPE
  1874.     SYNTAX  Integer32 (1..255)
  1875.     MAX-ACCESS  read-only
  1876.     STATUS  current
  1877.     DESCRIPTION
  1878.         "Class for this flow.  Determined by the rules, set by a
  1879.         PushRule action when this flow was entered in the table."
  1880.     ::= { flowDataEntry 41 }
  1881.  
  1882.  
  1883. --
  1884. -- The Activity Column Table
  1885. --
  1886.  
  1887. flowColumnActivityTable OBJECT-TYPE
  1888.     SYNTAX  SEQUENCE OF FlowColumnActivityEntry
  1889.     MAX-ACCESS  not-accessible
  1890.     STATUS   deprecated
  1891.     DESCRIPTION
  1892.         "Index into the Flow Table.  Allows a meter reader to retrieve
  1893.         a list containing the flow table indeces of flows which were
  1894.         last active at or after a given time, together with the values
  1895.         of a specified attribute for each such flow."
  1896.     ::= { flowData 2 }
  1897.  
  1898. flowColumnActivityEntry OBJECT-TYPE
  1899.     SYNTAX  FlowColumnActivityEntry
  1900.     MAX-ACCESS  not-accessible
  1901.     STATUS  deprecated
  1902.     DESCRIPTION
  1903.         "The Column Activity Entry for a particular attribute,
  1904.         activity time and flow."
  1905.     INDEX { flowColumnActivityAttribute, flowColumnActivityTime,
  1906.             flowColumnActivityIndex }
  1907.     ::= { flowColumnActivityTable 1 }
  1908.  
  1909.  
  1910.  
  1911. Nevil Brownlee                                                 [Page 33]
  1912.  
  1913.  
  1914. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1915.  
  1916. FlowColumnActivityEntry ::= SEQUENCE {
  1917.     flowColumnActivityAttribute   FlowAttributeNumber,
  1918.     flowColumnActivityTime        TimeFilter,
  1919.     flowColumnActivityIndex       Integer32,
  1920.     flowColumnActivityData        OCTET STRING
  1921.     }
  1922.  
  1923. flowColumnActivityAttribute OBJECT-TYPE
  1924.     SYNTAX  FlowAttributeNumber
  1925.     MAX-ACCESS  read-only
  1926.     STATUS  deprecated
  1927.     DESCRIPTION
  1928.         "Specifies the attribute for which values are required from
  1929.         active flows."
  1930.     ::= { flowColumnActivityEntry 1 }
  1931.  
  1932. flowColumnActivityTime OBJECT-TYPE
  1933.     SYNTAX  TimeFilter
  1934.     MAX-ACCESS  read-only
  1935.     STATUS  deprecated
  1936.     DESCRIPTION
  1937.         "This variable is a copy of flowDataLastActiveTime in the
  1938.         flow data record identified by the flowColumnActivityIndex
  1939.         value of this flowColumnActivityTable entry."
  1940.     ::= { flowColumnActivityEntry 2 }
  1941.  
  1942. flowColumnActivityIndex OBJECT-TYPE
  1943.     SYNTAX  Integer32 (1..2147483647)
  1944.     MAX-ACCESS  read-only
  1945.     STATUS  deprecated
  1946.     DESCRIPTION
  1947.         "Index of a flow table entry which was active at or after
  1948.         a specified flowColumnActivityTime."
  1949.     ::= { flowColumnActivityEntry 3 }
  1950.  
  1951. flowColumnActivityData OBJECT-TYPE
  1952.     SYNTAX  OCTET STRING (SIZE (3..1000))
  1953.     MAX-ACCESS  read-only
  1954.     STATUS  deprecated
  1955.     DESCRIPTION
  1956.         "Collection of attribute data for flows active after
  1957.         flowColumnActivityTime.  Within the OCTET STRING is a
  1958.         sequence of { flow index, attribute value } pairs, one for
  1959.         each active flow.  The end of the sequence is marked by a
  1960.         flow index value of 0, indicating that there are no more
  1961.         rows in this column.
  1962.  
  1963.         The format of objects inside flowColumnFlowData is as follows.
  1964.         All numbers are unsigned.  Numbers and strings appear with
  1965.         their high-order bytes leading.  Numbers are fixed size, as
  1966.         specified by their SYNTAX in the flow table (above), i.e. one
  1967.  
  1968.  
  1969. Nevil Brownlee                                                 [Page 34]
  1970.  
  1971.  
  1972. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  1973.  
  1974.         octet for flowAddressType and small constants, and four octets
  1975.         for Counter and TimeStamp.  Strings are variable-length, with
  1976.         the length given in a single leading octet.
  1977.  
  1978.         The following is an attempt at an ASN.1 definition of
  1979.         flowColumnActivityData:
  1980.  
  1981.         flowColumnActivityData ::= SEQUENCE flowRowItemEntry
  1982.         flowRowItemEntry ::= SEQUENCE {
  1983.            flowRowNumber    Integer32 (1..65535),
  1984.                                  -- 0 indicates the end of this column
  1985.            flowDataValue   flowDataType -- Choice depends on attribute
  1986.            }
  1987.         flowDataType ::= CHOICE {
  1988.             flowByteValue   Integer32 (1..255),
  1989.             flowShortValue  Integer32 (1..65535),
  1990.             flowLongValue   Integer32,
  1991.             flowStringValue OCTET STRING  -- Length (n) in first byte,
  1992.                   -- n+1 bytes total length, trailing zeroes truncated
  1993.             }"
  1994.     ::= { flowColumnActivityEntry 4 }
  1995.  
  1996. --
  1997. -- The Data Package Table
  1998. --
  1999.  
  2000. flowDataPackageTable OBJECT-TYPE
  2001.     SYNTAX  SEQUENCE OF FlowDataPackageEntry
  2002.     MAX-ACCESS  not-accessible
  2003.     STATUS   current
  2004.     DESCRIPTION
  2005.         "Index into the Flow Table.  Allows a meter reader to retrieve
  2006.         a sequence containing the values of a specified set of
  2007.         attributes for a flow which came from a specified rule set and
  2008.         which was last active at or after a given time."
  2009.     ::= { flowData 3 }
  2010.  
  2011. flowDataPackageEntry OBJECT-TYPE
  2012.     SYNTAX  FlowDataPackageEntry
  2013.     MAX-ACCESS  not-accessible
  2014.     STATUS  current
  2015.     DESCRIPTION
  2016.         "The data package containing selected variables from
  2017.         active rows in the flow table."
  2018.     INDEX { flowPackageSelector,
  2019.         flowPackageRuleSet, flowPackageTime, flowPackageIndex }
  2020.     ::= { flowDataPackageTable 1 }
  2021.  
  2022. FlowDataPackageEntry ::= SEQUENCE {
  2023.     flowPackageSelector    OCTET STRING,
  2024.     flowPackageRuleSet     Integer32,
  2025.  
  2026.  
  2027. Nevil Brownlee                                                 [Page 35]
  2028.  
  2029.  
  2030. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  2031.  
  2032.     flowPackageTime        TimeFilter,
  2033.     flowPackageIndex       Integer32,
  2034.     flowPackageData        OCTET STRING
  2035.     }
  2036.  
  2037. flowPackageSelector OBJECT-TYPE
  2038.     SYNTAX  OCTET STRING
  2039.     MAX-ACCESS  not-accessible
  2040.     STATUS  current
  2041.     DESCRIPTION
  2042.         "Specifies the attributes for which values are required from
  2043.         an active flow.  These are encoded as a sequence of octets
  2044.         each containing a FlowAttribute number, preceded by an octet
  2045.         giving the length of the sequence (not including the length
  2046.         octet)."
  2047.     ::= { flowDataPackageEntry 1 }
  2048.  
  2049. flowPackageRuleSet OBJECT-TYPE
  2050.     SYNTAX  Integer32 (1..255)
  2051.     MAX-ACCESS  not-accessible
  2052.     STATUS  current
  2053.     DESCRIPTION
  2054.         "Specifies the index (in the flowRuleSetInfoTable) of the rule
  2055.         set which produced the required flow."
  2056.     ::= { flowDataPackageEntry 2 }
  2057.  
  2058. flowPackageTime OBJECT-TYPE
  2059.     SYNTAX  TimeFilter
  2060.     MAX-ACCESS  not-accessible
  2061.     STATUS  current
  2062.     DESCRIPTION
  2063.         "This variable is a copy of flowDataLastActiveTime in the
  2064.         flow data record identified by the flowPackageIndex
  2065.         value of this flowPackageTable entry."
  2066.     ::= { flowDataPackageEntry 3 }
  2067.  
  2068. flowPackageIndex OBJECT-TYPE
  2069.     SYNTAX  Integer32 (1..2147483647)
  2070.     MAX-ACCESS  not-accessible
  2071.     STATUS  current
  2072.     DESCRIPTION
  2073.         "Index of a flow table entry which was active at or after
  2074.         a specified flowPackageTime."
  2075.     ::= { flowDataPackageEntry 4 }
  2076.  
  2077. flowPackageData OBJECT-TYPE
  2078.     SYNTAX  OCTET STRING
  2079.     MAX-ACCESS  read-only
  2080.     STATUS  current
  2081.     DESCRIPTION
  2082.         "A Collection of attribute values for a single flow, as
  2083.  
  2084.  
  2085. Nevil Brownlee                                                 [Page 36]
  2086.  
  2087.  
  2088. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  2089.  
  2090.         specified by this row's indeces.  The attribute values are
  2091.         contained within a BER-encoded sequence [7], in the order
  2092.         they appear in their flowPackageSelector.  For example, to
  2093.         retrieve a flowPackage containing values for attributes 11,
  2094.         18 and 29, for flows in rule set 7, active since uptime 12345,
  2095.         beginning with the first row after row 3447, one would request
  2096.         the package whose Object Identifier (OID) is
  2097.             flowPackageData . 3.11.18.29 . 7. 12345 . 3447 "
  2098.     ::= { flowDataPackageEntry 5 }
  2099.  
  2100.  
  2101. --
  2102. -- The Rule Table
  2103. --
  2104.  
  2105. -- This is an array of rule tables; the 'running' ones are indicated
  2106. -- by the entries in the meter's flowManagerInfoTable.  Several rule
  2107. -- sets can be held in a meter so that the manager can change the rules
  2108. -- easily, for example with time of day.  Note that a manager may
  2109. -- not change the rules in any 'running' rule set!  See the 'Traffic
  2110. -- Flow Measurement: Architecture' document [9] for details of rules
  2111. -- and how they are used.
  2112. --
  2113. -- Space for a rule table is allocated by setting the value of
  2114. -- flowRuleInfoSize in the rule table's flowRuleSetInfoTable row.
  2115.  
  2116. flowRuleTable OBJECT-TYPE
  2117.     SYNTAX  SEQUENCE OF FlowRuleEntry
  2118.     MAX-ACCESS  not-accessible
  2119.     STATUS   current
  2120.     DESCRIPTION
  2121.         "Contains all the rule sets which may be used by the meter."
  2122.     ::= { flowRules 1 }
  2123.  
  2124. flowRuleEntry OBJECT-TYPE
  2125.     SYNTAX  FlowRuleEntry
  2126.     MAX-ACCESS  not-accessible
  2127.     STATUS   current
  2128.     DESCRIPTION
  2129.         "The rule record itself."
  2130.     INDEX { flowRuleSet, flowRuleIndex }
  2131.     ::= { flowRuleTable 1 }
  2132.  
  2133. FlowRuleEntry ::= SEQUENCE {
  2134.     flowRuleSet                  Integer32,
  2135.     flowRuleIndex                Integer32,
  2136.     flowRuleSelector             RuleAttributeNumber,
  2137.     flowRuleMask                 RuleAddress,
  2138.     flowRuleMatchedValue         RuleAddress,
  2139.     flowRuleAction               ActionNumber,
  2140.     flowRuleParameter            Integer32
  2141.  
  2142.  
  2143. Nevil Brownlee                                                 [Page 37]
  2144.  
  2145.  
  2146. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  2147.  
  2148.     }
  2149.  
  2150. flowRuleSet OBJECT-TYPE
  2151.     SYNTAX  Integer32 (1..255)
  2152.     MAX-ACCESS  not-accessible
  2153.     STATUS  current
  2154.     DESCRIPTION
  2155.         "Selects a rule set from the array of rule sets."
  2156.     ::= { flowRuleEntry 1 }
  2157.  
  2158. flowRuleIndex OBJECT-TYPE
  2159.     SYNTAX  Integer32 (1..65535)
  2160.     MAX-ACCESS  not-accessible
  2161.     STATUS  current
  2162.     DESCRIPTION
  2163.         "The index into the Rule table.  N.B: These values will
  2164.         normally be consecutive, given the fall-through semantics
  2165.         of processing the table."
  2166.     ::= { flowRuleEntry 2 }
  2167.  
  2168. flowRuleSelector OBJECT-TYPE
  2169.     SYNTAX  RuleAttributeNumber
  2170.     MAX-ACCESS  read-write
  2171.     STATUS  current
  2172.     DESCRIPTION
  2173.         "Indicates the attribute to be matched.
  2174.  
  2175.         null(0) is a special case; null rules always succeed.
  2176.  
  2177.         matchingStoD(50) is set by the meter's Packet Matching Engine.
  2178.         Its value is true(1) if the PME is attempting to match the
  2179.         packet with its addresses in Source-to-Destination order (i.e.
  2180.         as they appear in the packet), and false(2) otherwise.
  2181.         Details of how packets are matched are given in the 'Traffic
  2182.         Flow Measurement: Architecture' document [9].
  2183.  
  2184.         v1(51), v2(52), v3(53), v4(54) and v5(55) select meter
  2185.         variables, each of which can hold the name (i.e. selector
  2186.         value) of an address attribute.  When one of these is used
  2187.         as a selector, its value specifies the attribute to be
  2188.         tested.  Variable values are set by an Assign action."
  2189.     ::= { flowRuleEntry 3 }
  2190.  
  2191. flowRuleMask OBJECT-TYPE
  2192.     SYNTAX  RuleAddress
  2193.     MAX-ACCESS  read-write
  2194.     STATUS  current
  2195.     DESCRIPTION
  2196.         "The initial mask used to compute the desired value.  If the
  2197.         mask is zero the rule's test will always succeed."
  2198.     ::= { flowRuleEntry 4 }
  2199.  
  2200.  
  2201. Nevil Brownlee                                                 [Page 38]
  2202.  
  2203.  
  2204. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  2205.  
  2206.  
  2207. flowRuleMatchedValue OBJECT-TYPE
  2208.     SYNTAX  RuleAddress
  2209.     MAX-ACCESS  read-write
  2210.     STATUS  current
  2211.     DESCRIPTION
  2212.         "The resulting value to be matched for equality.
  2213.         Specifically, if the attribute chosen by the flowRuleSelector
  2214.         logically ANDed with the mask specified by the flowRuleMask
  2215.         equals the value specified in the flowRuleMatchedValue, then
  2216.         continue processing the table entry based on the action
  2217.         specified by the flowRuleAction entry.  Otherwise, proceed to
  2218.         the next entry in the rule table."
  2219.     ::= { flowRuleEntry 5 }
  2220.  
  2221. flowRuleAction OBJECT-TYPE
  2222.     SYNTAX  ActionNumber
  2223.     MAX-ACCESS  read-write
  2224.     STATUS  current
  2225.     DESCRIPTION
  2226.         "The action to be taken if this rule's test succeeds, or if
  2227.         the meter's 'test' flag is off.  Actions are opcodes for the
  2228.         meter's Packet Matching Engine; details are given in the
  2229.         'Traffic Flow Measurement: Architecture' document [9]."
  2230.     ::= { flowRuleEntry 6 }
  2231.  
  2232. flowRuleParameter OBJECT-TYPE
  2233.     SYNTAX  Integer32 (1..65535)
  2234.     MAX-ACCESS  read-write
  2235.     STATUS  current
  2236.     DESCRIPTION
  2237.         "A parameter value providing extra information for the
  2238.         rule's action."
  2239.     ::= { flowRuleEntry 7 }
  2240.  
  2241.  
  2242. --
  2243. -- Traffic Flow Meter conformance statement
  2244. --
  2245.  
  2246. flowMIBCompliances
  2247.     OBJECT IDENTIFIER ::= { flowMIBConformance 1 }
  2248.  
  2249. flowMIBGroups
  2250.     OBJECT IDENTIFIER ::= { flowMIBConformance 2 }
  2251.  
  2252. flowControlGroup OBJECT-GROUP
  2253.     OBJECTS  {
  2254.         flowRuleInfoSize, flowRuleInfoOwner,
  2255.             flowRuleInfoTimeStamp, flowRuleInfoStatus,
  2256.             flowRuleInfoName, flowRuleInfoRulesReady,
  2257.  
  2258.  
  2259. Nevil Brownlee                                                 [Page 39]
  2260.  
  2261.  
  2262. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  2263.  
  2264.             flowRuleInfoFlowRecords,
  2265.         flowInterfaceSampleRate,
  2266.             flowInterfaceLostPackets,
  2267.         flowReaderTimeout, flowReaderOwner,
  2268.             flowReaderLastTime, flowReaderPreviousTime,
  2269.             flowReaderStatus, flowReaderRuleSet,
  2270.         flowManagerCurrentRuleSet, flowManagerStandbyRuleSet,
  2271.             flowManagerHighWaterMark,
  2272. --          flowManagerCounterWrap,
  2273.             flowManagerOwner, flowManagerTimeStamp,
  2274.             flowManagerStatus, flowManagerRunningStandby,
  2275.         flowFloodMark,
  2276.             flowInactivityTimeout, flowActiveFlows,
  2277.             flowMaxFlows, flowFloodMode }
  2278.     STATUS  current
  2279.     DESCRIPTION
  2280.         "The control group defines objects which are used to control
  2281.         an accounting meter."
  2282.     ::= {flowMIBGroups 1 }
  2283.  
  2284. flowDataTableGroup OBJECT-GROUP
  2285.     OBJECTS  {
  2286. --      flowDataIndex,
  2287.         flowDataStatus,
  2288.         flowDataSourceInterface,
  2289.         flowDataSourceAdjacentType,
  2290.         flowDataSourceAdjacentAddress, flowDataSourceAdjacentMask,
  2291.         flowDataSourcePeerType,
  2292.         flowDataSourcePeerAddress, flowDataSourcePeerMask,
  2293.         flowDataSourceTransType,
  2294.         flowDataSourceTransAddress, flowDataSourceTransMask,
  2295.         flowDataDestInterface,
  2296.         flowDataDestAdjacentType,
  2297.         flowDataDestAdjacentAddress, flowDataDestAdjacentMask,
  2298.         flowDataDestPeerType,
  2299.         flowDataDestPeerAddress, flowDataDestPeerMask,
  2300.         flowDataDestTransType,
  2301.         flowDataDestTransAddress, flowDataDestTransMask,
  2302. --      flowDataRuleSet,
  2303.         flowDataToOctets, flowDataToPDUs,
  2304.         flowDataFromOctets, flowDataFromPDUs,
  2305.         flowDataFirstTime, flowDataLastActiveTime,
  2306.         flowDataSourceClass, flowDataDestClass, flowDataClass,
  2307.         flowDataSourceKind, flowDataDestKind, flowDataKind
  2308.         }
  2309.     STATUS  current
  2310.     DESCRIPTION
  2311.         "The flow table group defines objects which provide the
  2312.         structure for the rule table, including the creation time
  2313.         and activity time indexes into it.  In addition it defines
  2314.         objects which provide a base set of flow attributes for the
  2315.  
  2316.  
  2317. Nevil Brownlee                                                 [Page 40]
  2318.  
  2319.  
  2320. INTERNET-DRAFT       Traffic Flow Measurement: Meter MIB       July 1997
  2321.  
  2322.         adjacent, peer and transport layers, together with a flow's
  2323.         counters and times.  Finally it defines a flow's class and
  2324.         kind attributes, which are set by rule actions."
  2325.     ::= {flowMIBGroups 2 }
  2326.  
  2327. flowDataScaleGroup OBJECT-GROUP
  2328.     OBJECTS  {
  2329.         flowManagerCounterWrap,
  2330.         flowDataPDUScale, flowDataOctetScale
  2331.         }
  2332.     STATUS  deprecated
  2333.     DESCRIPTION
  2334.         "The flow scale group defines objects which specify scale
  2335.         factors for counters."
  2336.     ::= {flowMIBGroups 3 }
  2337.  
  2338. flowDataSubscriberGroup OBJECT-GROUP
  2339.     OBJECTS  {
  2340.         flowDataSourceSubscriberID, flowDataDestSubscriberID,
  2341.         flowDataSessionID
  2342.         }
  2343.     STATUS  current
  2344.     DESCRIPTION
  2345.         "The flow subscriber group defines objects which may be used
  2346.         to identify the end point(s) of a flow."
  2347.     ::= {flowMIBGroups 4 }
  2348.  
  2349. flowDataColumnTableGroup OBJECT-GROUP
  2350.     OBJECTS  {
  2351.         flowColumnActivityAttribute,
  2352.         flowColumnActivityIndex,
  2353.         flowColumnActivityTime,
  2354.         flowColumnActivityData
  2355.         }
  2356.     STATUS  deprecated
  2357.     DESCRIPTION
  2358.         "The flow column table group defines objects which can be used
  2359.         to collect part of a column of attribute values from the flow
  2360.         table."
  2361.     ::= {flowMIBGroups 5 }
  2362.  
  2363. flowDataPackageGroup OBJECT-GROUP
  2364.     OBJECTS  {
  2365. --      flowPackageSelector, flowPackageRuleSet,  flowPackageIndex,
  2366.         flowPackageData
  2367.         }
  2368.     STATUS  current
  2369.     DESCRIPTION
  2370.         "The data package group defines objects which can be used
  2371.         to collect a specified set of attribute values from a row of
  2372.         the flow table."
  2373.  
  2374.  
  2375. Nevil Brownlee                                                 [Page 41]
  2376.  
  2377.  
  2378. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  2379.  
  2380.     ::= {flowMIBGroups 6 }
  2381.  
  2382. flowRuleTableGroup OBJECT-GROUP
  2383.     OBJECTS  {
  2384.         flowRuleSelector,
  2385.         flowRuleMask, flowRuleMatchedValue,
  2386.         flowRuleAction, flowRuleParameter
  2387.         }
  2388.     STATUS  current
  2389.     DESCRIPTION
  2390.         "The rule table group defines objects which hold the set(s)
  2391.         of rules specifying which traffic flows are to be accounted
  2392.         for."
  2393.     ::= {flowMIBGroups 7 }
  2394.  
  2395. flowDataScaleGroup2 OBJECT-GROUP
  2396.     OBJECTS  {
  2397. --      flowManagerCounterWrap,
  2398.         flowDataPDUScale, flowDataOctetScale
  2399.         }
  2400.     STATUS  current
  2401.     DESCRIPTION
  2402.         "The flow scale group defines objects which specify scale
  2403.         factors for counters.  This group replaces the earlier
  2404.         version of flowDataScaleGroup above (now deprecated)."
  2405.     ::= {flowMIBGroups 8}
  2406.  
  2407.  
  2408. flowMIBCompliance MODULE-COMPLIANCE
  2409.     STATUS  current
  2410.     DESCRIPTION
  2411.         "The compliance statement for a Traffic Flow Meter."
  2412.     MODULE
  2413.         MANDATORY-GROUPS  {
  2414.             flowControlGroup,
  2415.             flowDataTableGroup,
  2416.             flowDataPackageGroup,
  2417.             flowRuleTableGroup
  2418.             }
  2419.     ::= { flowMIBCompliances 1 }
  2420.  
  2421. END
  2422.  
  2423.  
  2424.  
  2425.  
  2426. 7 Security Considerations
  2427.  
  2428.  
  2429. This MIB describes how an RTFM traffic meter is controlled, and provides
  2430. a way for traffic flow data to be retrieved from it by a meter reader.
  2431. This is essentially an application using SNMP as a method of
  2432.  
  2433. Nevil Brownlee                                                 [Page 42]
  2434.  
  2435.  
  2436. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  2437.  
  2438. communication between co-operating hosts; it does not - in itself - have
  2439. any inherent security risks.
  2440.  
  2441. Since, however, the traffic flow data can be extremely valuable for
  2442. network management purposes it is vital that sensible precautions be
  2443. taken to keep the meter and its data secure.  This requires that access
  2444. to the meter for control purposes (e.g.  loading RuleSets and reading
  2445. flow data) be restricted.  Such restriction could be achieved in many
  2446. ways, for example
  2447.  
  2448.  
  2449.  
  2450.   - Physical Separation.  Meter(s) and meter reader(s) could be
  2451.     deployed so that control capabilities are kept within a separate
  2452.     network, access to which is carefully controlled.
  2453.  
  2454.   - Application-layer Security.  A minimal level of security for SNMP
  2455.     is provided by using 'community' strings, which are essentially
  2456.     clear-text passwords.  Stronger security for SNMP is being
  2457.     developed within the IETF; when this becomes available it should be
  2458.     used to protect managed network equipment.
  2459.  
  2460.   - Lower-layer Security.  Access to the meter can be protected using
  2461.     encryption at the network layer.  For example, one could run SNMP
  2462.     to the meter through an encrypted TCP tunnel.
  2463.  
  2464.  
  2465. When implementing a meter it may be sensible to use separate network
  2466. interfaces for control and for metering.  If this is done the control
  2467. network can be set up so that it doesn't carry any 'user' traffic, and
  2468. the metering interfaces can ignore any user attempts to take control of
  2469. the meter.
  2470.  
  2471. Users should also consider how they will address attempts to circumvent
  2472. a meter, i.e.  to prevent it from measuring flows.  Such attempts are
  2473. essentially denial-of-service attacks on the metering interfaces.  For
  2474. example
  2475.  
  2476.  
  2477.   - Port Scan attacks.  The attacker sends packets to each of a very
  2478.     large number of IP (Address :  Port) pairs.  Each of these packets
  2479.     creates a new flow in the meter; if there are enough of them the
  2480.     meter will recognise a 'flood' condition, and will probably stop
  2481.     creating new flows.  As a minimum, users (and implementors) should
  2482.     ensure that meters can recover from flood conditions as soon as
  2483.     possible after they occur.
  2484.  
  2485.   - Counter Wrap attacks:  The attacker sends enough packets to cause
  2486.     the counters in a flow to wrap several times between meter
  2487.     readings, thus causing the counts to be artificially low.  The
  2488.     change to using 64-bit counters in this MIB reduces this problem
  2489.     significantly.
  2490.  
  2491. Nevil Brownlee                                                 [Page 43]
  2492.  
  2493.  
  2494. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  2495.  
  2496. Users can reduce the severity of both the above attacks by ensuring that
  2497. their meters are read often enough to prevent them being flooded.  The
  2498. resulting flow data will contain a record of the attacking packets,
  2499. which may well be useful in determining where any attack came from.
  2500.  
  2501.  
  2502.  
  2503. 8 Acknowledgements
  2504.  
  2505.  
  2506. An early draft of this document was produced under the auspices of the
  2507. IETF's Accounting Working Group with assistance from the SNMP Working
  2508. Group and the Security Area Advisory Group.  Particular thanks are due
  2509. to Jim Barnes, Sig Handelman and Stephen Stibler for their support and
  2510. their assistance with checking early versions of the MIB.
  2511.  
  2512. Stephen Stibler shared the development workload of producing the MIB
  2513. changes summarized in chpter 5 (above).
  2514.  
  2515.  
  2516.  
  2517. 9 References
  2518.  
  2519.  
  2520.     [1] McCloghrie, K., and Rose, M., Editors, "Management
  2521.     Information Base for Network Management of TCP/IP-based
  2522.     internets," RFC 1213, Performance Systems International, March
  2523.     1991.
  2524.  
  2525.     [2] Case J., McCloghrie K., Rose M., and Waldbusser S.,
  2526.     "Structure of Management Information for version 2 of the
  2527.     Simple Network Managemenet Protocol," RFC 1902, SNMP Research
  2528.     Inc., Hughes LAN Systems, Dover Beach Consulting, Carnegie
  2529.     Mellon University, January 1996.
  2530.  
  2531.     [3] Case J., McCloghrie, K., Rose, M., and Waldbusser, S.,
  2532.     "Textual Conventions for version 2 of the Simple Network
  2533.     Managemenet Protocol SNMPv2", RFC 1903, SNMP Research Inc.,
  2534.     Hughes LAN Systems, Dover Beach Consulting, Carnegie Mellon
  2535.     University, January 1996.
  2536.  
  2537.     [4] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
  2538.     "Conformance Statements for version 2 of the Simple Network
  2539.     Managemenet Protocol (SNMPv2)," RFC 1904, SNMP Research Inc.,
  2540.     Hughes LAN Systems, Dover Beach Consulting, Carnegie Mellon
  2541.     University, January 1996.
  2542.  
  2543.     [5] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
  2544.     "Coexistence between version 1 and version 2 of the
  2545.     Internet-standard Network Management Framework," RFC 1908, SNMP
  2546.     Research Inc., Hughes LAN Systems, Dover Beach Consulting,
  2547.  
  2548.  
  2549. Nevil Brownlee                                                 [Page 44]
  2550.  
  2551.  
  2552. INTERNET-DRAFT       Traffic Flow Measurement:  Meter MIB      July 1997
  2553.  
  2554.     Carnegie Mellon University, JAnuary 1996.
  2555.  
  2556.     [6] Information processing systems - Open Systems
  2557.     Interconnection - Specification of Abstract Syntax Notation One
  2558.     (ASN.1), International Organization for Standardization,
  2559.     International Standard 8824, December 1987.
  2560.  
  2561.     [7] Information processing systems - Open Systems
  2562.     Interconnection - Specification of Basic Encoding Rules for
  2563.     Abstract Notation One (ASN.1), International Organization for
  2564.     Standardization, International Standard 8825, December 1987.
  2565.  
  2566.     [8] Mills, C., Hirsch, G. and Ruth, G., "Internet Accounting
  2567.     Background," RFC 1272, Bolt Beranek and Newman Inc., Meridian
  2568.     Technology Corporation, November 1991.
  2569.  
  2570.     [9] Brownlee, N., Mills, C., and G. Ruth, "Traffic Flow
  2571.     Measurement:  Architecture", RFC 2063, The University of
  2572.     Auckland, Bolt Beranek and Newman Inc., GTE Laboratories, Inc,
  2573.     January 1997.
  2574.  
  2575.     [10] Waldbusser, S., "Remote Network Monitoring Management
  2576.     Information Base Version 2 using SMIv2," RFC 2021, INS, January
  2577.     1997.
  2578.  
  2579.     [11] Reynolds, J., Postel, J., "Assigned Numbers," RFC 1700,
  2580.     ISI, October 1994.
  2581.  
  2582.     [12] Case, J., "FDDI Management Information Base," RFC 1285,
  2583.     SNMP Research Incorporated, January 1992.
  2584.  
  2585.     [13] Hinden, R., Deering, S., "IP Version 6 Addressing
  2586.     Architecture," RFC 1884, Ipsilon Networks, Xerox PARC, December
  2587.     1995.
  2588.  
  2589.  
  2590.  
  2591.  
  2592. 10 Author's Address
  2593.  
  2594.  
  2595.     Nevil Brownlee
  2596.     Information Technology Systems & Services
  2597.     The University of Auckland
  2598.  
  2599.     Phone: +64 9 373 7599 x8941
  2600.     E-mail: n.brownlee@auckland.ac.nz
  2601.  
  2602.  
  2603.  
  2604.  
  2605.  
  2606.  
  2607. Nevil Brownlee                                                 [Page 45]
  2608.  
  2609.