home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / rfc / rfc2064 < prev    next >
Text File  |  1997-01-02  |  68KB  |  2,132 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                        N. Brownlee
  8. Request for Comments: 2064                    The University of Auckland
  9. Category: Experimental                                      January 1997
  10.  
  11.  
  12.                   Traffic Flow Measurement:  Meter MIB
  13.  
  14. Status of this Memo
  15.  
  16.    This memo defines an Experimental Protocol for the Internet
  17.    community.  This memo does not specify an Internet standard of any
  18.    kind.  Discussion and suggestions for improvement are requested.
  19.    Distribution of this memo is unlimited.
  20.  
  21. Abstract
  22.  
  23.    This memo defines a portion of the Management Information Base (MIB)
  24.    for use with network management protocols in TCP/IP-based internets.
  25.    In particular, this memo defines managed objects used for obtaining
  26.    traffic flow information from network traffic meters.
  27.  
  28. Table of Contents
  29.  
  30.    1 The Network Management Framework . . . . . . . . . . . . . . . .  1
  31.    2 Objects  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  32.      2.1 Format of Definitions . . . . .  . . . . . . . . . . . . . .  3
  33.    3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . .  3
  34.      3.1 Scope of Definitions, Textual Conventions  . . . . . . . . .  3
  35.      3.2 Usage of the MIB variables  . . . . . . .  . . . . . . . . .  4
  36.    4 Definitions  . . . . . . . . . . . . . . . . . . . . . . . . . .  6
  37.    5 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 37
  38.    6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
  39.    7 Security Considerations  . . . . . . . . . . . . . . . . . . . . 38
  40.    8 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 38
  41.  
  42. 1 The Network Management Framework
  43.  
  44.    The Internet-standard Network Management Framework consists of three
  45.    components.  They are:
  46.  
  47.       RFC 1155 defines the SMI, the mechanisms used for describing and
  48.       naming objects for the purpose of management.  STD 16, RFC 1212
  49.       defines a more concise description mechanism, which is wholly
  50.       consistent with the SMI.
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Brownlee                      Experimental                      [Page 1]
  59.  
  60. RFC 2064                       Meter MIB                    January 1997
  61.  
  62.  
  63.       RFC 1156 defines MIB-I, the core set of managed objects for the
  64.       Internet suite of protocols.  STD 17, RFC 1213 [1] defines MIB-II,
  65.       an evolution of MIB-I based on implementation experience and new
  66.       operational requirements.
  67.  
  68.       STD 15, RFC 1157 defines the SNMP, the protocol used for network
  69.       access to managed objects.
  70.  
  71.       RFC 1442 [2] defines the SMI for version 2 of the Simple Network
  72.       Management Protocol.
  73.  
  74.       RFCs 1443 and 1444 [3,4] define Textual Conventions and
  75.       Conformance Statements for version 2 of the Simple Network
  76.       Management Protocol.
  77.  
  78.       RFC 1452 [5] describes how versions 1 and 2 of the Simple Network
  79.       Management Protocol should coexist.
  80.  
  81.    The Framework permits new objects to be defined for the purpose of
  82.    experimentation and evaluation.
  83.  
  84. 2 Objects
  85.  
  86.    Managed objects are accessed via a virtual information store, termed
  87.    the Management Information Base or MIB. Objects in the MIB are
  88.    defined using the subset of Abstract Syntax Notation One (ASN.1) [6]
  89.    defined in the SMI. In particular, each object has a name, a syntax,
  90.    and an encoding.  The name is an object identifier, an
  91.    administratively assigned name, which specifies an object type.  The
  92.    object type together with an object instance serves to uniquely
  93.    identify a specific instantiation of the object.  For human
  94.    convenience, we often use a textual string, termed the OBJECT
  95.    DESCRIPTOR, to also refer to the object type.
  96.  
  97.    The syntax of an object type defines the abstract data structure
  98.    corresponding to that object type.  The ASN.1 language is used for
  99.    this purpose.  However, the SMI [2] purposely restricts the ASN.1
  100.    constructs which may be used.  These restrictions are explicitly made
  101.    for simplicity.
  102.  
  103.    The encoding of an object type is simply how that object type is
  104.    represented using the object type's syntax.  Implicitly tied to the
  105.    notion of an object type's syntax and encoding is how the object type
  106.    is represented when being transmitted on the network.
  107.  
  108.    The SMI specifies the use of the basic encoding rules of ASN.1 [7],
  109.    subject to the additional requirements imposed by the SNMP.
  110.  
  111.  
  112.  
  113.  
  114. Brownlee                      Experimental                      [Page 2]
  115.  
  116. RFC 2064                       Meter MIB                    January 1997
  117.  
  118.  
  119. 2.1 Format of Definitions
  120.  
  121.    Section 4 contains contains the specification of all object types
  122.    contained in this MIB module.  These object types are defined using
  123.    the conventions defined in [2] and [3].
  124.  
  125. 3 Overview
  126.  
  127.    Traffic Flow Measurement seeks to provide a well-defined method for
  128.    gathering traffic flow information from networks and internetworks.
  129.    The background for this is given in "Traffic Flow Measurement:
  130.    Background" [8].  The Realtime Traffic Flow Measurement (rtfm)
  131.    Working Group has produced a measurement architecture to achieve it;
  132.    this is documented in "Traffic Flow Measurement:  Architecture" [9].
  133.    The architecture defines three entities:
  134.  
  135.      - METERS, which observe network traffic flows and build up a
  136.        table of flow data records for them,
  137.  
  138.      - METER REAERS, which collect traffic flow data from meters, and
  139.  
  140.      - MANAGERS, which oversee the operation of meters and meter readers.
  141.  
  142.    This memo defines the SNMP management information for a Traffic Flow
  143.    Meter (TFM). It documents the earlier work of the Internet Accounting
  144.    Working Group, and is intended to provide a starting point for the
  145.    Realtime Traffic Flow Measurement Working Group.
  146.  
  147. 3.1 Scope of Definitions, Textual Conventions
  148.  
  149.    All objects defined in this memo are registered in a single subtree
  150.    within the mib-2 namespace [1,2], and are for use in network devices
  151.    which may perform a PDU forwarding or monitoring function.  For these
  152.    devices, the value of the ifSpecific variable in the MIB-II [1] has
  153.    the OBJECT IDENTIFIER value:
  154.  
  155.    flowMIB OBJECT IDENTIFIER ::=  mib-2 40
  156.  
  157.    as defined below.
  158.  
  159.    The RTFM Meter MIB was first produced and tested using SNMPv1.  It
  160.    has been converted into SNMPv2 following the guidelines in RFC 1452
  161.    [5].
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Brownlee                      Experimental                      [Page 3]
  171.  
  172. RFC 2064                       Meter MIB                    January 1997
  173.  
  174.  
  175. 3.2 Usage of the MIB variables
  176.  
  177.    The MIB breaks into four parts - control, flows, rules and
  178.    conformance statements.
  179.  
  180.    The rules implement the minumum set of packet-matching actions, as
  181.    set out in the "Traffic Flow Measurment:  Architecture" document [9].
  182.    In addition they provide for BASIC-style subroutines, allowing a
  183.    network manager to dramatically reduce the number of rules required
  184.    to monitor a big network.
  185.  
  186.    Traffic flows are identified by a set of attributes for each of its
  187.    end-points.  Attributes include network addresses for each layer of
  188.    the network protocol stack, and 'subscriber ids,' which may be used
  189.    to identify an accountable entity for the flow.
  190.  
  191.    The conformance statements are set out as defined in [4].  They
  192.    explain what must be implemented in a meter which claims to conform
  193.    to this MIB.
  194.  
  195.    To retrieve flow data one could simply do a linear scan of the flow
  196.    table.  This would certainly work, but would require a lot of
  197.    protocol exchanges.  To reduce the overhead in retrieving flow data
  198.    the flow table uses a TimeFilter variable, defined as a Textual
  199.    Convention in the RMON2 MIB [10].  This, when used together with
  200.    SNMPv2's GetBulk request, allows a meter reader to scan the flow
  201.    table and upload a specified set of flow attributes for those rows
  202.    which have changed since the last reading.
  203.  
  204.    As an alternative method of reading flow data, the MIB provides an
  205.    index into the flow table called flowColumnActivityTable.  This is
  206.    (logically) a three-dimensional array, subscripted by flow attribute,
  207.    activity time and starting flow number.  This allows a meter reader
  208.    to retrieve (in an opaque object) data for a column of the flow table
  209.    with a minimum of SNMP overhead.  An attempt has been made to include
  210.    a full ASN.1 definition of the flowColumnActivityData object.
  211.  
  212.    One aspect of data collection which needs emphasis is that all the
  213.    MIB variables are set up to allow multiple independent colletors to
  214.    work properly, i.e.  the flow table indexes are stateless.  An
  215.    alternative approach would have been to 'snapshot' the flow table,
  216.    which would mean that the meter readers would have to be
  217.    synchronized.  The stateless approach does mean that two meter
  218.    readers will never return exactly the same set of traffic counts, but
  219.    over long periods (e.g.  15-minute collections over a day) the
  220.    discrepancies are acceptable.  If one really needs a snapshot, this
  221.    can be achieved by switching to an identical rule set with a
  222.    different RuleSet number, hence asynchronous collections may be
  223.  
  224.  
  225.  
  226. Brownlee                      Experimental                      [Page 4]
  227.  
  228. RFC 2064                       Meter MIB                    January 1997
  229.  
  230.  
  231.    regarded as a useful generalisation of synchronised ones.
  232.  
  233.    The control variables are the minimum set required for a meter
  234.    reader.  Their number has been whittled down as experience has been
  235.    gained with the MIB implementation.  A few of them are 'general,'
  236.    i.e.  they control the overall behaviour of the meter.  These are set
  237.    by a single 'master' manager, and no other manager should attempt to
  238.    change their values.  The decision as to which manager is the
  239.    'master' must be made by the network operations personnel
  240.    responsible; this MIB does not attempt to provide any support for
  241.    interaction between managers.
  242.  
  243.    There are three other groups of control groups, arranged into tables
  244.    in the same way as in the RMON MIB [10].  They are used as follows:
  245.  
  246.      - RULE SET INFO: Before attempting to download a rule table a manager
  247.        must create a row in the flowRuleSetInfo with flowRuleInfoStatus
  248.        set to 'createAndWait.'  When the rule set is ready the manager
  249.        must set RuleSetInfo to 'active,' indicating that the rule set is
  250.        ready for use.
  251.  
  252.      - METER READER INFO: Any meter reader wishing to collect data
  253.        reliably for all flows should first create a row in the
  254.        flowReaderInfoTable with flowReaderStatus set to 'active.'  It
  255.        should write that row's flowReaderLastTime object each time it
  256.        starts a collection pass through the flow table.  The meter will
  257.        not recover a flow's memory until every meter reader holding a row
  258.        in this table has collected that flow's data.
  259.  
  260.      - MANAGER INFO: Any manager wishing to download rule sets to the
  261.        meter must create a row in the flowManagerInfo table with
  262.        flowManagerStatus set to 'active.'.  Once it has a table row, the
  263.        manager may set the control variables in its row so as to cause the
  264.        meter to run any valid rule set held by the meter.
  265.  
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Brownlee                      Experimental                      [Page 5]
  283.  
  284. RFC 2064                       Meter MIB                    January 1997
  285.  
  286.  
  287. 4 Definitions
  288.  
  289. FLOW-METER-MIB DEFINITIONS ::= BEGIN
  290.  
  291. IMPORTS
  292.     MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32, TimeTicks
  293.         FROM SNMPv2-SMI
  294.     TEXTUAL-CONVENTION, RowStatus, TimeStamp
  295.         FROM SNMPv2-TC
  296.     OBJECT-GROUP, MODULE-COMPLIANCE
  297.         FROM SNMPv2-CONF
  298.     mib-2, ifIndex
  299.         FROM RFC1213-MIB
  300.     OwnerString
  301.         FROM RMON-MIB;
  302.  
  303. flowMIB MODULE-IDENTITY
  304.     LAST-UPDATED "9603080208Z"
  305.     ORGANIZATION "IETF Realtime Traffic Flow Measurement Working Group"
  306.     CONTACT-INFO
  307.         "Nevil Brownlee, The University of Auckland
  308.         Email: n.brownlee@auckland.ac.nz"
  309.     DESCRIPTION
  310.                 "MIB for the RTFM Traffic Flow Meter."
  311.     ::= { mib-2 40 }
  312.  
  313.  
  314. flowControl         OBJECT IDENTIFIER ::= { flowMIB 1 }
  315.  
  316. flowData            OBJECT IDENTIFIER ::= { flowMIB 2 }
  317.  
  318. flowRules           OBJECT IDENTIFIER ::= { flowMIB 3 }
  319.  
  320. flowMIBConformance  OBJECT IDENTIFIER ::= { flowMIB 4 }
  321.  
  322.  
  323. -- Textual Conventions
  324.  
  325. TimeFilter ::= TEXTUAL-CONVENTION
  326.     STATUS  current
  327.     DESCRIPTION
  328.         "Used as an index to a table.  A TimeFilter variable allows
  329.         a GetNext or GetBulk request to find rows in a table for
  330.         which the TimeFilter index variable is greater than or equal
  331.         to a specified value.  For example, a meter reader could
  332.         find all rows in the flow table which have been active at or
  333.         since a specified time.
  334.  
  335.  
  336.  
  337.  
  338. Brownlee                      Experimental                      [Page 6]
  339.  
  340. RFC 2064                       Meter MIB                    January 1997
  341.  
  342.  
  343.         More details on TimeFilter variables, their implementation
  344.         and use can be found in the RMON2 MIB [10]."
  345.     SYNTAX  TimeTicks
  346.  
  347. AddressType ::= TEXTUAL-CONVENTION
  348.     STATUS  current
  349.     DESCRIPTION
  350.         "Indicates the type of an adjacent address or peer address.
  351.         The values used are from the 'Address Family Numbers' section
  352.         of the Assigned Numbers RFC [11]."
  353.     SYNTAX  INTEGER {
  354.         ip(1),
  355.         nsap(3),
  356.         ieee802(6),
  357.         ipx(11),
  358.         appletalk(12),
  359.         decnet(13) }
  360.  
  361. AdjacentAddress ::= TEXTUAL-CONVENTION
  362.     STATUS  current
  363.     DESCRIPTION
  364.         "Specifies the value of an adjacent address for various
  365.         media.  The values used for IEEE 802 media are from the
  366.         'Network Management Parameters (ifType definitions)'
  367.         section of the Assigned Numbers RFC [11].  Address format
  368.         depends on the actual media, as follows:
  369.  
  370.         Ethernet:     ethernet(7)
  371.             6-octet 802.3 MAC address in 'canonical' order
  372.  
  373.         FDDI:         fddi(15)
  374.             FddiMACLongAddress, i.e. a 6-octet MAC address
  375.             in 'canonical' order  (defined in the FDDI MIB [12])
  376.  
  377.         Token Ring:   tokenring(9)
  378.             6-octet 802.5 MAC address in 'canonical' order
  379.  
  380.         PeerAddress:  other(1)
  381.             If traffic is being metered inside a tunnel, its
  382.             adjacent addresses will be the peer addresses of hosts
  383.             at the ends of the tunnel
  384.         "
  385.     SYNTAX OCTET STRING (SIZE (6..20))
  386.  
  387. PeerAddress ::= TEXTUAL-CONVENTION
  388.     STATUS  current
  389.     DESCRIPTION
  390.         "Specifies the value of a peer address for various network
  391.  
  392.  
  393.  
  394. Brownlee                      Experimental                      [Page 7]
  395.  
  396. RFC 2064                       Meter MIB                    January 1997
  397.  
  398.  
  399.         protocols.  Address format depends on the actual protocol,
  400.         as follows:
  401.  
  402.         IP:          ip(1)
  403.             4-octet IpAddress  (defined in the SNMPv2 SMI [2])
  404.  
  405.         CLNS:        nsap(3)
  406.             NsapAddress  (defined in the SNMPv2 SMI [2])
  407.  
  408.         Novell:      ipx(11)
  409.             4-octet Network number,
  410.             6-octet Host number (MAC address)
  411.  
  412.         AppleTalk:   appletalk(12)
  413.             2-octet Network number (sixteen bits),
  414.             1-octet Host number (eight bits)
  415.  
  416.         DECnet:      decnet(13)
  417.             1-octet Area number (in low-order six bits),
  418.             2-octet Host number (in low-order ten bits)
  419.         "
  420.     SYNTAX OCTET STRING (SIZE (3..20))
  421.  
  422. TransportAddress ::= TEXTUAL-CONVENTION
  423.     STATUS  current
  424.     DESCRIPTION
  425.         "Specifies the value of a transport address for various
  426.         network protocols.  Format as follows:
  427.  
  428.         IP:
  429.             2-octet UDP or TCP port number
  430.  
  431.         Other protocols:
  432.             2-octet port number
  433.         "
  434.     SYNTAX OCTET STRING (SIZE (2))
  435.  
  436. RuleAddress ::= TEXTUAL-CONVENTION
  437.     STATUS  current
  438.     DESCRIPTION
  439.         "Specifies the value of an address.  Is a superset of
  440.         AdjacentAddress, PeerAddress and TransportAddress."
  441.     SYNTAX OCTET STRING (SIZE (2..20))
  442.  
  443. FlowAttributeNumber ::= TEXTUAL-CONVENTION
  444.     STATUS  current
  445.     DESCRIPTION
  446.         "Uniquely identifies an attribute within a flow data record."
  447.  
  448.  
  449.  
  450. Brownlee                      Experimental                      [Page 8]
  451.  
  452. RFC 2064                       Meter MIB                    January 1997
  453.  
  454.  
  455.     SYNTAX  INTEGER {
  456.         flowIndex(1),
  457.         flowStatus(2),
  458.         flowTimeMark(3),
  459.  
  460.         sourceInterface(4),
  461.         sourceAdjacentType(5),
  462.         sourceAdjacentAddress(6),
  463.         sourceAdjacentMask(7),
  464.         sourcePeerType(8),
  465.         sourcePeerAddress(9),
  466.         sourcePeerMask(10),
  467.         sourceTransType(11),
  468.         sourceTransAddress(12),
  469.         sourceTransMask(13),
  470.  
  471.         destInterface(14),
  472.         destAdjacentType(15),
  473.         destAdjacentAddress(16),
  474.         destAdjacentMask(17),
  475.         destPeerType(18),
  476.         destPeerAddress(19),
  477.         destPeerMask(20),
  478.         destTransType(21),
  479.         destTransAddress(22),
  480.         destTransMask(23),
  481.  
  482.         pduScale(234),
  483.         octetScale(25),
  484.  
  485.         ruleSet(26),
  486.         toOctets(27),             -- Source-to-Dest
  487.         toPDUs(28),
  488.         fromOctets(29),           -- Dest-to-Source
  489.         fromPDUs(30),
  490.         firstTime(31),            -- Activity times
  491.         lastActiveTime(32),
  492.  
  493.         sourceSubscriberID(33),   -- Subscriber ID
  494.         destSubscriberID(34),
  495.         sessionID(35),
  496.  
  497.         sourceClass(36),          -- Computed attributes
  498.         destClass(37),
  499.         flowClass(38),
  500.         sourceKind(39),
  501.         destKind(40),
  502.         flowKind(41) }
  503.  
  504.  
  505.  
  506. Brownlee                      Experimental                      [Page 9]
  507.  
  508. RFC 2064                       Meter MIB                    January 1997
  509.  
  510.  
  511. RuleAttributeNumber ::= TEXTUAL-CONVENTION
  512.     STATUS  current
  513.     DESCRIPTION
  514.         "Uniquely identifies an attribute which may be tested in
  515.         a rule.  These include attributes whose values come directly
  516.         from the flow's packets and the five 'meter' variables used to
  517.         hold an AttributeValue.  Attributes derived from the rules -
  518.         e.g. address masks - may not be tested."
  519.     SYNTAX  INTEGER {
  520.         null(0),
  521.         sourceInterface(4),       -- Source Address
  522.         sourceAdjacentType(5),
  523.         sourceAdjacentAddress(6),
  524.         sourcePeerType(8),
  525.         sourcePeerAddress(9),
  526.         sourceTransType(11),
  527.         sourceTransAddress(12),
  528.         destInterface(14),        -- Dest Address
  529.         destAdjacentType(15),
  530.         destAdjacentAddress(16),
  531.         destPeerType(18),
  532.         destPeerAddress(19),
  533.         destTransType(21),
  534.         destTransAddress(22),
  535.         sourceSubscriberID(33),   -- Subscriber ID
  536.         destSubscriberID(34),
  537.         sessionID(35),
  538.         v1(51),                   -- Meter variables
  539.         v2(52),
  540.         v3(53),
  541.         v4(54),
  542.         v5(55) }
  543.  
  544. ActionNumber ::= TEXTUAL-CONVENTION
  545.     STATUS  current
  546.     DESCRIPTION
  547.         "Uniquely identifies the action of a rule, i.e. the Pattern
  548.         Matching Engine's opcode number.  Details of the opcodes
  549.         are given in the 'Traffic Flow Measurement: Architecture'
  550.         document [9]."
  551.     SYNTAX  INTEGER {
  552.         ignore(1),
  553.         fail(2),
  554.         count(3),
  555.         countPkt(4),
  556.         return(5),
  557.         gosub(6),
  558.         gosubAct(7),
  559.  
  560.  
  561.  
  562. Brownlee                      Experimental                     [Page 10]
  563.  
  564. RFC 2064                       Meter MIB                    January 1997
  565.  
  566.  
  567.         assign(8),
  568.         assignAct(9),
  569.         goto(10),
  570.         gotoAct(11),
  571.         pushRuleTo(12),
  572.         pushRuleToAct(13),
  573.         pushPktTo(14),
  574.         pushPktToAct(15) }
  575.  
  576.  
  577. --
  578. -- Control Group:  Rule Set Info Table
  579. --
  580.  
  581. flowRuleSetInfoTable OBJECT-TYPE
  582.     SYNTAX  SEQUENCE OF FlowRuleSetInfoEntry
  583.     MAX-ACCESS  not-accessible
  584.     STATUS  current
  585.     DESCRIPTION
  586.         "An array of information about the rule sets held in the
  587.         meter.   Rule set 1 is the meter default, used when the meter
  588.         starts up.  It is built in to the meter; it may not be
  589.         changed."
  590.     ::= { flowControl 1 }
  591.  
  592. flowRuleSetInfoEntry OBJECT-TYPE
  593.     SYNTAX  FlowRuleSetInfoEntry
  594.     MAX-ACCESS  not-accessible
  595.     STATUS  current
  596.     DESCRIPTION
  597.         "Information about a particular rule set."
  598.     INDEX  { flowRuleInfoIndex }
  599.     ::= { flowRuleSetInfoTable 1 }
  600.  
  601. FlowRuleSetInfoEntry ::= SEQUENCE {
  602.     flowRuleInfoIndex         Integer32,
  603.     flowRuleInfoSize          Integer32,
  604.     flowRuleInfoOwner         OwnerString,
  605.     flowRuleInfoTimeStamp     TimeStamp,
  606.     flowRuleInfoStatus        RowStatus
  607.     }
  608.  
  609. flowRuleInfoIndex OBJECT-TYPE
  610.     SYNTAX  Integer32
  611.     MAX-ACCESS  not-accessible
  612.     STATUS  current
  613.     DESCRIPTION
  614.         "An index which selects an entry in the flowRuleSetInfoTable.
  615.  
  616.  
  617.  
  618. Brownlee                      Experimental                     [Page 11]
  619.  
  620. RFC 2064                       Meter MIB                    January 1997
  621.  
  622.  
  623.         Each such entry contains control information for a particular
  624.         rule set which the meter may run."
  625.     ::= { flowRuleSetInfoEntry 1 }
  626.  
  627. flowRuleInfoSize OBJECT-TYPE
  628.     SYNTAX  Integer32
  629.     MAX-ACCESS  read-create
  630.     STATUS  current
  631.     DESCRIPTION
  632.         "Number of rules in this rule set.  Setting this variable will
  633.         cause the meter to allocate space for these rules."
  634.     ::= { flowRuleSetInfoEntry 2 }
  635.  
  636. flowRuleInfoOwner OBJECT-TYPE
  637.     SYNTAX  OwnerString
  638.     MAX-ACCESS  read-create
  639.     STATUS  current
  640.     DESCRIPTION
  641.         "Identifies the manager which configured this rule set."
  642.     ::= { flowRuleSetInfoEntry 3 }
  643.  
  644. flowRuleInfoTimeStamp OBJECT-TYPE
  645.     SYNTAX  TimeStamp
  646.     MAX-ACCESS  read-create
  647.     STATUS  current
  648.     DESCRIPTION
  649.         "Time this rule set was last changed."
  650.     ::= { flowRuleSetInfoEntry 4 }
  651.  
  652. flowRuleInfoStatus OBJECT-TYPE
  653.     SYNTAX  RowStatus
  654.     MAX-ACCESS  read-create
  655.     STATUS  current
  656.     DESCRIPTION
  657.         "The status of this rule set.  If this object's value is
  658.         not active(1), the meter must not attempt to use this
  659.         rule set."
  660.     ::= { flowRuleSetInfoEntry 5 }
  661.  
  662. --
  663. -- Control Group:  Interface Info Table
  664. --
  665.  
  666. flowInterfaceTable OBJECT-TYPE
  667.     SYNTAX  SEQUENCE OF FlowInterfaceEntry
  668.     MAX-ACCESS  not-accessible
  669.     STATUS  current
  670.     DESCRIPTION
  671.  
  672.  
  673.  
  674. Brownlee                      Experimental                     [Page 12]
  675.  
  676. RFC 2064                       Meter MIB                    January 1997
  677.  
  678.  
  679.         "An array of information specific to each meter interface."
  680.     ::= { flowControl 2 }
  681.  
  682. flowInterfaceEntry OBJECT-TYPE
  683.     SYNTAX  FlowInterfaceEntry
  684.     MAX-ACCESS  not-accessible
  685.     STATUS  current
  686.     DESCRIPTION
  687.         "Information about a particular interface."
  688.     INDEX   { ifIndex }
  689.     ::= { flowInterfaceTable 1 }
  690.  
  691. FlowInterfaceEntry ::= SEQUENCE {
  692.     flowInterfaceRate         Integer32,
  693.     flowInterfaceLostPackets  Counter32
  694.     }
  695.  
  696. flowInterfaceRate OBJECT-TYPE
  697.     SYNTAX  Integer32
  698.     MAX-ACCESS  read-write
  699.     STATUS  current
  700.     DESCRIPTION
  701.         "The parameter N for statistical counting on this interface.
  702.         Set to N to count 1/Nth of the packets appearing at this
  703.         interface.  A meter should choose its own algorithm to
  704.         introduce variance into the sampling so that exactly every Nth
  705.         packet is not counted.  A sampling rate of 1 counts all
  706.         packets.  A sampling rate of 0 results in the interface
  707.         being ignored by the meter."
  708.     ::= { flowInterfaceEntry 1 }
  709.  
  710. flowInterfaceLostPackets OBJECT-TYPE
  711.     SYNTAX  Counter32
  712.     MAX-ACCESS  read-only
  713.     STATUS  current
  714.     DESCRIPTION
  715.         "The number of packets the meter has lost for this interface.
  716.         Such losses may occur because the meter has been unable to
  717.         keep up with the traffic volume."
  718.     ::= { flowInterfaceEntry 2 }
  719.  
  720. --
  721. -- Control Group:  Meter Reader Info Table
  722. --
  723.  
  724. -- Any meter reader wishing to collect data reliably for all flows
  725. -- should first create a row in this table.  It should write that
  726. -- row's flowReaderLastTime object each time it starts a collection
  727.  
  728.  
  729.  
  730. Brownlee                      Experimental                     [Page 13]
  731.  
  732. RFC 2064                       Meter MIB                    January 1997
  733.  
  734.  
  735. -- pass through the flow table.
  736.  
  737. -- The meter will not recover a flow's memory until every meter reader
  738. -- holding a row in this table has collected that flow's data.
  739.  
  740. -- If a meter reader does not create a row in this table, e.g. because
  741. -- it failed authentication in the meter's SNMP write community,
  742. -- collection can still proceed but the meter may not be able to
  743. -- recover inactive flows.
  744.  
  745. flowReaderInfoTable OBJECT-TYPE
  746.     SYNTAX  SEQUENCE OF FlowReaderInfoEntry
  747.     MAX-ACCESS  not-accessible
  748.     STATUS  current
  749.     DESCRIPTION
  750.         "An array of information about meter readers which have
  751.         registered their intent to collect flow data from this meter."
  752.     ::= { flowControl 3 }
  753.  
  754. flowReaderInfoEntry OBJECT-TYPE
  755.     SYNTAX  FlowReaderInfoEntry
  756.     MAX-ACCESS  not-accessible
  757.     STATUS  current
  758.     DESCRIPTION
  759.         "Information about a particular meter reader."
  760.     INDEX  { flowReaderIndex }
  761.     ::= { flowReaderInfoTable 1 }
  762.  
  763. FlowReaderInfoEntry ::= SEQUENCE {
  764.     flowReaderIndex            Integer32,
  765.     flowReaderTimeout          Integer32,
  766.     flowReaderOwner            OwnerString,
  767.     flowReaderLastTime         TimeStamp,
  768.     flowReaderPreviousTime     TimeStamp,
  769.     flowReaderStatus           RowStatus
  770.     }
  771.  
  772. flowReaderIndex OBJECT-TYPE
  773.     SYNTAX  Integer32
  774.     MAX-ACCESS  not-accessible
  775.     STATUS  current
  776.     DESCRIPTION
  777.         "Selects an entry from the array of meter reader info entries."
  778.     ::= { flowReaderInfoEntry 1 }
  779.  
  780. flowReaderTimeout OBJECT-TYPE
  781.     SYNTAX  Integer32
  782.     MAX-ACCESS  read-create
  783.  
  784.  
  785.  
  786. Brownlee                      Experimental                     [Page 14]
  787.  
  788. RFC 2064                       Meter MIB                    January 1997
  789.  
  790.  
  791.     STATUS  current
  792.     DESCRIPTION
  793.         "Specifies the maximum time (in seconds) between flow data
  794.         collections for this meter reader.  If this time elapses
  795.         without a collection, the meter should assume that this meter
  796.         reader has stopped collecting, and delete this row from the
  797.         table."
  798.     ::= { flowReaderInfoEntry 2 }
  799.  
  800. flowReaderOwner OBJECT-TYPE
  801.     SYNTAX  OwnerString
  802.     MAX-ACCESS  read-create
  803.     STATUS  current
  804.     DESCRIPTION
  805.         "Identifies the meter reader which created this row."
  806.     ::= { flowReaderInfoEntry 3 }
  807.  
  808. flowReaderLastTime OBJECT-TYPE
  809.     SYNTAX  TimeStamp
  810.     MAX-ACCESS  read-create
  811.     STATUS  current
  812.     DESCRIPTION
  813.         "Time this meter reader began its most recent data collection.
  814.  
  815.         This variable should be written by a meter reader as the first
  816.         step in reading flow data.  The meter will set this LastTime
  817.         value to sysUptime and set its PreviousTime value (below) to
  818.         the old  LastTime.  This allows the meter to recover flows
  819.         which have been inactive since PreviousTime, for these have
  820.         been collected at least once.
  821.  
  822.         If the meter fails to write flowLastReadTime, e.g. by
  823.         failing authentication in the meter's SNMP write community,
  824.         collection may still proceed but the meter may not be able to
  825.         recover inactive flows."
  826.     ::= { flowReaderInfoEntry 4 }
  827.  
  828. flowReaderPreviousTime OBJECT-TYPE
  829.     SYNTAX  TimeStamp
  830.     MAX-ACCESS  read-only
  831.     STATUS  current
  832.     DESCRIPTION
  833.         "Time this meter reader began the collection before last."
  834.     ::= { flowReaderInfoEntry 5 }
  835.  
  836. flowReaderStatus OBJECT-TYPE
  837.     SYNTAX  RowStatus
  838.     MAX-ACCESS  read-create
  839.  
  840.  
  841.  
  842. Brownlee                      Experimental                     [Page 15]
  843.  
  844. RFC 2064                       Meter MIB                    January 1997
  845.  
  846.  
  847.     STATUS  current
  848.     DESCRIPTION
  849.         "The status of this meter reader."
  850.     ::= { flowReaderInfoEntry 6 }
  851.  
  852. --
  853. -- Control Group:  Manager Info Table
  854. --
  855.  
  856. -- Any manager wishing to download rule sets to the meter must create
  857. -- a row in this table.  Once it has a table row, the manager may set
  858. -- the control variables in its row so as to cause the meter to run
  859. -- any valid rule set held by the meter.
  860.  
  861. flowManagerInfoTable OBJECT-TYPE
  862.     SYNTAX  SEQUENCE OF FlowManagerInfoEntry
  863.     MAX-ACCESS  not-accessible
  864.     STATUS  current
  865.     DESCRIPTION
  866.         "An array of information about managers which have
  867.         registered their intent to run rule sets on this meter."
  868.     ::= { flowControl 4 }
  869.  
  870. flowManagerInfoEntry OBJECT-TYPE
  871.     SYNTAX  FlowManagerInfoEntry
  872.     MAX-ACCESS  not-accessible
  873.     STATUS  current
  874.     DESCRIPTION
  875.         "Information about a particular meter reader."
  876.     INDEX  { flowManagerIndex }
  877.     ::= { flowManagerInfoTable 1 }
  878.  
  879. FlowManagerInfoEntry ::= SEQUENCE {
  880.     flowManagerIndex           Integer32,
  881.     flowManagerCurrentRuleSet  Integer32,
  882.     flowManagerStandbyRuleSet  Integer32,
  883.     flowManagerHighWaterMark   INTEGER,
  884.     flowManagerCounterWrap     INTEGER,
  885.     flowManagerOwner           OwnerString,
  886.     flowManagerTimeStamp       TimeStamp,
  887.     flowManagerStatus          RowStatus
  888.     }
  889.  
  890. flowManagerIndex OBJECT-TYPE
  891.     SYNTAX  Integer32
  892.     MAX-ACCESS  not-accessible
  893.     STATUS  current
  894.     DESCRIPTION
  895.  
  896.  
  897.  
  898. Brownlee                      Experimental                     [Page 16]
  899.  
  900. RFC 2064                       Meter MIB                    January 1997
  901.  
  902.  
  903.         "Selects an entry from the array of manager info entries."
  904.     ::= { flowManagerInfoEntry 1 }
  905.  
  906. flowManagerCurrentRuleSet OBJECT-TYPE
  907.     SYNTAX  Integer32
  908.     MAX-ACCESS  read-create
  909.     STATUS  current
  910.     DESCRIPTION
  911.         "Index to the array of rule sets.  Specifies which set of
  912.         rules is currently being used for accounting by this manager.
  913.         When the manager sets this variable the meter will close its
  914.         current rule set and start using the new one.  Flows created
  915.         by the old rule set remain in memory, orphaned until their
  916.         data has been read.  Specifying rule set 0 (the empty set)
  917.         stops flow measurement by this manager."
  918.     ::= { flowManagerInfoEntry 2 }
  919.  
  920. flowManagerStandbyRuleSet OBJECT-TYPE
  921.     SYNTAX  Integer32
  922.     MAX-ACCESS  read-create
  923.     STATUS  current
  924.     DESCRIPTION
  925.         "Index to the array of rule sets.  After reaching
  926.         HighWaterMark (see below) the manager may switch to using its
  927.         standby rule set.  For this to be effective the manager should
  928.         have downloaded a standby rule set which uses a coarser
  929.         reporting granularity.  The manager may also need to
  930.         decrease the meter reading interval so that the meter can
  931.         recover flows measured by its normal rule set."
  932.     DEFVAL { 0 }  -- No standby
  933.     ::= { flowManagerInfoEntry 3 }
  934.  
  935. flowManagerHighWaterMark OBJECT-TYPE
  936.     SYNTAX  INTEGER (0..100)
  937.     MAX-ACCESS  read-create
  938.     STATUS  current
  939.     DESCRIPTION
  940.         "A value expressed as a percentage, interpreted by the meter
  941.         as an indication of how full the flow table should be before
  942.         it should switch to the standby rule set (if one has been
  943.         specified) forthis manager.  Values of 0% or 100% disable
  944.         the checking represented by this variable."
  945.     ::= { flowManagerInfoEntry 4 }
  946.  
  947. flowManagerCounterWrap OBJECT-TYPE
  948.     SYNTAX  INTEGER { wrap(1), scale(2) }
  949.     MAX-ACCESS  read-create
  950.     STATUS  current
  951.  
  952.  
  953.  
  954. Brownlee                      Experimental                     [Page 17]
  955.  
  956. RFC 2064                       Meter MIB                    January 1997
  957.  
  958.  
  959.     DESCRIPTION
  960.         "Specifies whether PDU and octet counters should wrap when
  961.         they reach the top of their range (normal behaviour for
  962.         Counter32 objects), or whether their scale factors should
  963.         be used instead.  The combination of counter and scale
  964.         factor allows counts to be returned as binary floating
  965.         point numbers, with 32-bit mantissas and 8-bit exponents."
  966.     DEFVAL { wrap }
  967.     ::= { flowManagerInfoEntry 5 }
  968.  
  969. flowManagerOwner OBJECT-TYPE
  970.     SYNTAX  OwnerString
  971.     MAX-ACCESS  read-create
  972.     STATUS  current
  973.     DESCRIPTION
  974.         "Identifies the manager which created this row."
  975.     ::= { flowManagerInfoEntry 6 }
  976.  
  977. flowManagerTimeStamp OBJECT-TYPE
  978.     SYNTAX  TimeStamp
  979.     MAX-ACCESS  read-create
  980.     STATUS  current
  981.     DESCRIPTION
  982.         "Time this row was last changed by its manager."
  983.     ::= { flowManagerInfoEntry 7 }
  984.  
  985. flowManagerStatus OBJECT-TYPE
  986.     SYNTAX  RowStatus
  987.     MAX-ACCESS  read-create
  988.     STATUS  current
  989.     DESCRIPTION
  990.         "The status of this manager."
  991.     ::= { flowManagerInfoEntry 8 }
  992.  
  993. --
  994. -- Control Group:  General Meter Control Variables
  995. --
  996.  
  997. -- At present the meter only runs a single rule set  - the 'current'
  998. -- one and has a single 'standby' rule set.  In future it may be
  999. -- developed so as to run multiple rule sets simultaneously; that would
  1000. -- require a more elaborate set of control variables to allow reliable
  1001. -- operation.
  1002.  
  1003. flowFloodMark OBJECT-TYPE
  1004.     SYNTAX  INTEGER (0..100)
  1005.     MAX-ACCESS  read-write
  1006.     STATUS  current
  1007.  
  1008.  
  1009.  
  1010. Brownlee                      Experimental                     [Page 18]
  1011.  
  1012. RFC 2064                       Meter MIB                    January 1997
  1013.  
  1014.  
  1015.     DESCRIPTION
  1016.         "A value expressed as a percentage, interpreted by the meter
  1017.         as an indication of how full the flow table should be before
  1018.         it should take some action to avoid running out of resources
  1019.         to handle new flows.  Values of 0% or 100% disable the
  1020.         checking represented by this variable."
  1021.     ::= { flowControl 5 }
  1022.  
  1023. flowInactivityTimeout OBJECT-TYPE
  1024.     SYNTAX  Integer32 (1..3600)
  1025.     MAX-ACCESS  read-write
  1026.     STATUS  current
  1027.     DESCRIPTION
  1028.         "The time in seconds since the last packet seen, after
  1029.         which the flow may be terminated.  Note that although a
  1030.         flow may have been terminated, its data must be collected
  1031.         before its memory can be recovered."
  1032.     DEFVAL { 600 } -- 10 minutes
  1033.     ::= { flowControl 6 }
  1034.  
  1035. flowActiveFlows OBJECT-TYPE
  1036.     SYNTAX  Integer32
  1037.     MAX-ACCESS  read-only
  1038.     STATUS  current
  1039.     DESCRIPTION
  1040.         "The numbers of flows which are currently in use, i.e. have
  1041.         been active since the last collection."
  1042.     ::= { flowControl 7 }
  1043.  
  1044. flowMaxFlows OBJECT-TYPE
  1045.     SYNTAX  Integer32
  1046.     MAX-ACCESS  read-only
  1047.     STATUS  current
  1048.     DESCRIPTION
  1049.         "The maximum number of flows allowed in the meter's
  1050.         flow table.  At present this is determined when the meter
  1051.         is first started up."
  1052.     ::= { flowControl 8 }
  1053.  
  1054.  
  1055. --
  1056. -- The Flow Table
  1057. --
  1058.  
  1059. -- This is a table kept by a meter, with one flow data entry for every
  1060. -- flow being measured.  Each flow data entry stores the attribute
  1061. -- values for a traffic flow.  Details of flows and their attributes
  1062. -- are given in the 'Traffic Flow Measurement: Architecture'
  1063.  
  1064.  
  1065.  
  1066. Brownlee                      Experimental                     [Page 19]
  1067.  
  1068. RFC 2064                       Meter MIB                    January 1997
  1069.  
  1070.  
  1071. -- document [9].
  1072.  
  1073. -- From time to time a meter reader may sweep the flow table so as
  1074. -- to read counts.  This is most effectively achieved by using the
  1075. -- TimeMark variable together with successive GetBulk requests to
  1076. -- retrieve the values of the desired flow attribute variables.
  1077.  
  1078. -- This scheme allows multiple meter readers to independently use the
  1079. -- same meter; the meter readers do not have to be synchronised and
  1080. -- they may use different collection intervals.
  1081.  
  1082. flowDataTable OBJECT-TYPE
  1083.     SYNTAX  SEQUENCE OF FlowDataEntry
  1084.     MAX-ACCESS  not-accessible
  1085.     STATUS  current
  1086.     DESCRIPTION
  1087.         "The list of all flows being measured."
  1088.     ::= { flowData 1 }
  1089.  
  1090. flowDataEntry OBJECT-TYPE
  1091.     SYNTAX  FlowDataEntry
  1092.     MAX-ACCESS  not-accessible
  1093.     STATUS  current
  1094.     DESCRIPTION
  1095.         "The flow data record for a particular flow."
  1096.     INDEX { flowDataTimeMark, flowDataIndex }
  1097.     ::= { flowDataTable 1 }
  1098.  
  1099. FlowDataEntry ::= SEQUENCE {
  1100.     flowDataIndex                   Integer32,
  1101.     flowDataTimeMark                TimeFilter,
  1102.     flowDataStatus                  INTEGER,
  1103.  
  1104.     flowDataSourceInterface         Integer32,
  1105.     flowDataSourceAdjacentType      AddressType,
  1106.     flowDataSourceAdjacentAddress   AdjacentAddress,
  1107.     flowDataSourceAdjacentMask      AdjacentAddress,
  1108.     flowDataSourcePeerType          AddressType,
  1109.     flowDataSourcePeerAddress       PeerAddress,
  1110.     flowDataSourcePeerMask          PeerAddress,
  1111.     flowDataSourceTransType         INTEGER,
  1112.     flowDataSourceTransAddress      TransportAddress,
  1113.     flowDataSourceTransMask         TransportAddress,
  1114.  
  1115.     flowDataDestInterface           Integer32,
  1116.     flowDataDestAdjacentType        AddressType,
  1117.     flowDataDestAdjacentAddress     AdjacentAddress,
  1118.     flowDataDestAdjacentMask        AdjacentAddress,
  1119.  
  1120.  
  1121.  
  1122. Brownlee                      Experimental                     [Page 20]
  1123.  
  1124. RFC 2064                       Meter MIB                    January 1997
  1125.  
  1126.  
  1127.     flowDataDestPeerType            AddressType,
  1128.     flowDataDestPeerAddress         PeerAddress,
  1129.     flowDataDestPeerMask            PeerAddress,
  1130.     flowDataDestTransType           INTEGER,
  1131.     flowDataDestTransAddress        TransportAddress,
  1132.     flowDataDestTransMask           TransportAddress,
  1133.  
  1134.     flowDataPDUScale                INTEGER,
  1135.     flowDataOctetScale              INTEGER,
  1136.  
  1137.     flowDataRuleSet                 INTEGER,
  1138.  
  1139.     flowDataToOctets                Counter32,    -- Source->Dest
  1140.     flowDataToPDUs                  Counter32,
  1141.     flowDataFromOctets              Counter32,    -- Dest->Source
  1142.     flowDataFromPDUs                Counter32,
  1143.     flowDataFirstTime               TimeTicks,    -- Activity times
  1144.     flowDataLastActiveTime          TimeTicks,
  1145.  
  1146.     flowDataSourceSubscriberID      OCTET STRING,
  1147.     flowDataDestSubscriberID        OCTET STRING,
  1148.     flowDataSessionID               OCTET STRING,
  1149.  
  1150.     flowDataSourceClass             INTEGER,
  1151.     flowDataDestClass               INTEGER,
  1152.     flowDataClass                   INTEGER,
  1153.     flowDataSourceKind              INTEGER,
  1154.     flowDataDestKind                INTEGER,
  1155.     flowDataKind                    INTEGER
  1156.     }
  1157.  
  1158. flowDataIndex OBJECT-TYPE
  1159.     SYNTAX  Integer32
  1160.     MAX-ACCESS  read-only
  1161.     STATUS  current
  1162.     DESCRIPTION
  1163.         "Value of this flow data record's index within the meter's
  1164.         flow table."
  1165.     ::= { flowDataEntry 1 }
  1166.  
  1167. flowDataTimeMark OBJECT-TYPE
  1168.     SYNTAX  TimeFilter
  1169.     MAX-ACCESS  not-accessible
  1170.     STATUS  current
  1171.     DESCRIPTION
  1172.         "A TimeFilter for this entry.  Allows GetNext and GetBulk
  1173.         to find flow table rows which have changed since a specified
  1174.         value of sysUptime."
  1175.  
  1176.  
  1177.  
  1178. Brownlee                      Experimental                     [Page 21]
  1179.  
  1180. RFC 2064                       Meter MIB                    January 1997
  1181.  
  1182.  
  1183.     ::= { flowDataEntry 2 }
  1184.  
  1185. flowDataStatus OBJECT-TYPE
  1186.     SYNTAX  INTEGER { inactive(1), current(2), idle(3) }
  1187.     MAX-ACCESS  read-only
  1188.     STATUS  current
  1189.     DESCRIPTION
  1190.         "Status of this flow data record."
  1191.     ::= { flowDataEntry 3 }
  1192.  
  1193. flowDataSourceInterface OBJECT-TYPE
  1194.     SYNTAX  Integer32
  1195.     MAX-ACCESS  read-only
  1196.     STATUS  current
  1197.     DESCRIPTION
  1198.         "Index of the interface associated with the source address
  1199.         for this flow.  It's value is one of those contained in the
  1200.         ifIndex field of the meter's interfaces table."
  1201.     ::= { flowDataEntry 4 }
  1202.  
  1203. flowDataSourceAdjacentType OBJECT-TYPE
  1204.     SYNTAX  AddressType
  1205.     MAX-ACCESS  read-only
  1206.     STATUS  current
  1207.     DESCRIPTION
  1208.         "Adjacent address type of the source for this flow.  If
  1209.         accounting is being performed at the network level the
  1210.         adjacent address will probably be an 802 MAC address, and
  1211.         the adjacent address type will indicate the medium type."
  1212.     ::= { flowDataEntry 5 }
  1213.  
  1214. flowDataSourceAdjacentAddress OBJECT-TYPE
  1215.     SYNTAX  AdjacentAddress
  1216.     MAX-ACCESS  read-only
  1217.     STATUS  current
  1218.     DESCRIPTION
  1219.         "Address of the adjacent device on the path for the source
  1220.         for this flow."
  1221.     ::= { flowDataEntry 6 }
  1222.  
  1223. flowDataSourceAdjacentMask OBJECT-TYPE
  1224.     SYNTAX  AdjacentAddress
  1225.     MAX-ACCESS  read-only
  1226.     STATUS  current
  1227.     DESCRIPTION
  1228.         "1-bits in this mask indicate which bits must match when
  1229.         comparing the adjacent source address for this flow."
  1230.     ::= { flowDataEntry 7 }
  1231.  
  1232.  
  1233.  
  1234. Brownlee                      Experimental                     [Page 22]
  1235.  
  1236. RFC 2064                       Meter MIB                    January 1997
  1237.  
  1238.  
  1239. flowDataSourcePeerType OBJECT-TYPE
  1240.     SYNTAX  AddressType
  1241.     MAX-ACCESS  read-only
  1242.     STATUS  current
  1243.     DESCRIPTION
  1244.         "Peer address type of the source for this flow."
  1245.     ::= { flowDataEntry 8 }
  1246.  
  1247. flowDataSourcePeerAddress OBJECT-TYPE
  1248.     SYNTAX  PeerAddress
  1249.     MAX-ACCESS  read-only
  1250.     STATUS  current
  1251.     DESCRIPTION
  1252.         "Address of the peer device for the source of this flow."
  1253.     ::= { flowDataEntry 9 }
  1254.  
  1255. flowDataSourcePeerMask OBJECT-TYPE
  1256.     SYNTAX  PeerAddress
  1257.     MAX-ACCESS  read-only
  1258.     STATUS  current
  1259.     DESCRIPTION
  1260.         "1-bits in this mask indicate which bits must match when
  1261.         comparing the source peer address for this flow."
  1262.     ::= { flowDataEntry 10 }
  1263.  
  1264. flowDataSourceTransType OBJECT-TYPE
  1265.     SYNTAX  INTEGER (1..255)
  1266.     MAX-ACCESS  read-only
  1267.     STATUS  current
  1268.     DESCRIPTION
  1269.         "Transport address type of the source for this flow.  The
  1270.         value of this attribute will depend on the peer address type."
  1271.     ::= { flowDataEntry 11 }
  1272.  
  1273. flowDataSourceTransAddress OBJECT-TYPE
  1274.     SYNTAX  TransportAddress
  1275.     MAX-ACCESS  read-only
  1276.     STATUS  current
  1277.     DESCRIPTION
  1278.         "Transport address for the source of this flow."
  1279.     ::= { flowDataEntry 12 }
  1280.  
  1281. flowDataSourceTransMask OBJECT-TYPE
  1282.     SYNTAX  TransportAddress
  1283.     MAX-ACCESS  read-only
  1284.     STATUS  current
  1285.     DESCRIPTION
  1286.         "1-bits in this mask indicate which bits must match when
  1287.  
  1288.  
  1289.  
  1290. Brownlee                      Experimental                     [Page 23]
  1291.  
  1292. RFC 2064                       Meter MIB                    January 1997
  1293.  
  1294.  
  1295.         comparing the transport source address for this flow."
  1296.     ::= { flowDataEntry 13 }
  1297.  
  1298. flowDataDestInterface OBJECT-TYPE
  1299.     SYNTAX  Integer32
  1300.     MAX-ACCESS  read-only
  1301.     STATUS  current
  1302.     DESCRIPTION
  1303.         "Index of the interface associated with the dest address for
  1304.         this flow.  This value is one of the values contained in the
  1305.         ifIndex field of the interfaces table."
  1306.     ::= { flowDataEntry 14 }
  1307.  
  1308. flowDataDestAdjacentType OBJECT-TYPE
  1309.     SYNTAX  AddressType
  1310.     MAX-ACCESS  read-only
  1311.     STATUS  current
  1312.     DESCRIPTION
  1313.         "Adjacent address type of the destination for this flow."
  1314.     ::= { flowDataEntry 15 }
  1315.  
  1316. flowDataDestAdjacentAddress OBJECT-TYPE
  1317.     SYNTAX  AdjacentAddress
  1318.     MAX-ACCESS  read-only
  1319.     STATUS  current
  1320.     DESCRIPTION
  1321.         "Address of the adjacent device on the path for the
  1322.         destination for this flow."
  1323.     ::= { flowDataEntry 16 }
  1324.  
  1325. flowDataDestAdjacentMask OBJECT-TYPE
  1326.     SYNTAX  AdjacentAddress
  1327.     MAX-ACCESS  read-only
  1328.     STATUS  current
  1329.     DESCRIPTION
  1330.         "1-bits in this mask indicate which bits must match when
  1331.         comparing the adjacent dest address for this flow."
  1332.     ::= { flowDataEntry 17 }
  1333.  
  1334. flowDataDestPeerType OBJECT-TYPE
  1335.     SYNTAX  AddressType
  1336.     MAX-ACCESS  read-only
  1337.     STATUS  current
  1338.     DESCRIPTION
  1339.         "Peer address type of the destination for this flow."
  1340.     ::= { flowDataEntry 18 }
  1341.  
  1342. flowDataDestPeerAddress OBJECT-TYPE
  1343.  
  1344.  
  1345.  
  1346. Brownlee                      Experimental                     [Page 24]
  1347.  
  1348. RFC 2064                       Meter MIB                    January 1997
  1349.  
  1350.  
  1351.     SYNTAX  PeerAddress
  1352.     MAX-ACCESS  read-only
  1353.     STATUS  current
  1354.     DESCRIPTION
  1355.         "Address of the peer device for the destination of this flow."
  1356.     ::= { flowDataEntry 19 }
  1357.  
  1358. flowDataDestPeerMask OBJECT-TYPE
  1359.     SYNTAX  PeerAddress
  1360.     MAX-ACCESS  read-only
  1361.     STATUS  current
  1362.     DESCRIPTION
  1363.         "1-bits in this mask indicate which bits must match when
  1364.         comparing the dest peer type for this flow."
  1365.     ::= { flowDataEntry 20 }
  1366.  
  1367. flowDataDestTransType OBJECT-TYPE
  1368.     SYNTAX  INTEGER (1..255)
  1369.     MAX-ACCESS  read-only
  1370.     STATUS  current
  1371.     DESCRIPTION
  1372.         "Transport address type of the destination for this flow.  The
  1373.         value of this attribute will depend on the peer address type."
  1374.     ::= { flowDataEntry 21 }
  1375.  
  1376. flowDataDestTransAddress OBJECT-TYPE
  1377.     SYNTAX  TransportAddress
  1378.     MAX-ACCESS  read-only
  1379.     STATUS  current
  1380.     DESCRIPTION
  1381.         "Transport address for the destination of this flow."
  1382.     ::= { flowDataEntry 22 }
  1383.  
  1384. flowDataDestTransMask OBJECT-TYPE
  1385.     SYNTAX  TransportAddress
  1386.     MAX-ACCESS  read-only
  1387.     STATUS  current
  1388.     DESCRIPTION
  1389.         "1-bits in this mask indicate which bits must match when
  1390.         comparing the transport destination address for this flow."
  1391.     ::= { flowDataEntry 23 }
  1392.  
  1393. flowDataPDUScale OBJECT-TYPE
  1394.     SYNTAX  INTEGER (1..255)
  1395.     MAX-ACCESS  read-only
  1396.     STATUS  current
  1397.     DESCRIPTION
  1398.         "The scale factor applied to this particular flow.  Indicates
  1399.  
  1400.  
  1401.  
  1402. Brownlee                      Experimental                     [Page 25]
  1403.  
  1404. RFC 2064                       Meter MIB                    January 1997
  1405.  
  1406.  
  1407.         the number of bits the PDU counter values should be moved left
  1408.         to obtain the actual values."
  1409.     ::= { flowDataEntry 24 }
  1410.  
  1411. flowDataOctetScale OBJECT-TYPE
  1412.     SYNTAX  INTEGER (1..255)
  1413.     MAX-ACCESS  read-only
  1414.     STATUS  current
  1415.     DESCRIPTION
  1416.         "The scale factor applied to this particular flow.  Indicates
  1417.         the number of bits the octet counter values should be moved
  1418.         left to obtain the actual values."
  1419.     ::= { flowDataEntry 25 }
  1420.  
  1421. flowDataRuleSet OBJECT-TYPE
  1422.     SYNTAX  INTEGER (1..255)
  1423.     MAX-ACCESS  read-only
  1424.     STATUS  current
  1425.     DESCRIPTION
  1426.         "The RuleSet number of the rule set which created this flow."
  1427.     ::= { flowDataEntry 26 }
  1428.  
  1429. flowDataToOctets OBJECT-TYPE
  1430.     SYNTAX  Counter32
  1431.     MAX-ACCESS  read-only
  1432.     STATUS  current
  1433.     DESCRIPTION
  1434.         "The count of octets flowing from source to dest address and
  1435.         being delivered to the protocol level being metered.  In the
  1436.         case of IP this would count the number of octets delivered to
  1437.         the IP level."
  1438.     ::= { flowDataEntry 27 }
  1439.  
  1440. flowDataToPDUs OBJECT-TYPE
  1441.     SYNTAX  Counter32
  1442.     MAX-ACCESS  read-only
  1443.     STATUS  current
  1444.     DESCRIPTION
  1445.         "The count of protocol packets flowing from source to dest
  1446.         address and being delivered to the protocol level being
  1447.         metered.  In the case of IP, for example, this would count the
  1448.         IP packets delivered to the IP protocol level."
  1449.     ::= { flowDataEntry 28 }
  1450.  
  1451. flowDataFromOctets OBJECT-TYPE
  1452.     SYNTAX  Counter32
  1453.     MAX-ACCESS  read-only
  1454.     STATUS  current
  1455.  
  1456.  
  1457.  
  1458. Brownlee                      Experimental                     [Page 26]
  1459.  
  1460. RFC 2064                       Meter MIB                    January 1997
  1461.  
  1462.  
  1463.     DESCRIPTION
  1464.         "The count of octets flowing from dest to source address and
  1465.         being delivered to the protocol level being metered."
  1466.     ::= { flowDataEntry 29 }
  1467.  
  1468. flowDataFromPDUs OBJECT-TYPE
  1469.     SYNTAX  Counter32
  1470.     MAX-ACCESS  read-only
  1471.     STATUS  current
  1472.     DESCRIPTION
  1473.         "The count of protocol packets flowing from dest to source
  1474.         address and being delivered to the protocol level being
  1475.         metered.  In the case of IP, for example, this would count
  1476.         the IP packets delivered to the IP protocol level."
  1477.     ::= { flowDataEntry 30 }
  1478.  
  1479. flowDataFirstTime OBJECT-TYPE
  1480.     SYNTAX  TimeTicks
  1481.     MAX-ACCESS  read-only
  1482.     STATUS  current
  1483.     DESCRIPTION
  1484.         "The time at which this flow was first entered in the table"
  1485.     ::= { flowDataEntry 31 }
  1486.  
  1487. flowDataLastActiveTime OBJECT-TYPE
  1488.     SYNTAX  TimeTicks
  1489.     MAX-ACCESS  read-only
  1490.     STATUS  current
  1491.     DESCRIPTION
  1492.         "The last time this flow had activity, i.e. the time of
  1493.         arrival of the most recent PDU belonging to this flow."
  1494.     ::= { flowDataEntry 32 }
  1495.  
  1496. flowDataSourceSubscriberID OBJECT-TYPE
  1497.     SYNTAX  OCTET STRING (SIZE (4..20))
  1498.     MAX-ACCESS  read-only
  1499.     STATUS  current
  1500.     DESCRIPTION
  1501.         "Subscriber ID associated with the source address for this
  1502.         flow."
  1503.     ::= { flowDataEntry 33 }
  1504.  
  1505. flowDataDestSubscriberID OBJECT-TYPE
  1506.     SYNTAX  OCTET STRING (SIZE (4..20))
  1507.     MAX-ACCESS  read-only
  1508.     STATUS  current
  1509.     DESCRIPTION
  1510.         "Subscriber ID associated with the dest address for this
  1511.  
  1512.  
  1513.  
  1514. Brownlee                      Experimental                     [Page 27]
  1515.  
  1516. RFC 2064                       Meter MIB                    January 1997
  1517.  
  1518.  
  1519.         flow."
  1520.     ::= { flowDataEntry 34 }
  1521.  
  1522. flowDataSessionID OBJECT-TYPE
  1523.     SYNTAX  OCTET STRING (SIZE (4..10))
  1524.     MAX-ACCESS  read-only
  1525.     STATUS  current
  1526.     DESCRIPTION
  1527.         "Session ID for this flow.  Such an ID might be allocated
  1528.         by a network access server to distinguish a series of sessions
  1529.         between the same pair of addresses, which would otherwise
  1530.         appear to be parts of the same accounting flow."
  1531.     ::= { flowDataEntry 35 }
  1532.  
  1533. flowDataSourceClass OBJECT-TYPE
  1534.     SYNTAX  INTEGER (1..255)
  1535.     MAX-ACCESS  read-only
  1536.     STATUS  current
  1537.     DESCRIPTION
  1538.         "Source class for this flow.  Determined by the rules, set by
  1539.         a PushRule action when this flow was entered in the table."
  1540.     ::= { flowDataEntry 36 }
  1541.  
  1542. flowDataDestClass OBJECT-TYPE
  1543.     SYNTAX  INTEGER (1..255)
  1544.     MAX-ACCESS  read-only
  1545.     STATUS  current
  1546.     DESCRIPTION
  1547.         "Destination class for this flow.  Determined by the rules, set
  1548.         by a PushRule action when this flow was entered in the table."
  1549.     ::= { flowDataEntry 37 }
  1550.  
  1551. flowDataClass OBJECT-TYPE
  1552.     SYNTAX  INTEGER (1..255)
  1553.     MAX-ACCESS  read-only
  1554.     STATUS  current
  1555.     DESCRIPTION
  1556.         "Class for this flow.  Determined by the rules, set by a
  1557.         PushRule action when this flow was entered in the table."
  1558.     ::= { flowDataEntry 38 }
  1559.  
  1560. flowDataSourceKind OBJECT-TYPE
  1561.     SYNTAX  INTEGER (1..255)
  1562.     MAX-ACCESS  read-only
  1563.     STATUS  current
  1564.     DESCRIPTION
  1565.         "Source kind for this flow.  Determined by the rules, set by
  1566.         a PushRule action when this flow was entered in the table."
  1567.  
  1568.  
  1569.  
  1570. Brownlee                      Experimental                     [Page 28]
  1571.  
  1572. RFC 2064                       Meter MIB                    January 1997
  1573.  
  1574.  
  1575.     ::= { flowDataEntry 39 }
  1576.  
  1577. flowDataDestKind OBJECT-TYPE
  1578.     SYNTAX  INTEGER (1..255)
  1579.     MAX-ACCESS  read-only
  1580.     STATUS  current
  1581.     DESCRIPTION
  1582.         "Destination kind for this flow.  Determined by the rules, set
  1583.         by a PushRule action when this flow was entered in the table."
  1584.     ::= { flowDataEntry 40 }
  1585.  
  1586. flowDataKind OBJECT-TYPE
  1587.     SYNTAX  INTEGER (1..255)
  1588.     MAX-ACCESS  read-only
  1589.     STATUS  current
  1590.     DESCRIPTION
  1591.         "Class for this flow.  Determined by the rules, set by a
  1592.         PushRule action when this flow was entered in the table."
  1593.     ::= { flowDataEntry 41 }
  1594.  
  1595.  
  1596. --
  1597. -- The Activity Column Table
  1598. --
  1599.  
  1600. flowColumnActivityTable OBJECT-TYPE
  1601.     SYNTAX  SEQUENCE OF FlowColumnActivityEntry
  1602.     MAX-ACCESS  not-accessible
  1603.     STATUS   current
  1604.     DESCRIPTION
  1605.         "Index into the Flow Table.  Allows a meter reader to retrieve
  1606.         a list containing the flow table indeces of flows which were
  1607.         last active at or after a given time, together with the values
  1608.         of a specified attribute for each such flow."
  1609.     ::= { flowData 2 }
  1610.  
  1611. flowColumnActivityEntry OBJECT-TYPE
  1612.     SYNTAX  FlowColumnActivityEntry
  1613.     MAX-ACCESS  not-accessible
  1614.     STATUS  current
  1615.     DESCRIPTION
  1616.         "The Column Activity Entry for a particular attribute,
  1617.         activity time and flow."
  1618.     INDEX { flowColumnActivityAttribute, flowColumnActivityTime,
  1619.             flowColumnActivityIndex }
  1620.     ::= { flowColumnActivityTable 1 }
  1621.  
  1622. FlowColumnActivityEntry ::= SEQUENCE {
  1623.  
  1624.  
  1625.  
  1626. Brownlee                      Experimental                     [Page 29]
  1627.  
  1628. RFC 2064                       Meter MIB                    January 1997
  1629.  
  1630.  
  1631.     flowColumnActivityAttribute   FlowAttributeNumber,
  1632.     flowColumnActivityTime        TimeFilter,
  1633.     flowColumnActivityIndex       Integer32,
  1634.     flowColumnActivityData        OCTET STRING
  1635.     }
  1636.  
  1637. flowColumnActivityAttribute OBJECT-TYPE
  1638.     SYNTAX  FlowAttributeNumber
  1639.     MAX-ACCESS  read-only
  1640.     STATUS  current
  1641.     DESCRIPTION
  1642.         "Specifies the attribute for which values are required from
  1643.         active flows."
  1644.     ::= { flowColumnActivityEntry 1 }
  1645.  
  1646. flowColumnActivityTime OBJECT-TYPE
  1647.     SYNTAX  TimeFilter
  1648.     MAX-ACCESS  read-only
  1649.     STATUS  current
  1650.     DESCRIPTION
  1651.         "This variable is a copy of flowDataLastActiveTime in the
  1652.         flow data record identified by the flowColumnActivityIndex
  1653.         value of this flowColumnActivityTable entry."
  1654.     ::= { flowColumnActivityEntry 2 }
  1655.  
  1656. flowColumnActivityIndex OBJECT-TYPE
  1657.     SYNTAX  Integer32
  1658.     MAX-ACCESS  read-only
  1659.     STATUS  current
  1660.     DESCRIPTION
  1661.         "Index of a flow table entry which was active at or after
  1662.         a specified flowColumnActivityTime."
  1663.     ::= { flowColumnActivityEntry 3 }
  1664.  
  1665. flowColumnActivityData OBJECT-TYPE
  1666.     SYNTAX  OCTET STRING (SIZE (3..1000))
  1667.     MAX-ACCESS  read-only
  1668.     STATUS  current
  1669.     DESCRIPTION
  1670.         "Collection of attribute data for flows active after
  1671.         flowColumnActivityTime.  Within the OCTET STRING is a
  1672.         sequence of { flow index, attribute value } pairs, one for
  1673.         each active flow.  The end of the sequence is marked by a
  1674.         flow index value of 0, indicating that there are no more
  1675.         rows in this column.
  1676.  
  1677.         The format of objects inside flowColumnFlowData is as follows.
  1678.         All numbers are unsigned.  Numbers and strings appear with
  1679.  
  1680.  
  1681.  
  1682. Brownlee                      Experimental                     [Page 30]
  1683.  
  1684. RFC 2064                       Meter MIB                    January 1997
  1685.  
  1686.  
  1687.         their high-order bytes leading.  Numbers are fixed size, as
  1688.         specified by their SYNTAX in the flow table (above), i.e. one
  1689.         octet for flowAddressType and small constants, and four octets
  1690.         for Counter and Timeticks.  Strings are variable-length, with
  1691.         the length given in a single leading octet.
  1692.  
  1693.         The following is an attempt at an ASN.1 definition of
  1694.         flowColumnActivityData:
  1695.  
  1696.         flowColumnActivityData ::= SEQUENCE flowRowItemEntry
  1697.         flowRowItemEntry ::= SEQUENCE {
  1698.            flowRowNumber    INTEGER (1..65535),
  1699.                                  -- 0 indicates the end of this column
  1700.            flowDataValue   flowDataType -- Choice depends on attribute
  1701.            }
  1702.         flowDataType ::= CHOICE {
  1703.             flowByteValue   INTEGER (1..255),
  1704.             flowShortValue  INTEGER (1..65535),
  1705.             flowLongValue   Integer32,
  1706.             flowStringValue OCTET STRING  -- Length (n) in first byte,
  1707.                   -- n+1 bytes total length, trailing zeroes truncated
  1708.             }"
  1709.     ::= { flowColumnActivityEntry 4 }
  1710.  
  1711.  
  1712. --
  1713. -- The Rule Table
  1714. --
  1715.  
  1716. -- This is an array of rule tables; the one in use is selected by
  1717. -- CurrentRuleSet.  To change the rule set the manager chooses a set
  1718. -- number which is not in use, downloads the new rule set there, then
  1719. -- writes the new set number into CurrentRuleSet.  Rule set 1 is the
  1720. -- default rule set, used by the meter on start-up.  Several rule sets
  1721. -- can be held in a meter so that the manager can change the rules
  1722. -- easily, for example with time of day.  Note that a manager may
  1723. -- not change the default rule set, nor the rules in its current rule
  1724. -- set!  See the 'Traffic Flow Measurement: Architecture' document [9]
  1725. -- for details of rules and how they are used.
  1726.  
  1727. flowRuleTable OBJECT-TYPE
  1728.     SYNTAX  SEQUENCE OF FlowRuleEntry
  1729.     MAX-ACCESS  not-accessible
  1730.     STATUS   current
  1731.     DESCRIPTION
  1732.         "Contains all the rule sets which may be used by the meter."
  1733.     ::= { flowRules 1 }
  1734.  
  1735.  
  1736.  
  1737.  
  1738. Brownlee                      Experimental                     [Page 31]
  1739.  
  1740. RFC 2064                       Meter MIB                    January 1997
  1741.  
  1742.  
  1743. flowRuleEntry OBJECT-TYPE
  1744.     SYNTAX  FlowRuleEntry
  1745.     MAX-ACCESS  not-accessible
  1746.     STATUS   current
  1747.     DESCRIPTION
  1748.         "The rule record itself."
  1749.     INDEX { flowRuleSet, flowRuleIndex }
  1750.     ::= { flowRuleTable 1 }
  1751.  
  1752. FlowRuleEntry ::= SEQUENCE {
  1753.     flowRuleSet                  INTEGER,
  1754.     flowRuleIndex                INTEGER,
  1755.     flowRuleSelector             RuleAttributeNumber,
  1756.     flowRuleMask                 RuleAddress,
  1757.     flowRuleMatchedValue         RuleAddress,
  1758.     flowRuleAction               ActionNumber,
  1759.     flowRuleParameter            Integer32
  1760.     }
  1761.  
  1762. flowRuleSet OBJECT-TYPE
  1763.     SYNTAX  INTEGER (1..255)
  1764.     MAX-ACCESS  not-accessible
  1765.     STATUS  current
  1766.     DESCRIPTION
  1767.         "Selects a rule set from the array of rule sets."
  1768.     ::= { flowRuleEntry 1 }
  1769.  
  1770. flowRuleIndex OBJECT-TYPE
  1771.     SYNTAX  INTEGER (1..65535)
  1772.     MAX-ACCESS  not-accessible
  1773.     STATUS  current
  1774.     DESCRIPTION
  1775.         "The index into the Rule table.  N.B: These values will
  1776.         often be consecutive, given the fall-through semantics of
  1777.         processing the table."
  1778.     ::= { flowRuleEntry 2 }
  1779.  
  1780. flowRuleSelector OBJECT-TYPE
  1781.     SYNTAX  RuleAttributeNumber
  1782.     MAX-ACCESS  read-create
  1783.     STATUS  current
  1784.     DESCRIPTION
  1785.         "Indicates the attribute to be matched.
  1786.  
  1787.         null(0) is a special case; null rules always succeed.
  1788.  
  1789.         v1(51), v2(52), v3(53), v4(54) and v5(55) select meter
  1790.         variables, each of which can hold the name (i.e. selector
  1791.  
  1792.  
  1793.  
  1794. Brownlee                      Experimental                     [Page 32]
  1795.  
  1796. RFC 2064                       Meter MIB                    January 1997
  1797.  
  1798.  
  1799.         value) of an address attribute.  When one of these is used
  1800.         as a selector, its value specifies the attribute to be
  1801.         tested.  Variable values are set by an Assign action."
  1802.     ::= { flowRuleEntry 3 }
  1803.  
  1804. flowRuleMask OBJECT-TYPE
  1805.     SYNTAX  RuleAddress
  1806.     MAX-ACCESS  read-create
  1807.     STATUS  current
  1808.     DESCRIPTION
  1809.         "The initial mask used to compute the desired value.  If the
  1810.         mask is zero the rule's test will always succeed."
  1811.     ::= { flowRuleEntry 4 }
  1812.  
  1813. flowRuleMatchedValue OBJECT-TYPE
  1814.     SYNTAX  RuleAddress
  1815.     MAX-ACCESS  read-create
  1816.     STATUS  current
  1817.     DESCRIPTION
  1818.         "The resulting value to be matched for equality.
  1819.         Specifically, if the attribute chosen by the flowRuleSelector
  1820.         logically ANDed with the mask specified by the flowRuleMask
  1821.         equals the value specified in the flowRuleMatchedValue, then
  1822.         continue processing the table entry based on the action
  1823.         specified by the flowRuleAction entry.  Otherwise, proceed to
  1824.         the next entry in the rule table."
  1825.     ::= { flowRuleEntry 5 }
  1826.  
  1827. flowRuleAction OBJECT-TYPE
  1828.     SYNTAX  ActionNumber
  1829.     MAX-ACCESS  read-create
  1830.     STATUS  current
  1831.     DESCRIPTION
  1832.         "The action to be taken if this rule's test succeeds, or if
  1833.         the meter's 'test' flag is off.  Actions are opcodes for the
  1834.         meter's Packet Matching Engine; details are given in the
  1835.         'Traffic Flow Measurement: Architecture' document [9]."
  1836.     ::= { flowRuleEntry 6 }
  1837.  
  1838. flowRuleParameter OBJECT-TYPE
  1839.     SYNTAX  Integer32
  1840.     MAX-ACCESS  read-create
  1841.     STATUS  current
  1842.     DESCRIPTION
  1843.         "A parameter value providing extra information for the
  1844.         rule's action."
  1845.     ::= { flowRuleEntry 7 }
  1846.  
  1847.  
  1848.  
  1849.  
  1850. Brownlee                      Experimental                     [Page 33]
  1851.  
  1852. RFC 2064                       Meter MIB                    January 1997
  1853.  
  1854.  
  1855. --
  1856. -- Traffic Flow Meter conformance statement
  1857. --
  1858.  
  1859. flowMIBCompliances
  1860.     OBJECT IDENTIFIER ::= { flowMIBConformance 1 }
  1861.  
  1862. flowMIBGroups
  1863.     OBJECT IDENTIFIER ::= { flowMIBConformance 2 }
  1864.  
  1865. flowControlGroup OBJECT-GROUP
  1866.     OBJECTS  {
  1867.         flowRuleInfoSize, flowRuleInfoOwner,
  1868.             flowRuleInfoTimeStamp, flowRuleInfoStatus,
  1869.         flowInterfaceRate,
  1870.             flowInterfaceLostPackets,
  1871.         flowReaderTimeout, flowReaderOwner,
  1872.             flowReaderLastTime, flowReaderPreviousTime,
  1873.             flowReaderStatus,
  1874.         flowManagerCurrentRuleSet, flowManagerStandbyRuleSet,
  1875.             flowManagerHighWaterMark,
  1876.             flowManagerOwner, flowManagerTimeStamp,
  1877.             flowManagerStatus,
  1878.         flowFloodMark,
  1879.             flowInactivityTimeout,
  1880.             flowActiveFlows,
  1881.             flowMaxFlows }
  1882.     STATUS  current
  1883.     DESCRIPTION
  1884.         "The control group defines objects which are used to control
  1885.         an accounting meter."
  1886.     ::= {flowMIBGroups 1 }
  1887.  
  1888. flowDataTableGroup OBJECT-GROUP
  1889.     OBJECTS  {
  1890.         flowDataIndex,
  1891.         flowDataStatus,
  1892.         flowDataSourceInterface,
  1893.         flowDataSourceAdjacentType,
  1894.         flowDataSourceAdjacentAddress, flowDataSourceAdjacentMask,
  1895.         flowDataSourcePeerType,
  1896.         flowDataSourcePeerAddress, flowDataSourcePeerMask,
  1897.         flowDataSourceTransType,
  1898.         flowDataSourceTransAddress, flowDataSourceTransMask,
  1899.         flowDataDestInterface,
  1900.         flowDataDestAdjacentType,
  1901.         flowDataDestAdjacentAddress, flowDataDestAdjacentMask,
  1902.         flowDataDestPeerType,
  1903.  
  1904.  
  1905.  
  1906. Brownlee                      Experimental                     [Page 34]
  1907.  
  1908. RFC 2064                       Meter MIB                    January 1997
  1909.  
  1910.  
  1911.         flowDataDestPeerAddress, flowDataDestPeerMask,
  1912.         flowDataDestTransType,
  1913.         flowDataDestTransAddress, flowDataDestTransMask,
  1914.         flowDataRuleSet,
  1915.         flowDataToOctets, flowDataToPDUs,
  1916.         flowDataFromOctets, flowDataFromPDUs,
  1917.         flowDataFirstTime, flowDataLastActiveTime,
  1918.         flowDataSourceClass, flowDataDestClass, flowDataClass,
  1919.         flowDataSourceKind, flowDataDestKind, flowDataKind
  1920.         }
  1921.     STATUS  current
  1922.     DESCRIPTION
  1923.         "The flow table group defines objects which provide the
  1924.         structure for the rule table, including the creation time
  1925.         and activity time indexes into it.  In addition it defines
  1926.         objects which provide a base set of flow attributes for the
  1927.         adjacent, peer and transport layers, together with a flow's
  1928.         counters and times.  Finally it defines a flow's class and
  1929.         kind attributes, which are set by rule actions."
  1930.     ::= {flowMIBGroups 2 }
  1931.  
  1932. flowDataScaleGroup OBJECT-GROUP
  1933.     OBJECTS  {
  1934.         flowManagerCounterWrap,
  1935.         flowDataPDUScale, flowDataOctetScale
  1936.         }
  1937.     STATUS  current
  1938.     DESCRIPTION
  1939.         "The flow scale group defines objects which specify scale
  1940.         factors for counters."
  1941.     ::= {flowMIBGroups 3 }
  1942.  
  1943. flowDataSubscriberGroup OBJECT-GROUP
  1944.     OBJECTS  {
  1945.         flowDataSourceSubscriberID, flowDataDestSubscriberID,
  1946.         flowDataSessionID
  1947.         }
  1948.     STATUS  current
  1949.     DESCRIPTION
  1950.         "The flow subscriber group defines objects which may be used
  1951.         to identify the end point(s) of a flow."
  1952.     ::= {flowMIBGroups 4 }
  1953.  
  1954. flowDataColumnTableGroup OBJECT-GROUP
  1955.     OBJECTS  {
  1956.         flowColumnActivityAttribute,
  1957.         flowColumnActivityTime,
  1958.         flowColumnActivityIndex,
  1959.  
  1960.  
  1961.  
  1962. Brownlee                      Experimental                     [Page 35]
  1963.  
  1964. RFC 2064                       Meter MIB                    January 1997
  1965.  
  1966.  
  1967.         flowColumnActivityData
  1968.         }
  1969.     STATUS  current
  1970.     DESCRIPTION
  1971.         "The flow column table group defines objects which can be used
  1972.         to collect part of a column of attribute values from the flow
  1973.         table."
  1974.     ::= {flowMIBGroups 5 }
  1975.  
  1976. flowRuleTableGroup OBJECT-GROUP
  1977.     OBJECTS  {
  1978.         flowRuleSelector,
  1979.         flowRuleMask, flowRuleMatchedValue,
  1980.         flowRuleAction, flowRuleParameter
  1981.         }
  1982.     STATUS  current
  1983.     DESCRIPTION
  1984.         "The rule table group defines objects which hold the set(s)
  1985.         of rules specifying which traffic flows are to be accounted
  1986.         for."
  1987.     ::= {flowMIBGroups 6 }
  1988.  
  1989. flowMIBCompliance MODULE-COMPLIANCE
  1990.     STATUS  current
  1991.     DESCRIPTION
  1992.         "The compliance statement for a Traffic Flow Meter."
  1993.     MODULE
  1994.         MANDATORY-GROUPS  {
  1995.             flowControlGroup,
  1996.             flowDataTableGroup,
  1997.             flowRuleTableGroup
  1998.             }
  1999.     ::= { flowMIBCompliances 1 }
  2000.  
  2001. END
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.  
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.  
  2014.  
  2015.  
  2016.  
  2017.  
  2018. Brownlee                      Experimental                     [Page 36]
  2019.  
  2020. RFC 2064                       Meter MIB                    January 1997
  2021.  
  2022.  
  2023. 5 Acknowledgements
  2024.  
  2025.    This document was initially produced under the auspices of the IETF's
  2026.    Accounting Working Group with assistance from SNMP and SAAG working
  2027.    groups.  Particular thanks are due to Jim Barnes, Sig Handelman and
  2028.    Stephen Stibler for their support and their assistance with checking
  2029.    the MIB.
  2030.  
  2031. 6 References
  2032.  
  2033.    [1] McCloghrie, K., and M. Rose, Editors, "Management Information
  2034.    Base for Network Management of TCP/IP-based internets," STD 17, RFC
  2035.    1213, Performance Systems International, March 1991.
  2036.  
  2037.    [2] Case J., McCloghrie K., Rose M., and S. Waldbusser, "Structure of
  2038.    Management Information for version 2 of the Simple Network
  2039.    Managemenet Protocol," RFC 1902, SNMP Research Inc., Hughes LAN
  2040.    Systems, Dover Beach Consulting, Carnegie Mellon University, April
  2041.    1993.
  2042.  
  2043.    [3] Case J., McCloghrie, K., Rose, M., and S. Waldbusser, "Textual
  2044.    Conventions for version 2 of the Simple Network Managemenet Protocol
  2045.    SNMPv2", RFC 1903, SNMP Research Inc., Hughes LAN Systems, Dover
  2046.    Beach Consulting, Carnegie Mellon University, April 1993.
  2047.  
  2048.    [4] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
  2049.    "Conformance Statements for version 2 of the Simple Network
  2050.    Managemenet Protocol (SNMPv2)," RFC 1904, SNMP Research Inc., Hughes
  2051.    LAN Systems, Dover Beach Consulting, Carnegie Mellon University,
  2052.    April 1993.
  2053.  
  2054.    [5] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,
  2055.    "Coexistence between version 1 and version 2 of the Internet-standard
  2056.    Network Management Framework," RFC 1908, SNMP Research Inc., Hughes
  2057.    LAN Systems, Dover Beach Consulting, Carnegie Mellon University,
  2058.    April 1993.
  2059.  
  2060.    [6] Information processing systems - Open Systems Interconnection -
  2061.    Specification of Abstract Syntax Notation One (ASN.1), International
  2062.    Organization for Standardization, International Standard 8824,
  2063.    December 1987.
  2064.  
  2065.    [7] Information processing systems - Open Systems Interconnection -
  2066.    Specification of Basic Encoding Rules for Abstract Notation One
  2067.    (ASN.1), International Organization for Standardization,
  2068.    International Standard 8825, December 1987.
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074. Brownlee                      Experimental                     [Page 37]
  2075.  
  2076. RFC 2064                       Meter MIB                    January 1997
  2077.  
  2078.  
  2079.    [8] Mills, C., Hirsch, G. and G. Ruth, "Internet Accounting
  2080.    Background," RFC 1272, Bolt Beranek and Newman Inc., Meridian
  2081.    Technology Corporation, November 1991.
  2082.  
  2083.    [9] Brownlee, N., Mills, C., and G. Ruth, "Traffic Flow Measurement:
  2084.    Architecture", RFC 2063, The University of Auckland, Bolt Beranek and
  2085.    Newman Inc., GTE Laboratories, Inc, January 1997.
  2086.  
  2087.    [10] Waldbusser, S., "Remote Network Monitoring Management
  2088.    Information Base, Version 2," Work in Progress.
  2089.  
  2090.    [11] Reynolds, J., and J, Postel, "Assigned Numbers," STD 2, RFC
  2091.    1700, ISI, October 1994.
  2092.  
  2093.    [12] Case, J., "FDDI Management Information Base," RFC 1285, SNMP
  2094.    Research Incorporated, January 1992.
  2095.  
  2096. 7 Security Considerations
  2097.  
  2098.    Security issues are not discussed in this document.
  2099.  
  2100. 8 Author's Address
  2101.  
  2102.    Nevil Brownlee
  2103.    Information Technology Systems & Services
  2104.    The University of Auckland
  2105.  
  2106.    Phone: +64 9 373 7599 x8941
  2107.    EMail: n.brownlee @auckland.ac.nz
  2108.  
  2109.  
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.  
  2119.  
  2120.  
  2121.  
  2122.  
  2123.  
  2124.  
  2125.  
  2126.  
  2127.  
  2128.  
  2129.  
  2130. Brownlee                      Experimental                     [Page 38]
  2131.  
  2132.