1 FLOW-METER-MIB DEFINITIONS ::= BEGIN
4 MODULE-IDENTITY, OBJECT-TYPE,
5 Counter32, Counter64, Integer32, mib-2
7 TEXTUAL-CONVENTION, RowStatus, TimeStamp, TruthValue
9 OBJECT-GROUP, MODULE-COMPLIANCE
16 flowMIB MODULE-IDENTITY
17 LAST-UPDATED "9910250000Z" -- October 25, 1999
18 ORGANIZATION "IETF Realtime Traffic Flow Measurement Working Group"
20 "Nevil Brownlee, The University of Auckland
22 Postal: Information Technology Sytems & Services
23 The University of Auckland
27 Phone: +64 9 373 7599 x8941
28 E-mail: n.brownlee@auckland.ac.nz"
30 "MIB for the RTFM Traffic Flow Meter."
32 REVISION "9910250000Z"
34 "Initial Version, published as RFC 2720."
36 REVISION "9908301250Z"
38 "UTF8OwnerString Textual Convention added, and used to
39 replace OwnerString. Conceptually the same as OwnerString,
40 but facilitating internationalisation by using UTF-8
41 encoding for its characters rather than US-ASCII."
43 REVISION "9908191010Z"
45 "Changes to SIZE specification for two variables:
46 - flowRuleInfoName SIZE specified as (0..127)
47 - flowRuleIndex SIZE increased to (1..2147483647)"
49 REVISION "9712230937Z"
51 "Two further variables deprecated:
52 - flowRuleInfoRulesReady (use flowRuleInfoStatus intead)
53 - flowDataStatus (contains no useful information)"
55 REVISION "9707071715Z"
57 "Significant changes since RFC 2064 include:
58 - flowDataPackageTable added
59 - flowColumnActivityTable deprecated
60 - flowManagerCounterWrap deprecated"
62 REVISION "9603080208Z"
64 "Initial version of this MIB (RFC 2064)"
67 flowControl OBJECT IDENTIFIER ::= { flowMIB 1 }
69 flowData OBJECT IDENTIFIER ::= { flowMIB 2 }
71 flowRules OBJECT IDENTIFIER ::= { flowMIB 3 }
73 flowMIBConformance OBJECT IDENTIFIER ::= { flowMIB 4 }
75 -- Textual Conventions
77 UTF8OwnerString ::= TEXTUAL-CONVENTION
81 "An administratively assigned name for the owner of a
82 resource, conceptually the same as OwnerString in the RMON
85 To facilitate internationalisation, this name information
86 is represented using the ISO/IEC IS 10646-1 character set,
87 encoded as an octet string using the UTF-8 transformation
88 format described in the UTF-8 standard [UTF-8]."
89 SYNTAX OCTET STRING (SIZE (0..127))
91 PeerType ::= TEXTUAL-CONVENTION
94 "Indicates the type of a PeerAddress (see below). The values
95 used are from the 'Address Family Numbers' section of the
96 Assigned Numbers RFC [ASG-NBR]. Peer types from other address
97 families may also be used, provided only that they are
98 identified by their assigned Address Family numbers."
107 PeerAddress ::= TEXTUAL-CONVENTION
110 "Specifies the value of a peer address for various network
111 protocols. Address format depends on the actual protocol,
115 4-octet IpAddress (defined in the SNMPv2 SMI [RFC2578])
118 16-octet IpAddress (defined in the
119 IPv6 Addressing RFC [V6-ADDR])
122 NsapAddress (defined in the SNMPv2 SMI [RFC2578])
125 4-octet Network number,
126 6-octet Host number (MAC address)
128 AppleTalk: appletalk(12)
129 2-octet Network number (sixteen bits),
130 1-octet Host number (eight bits)
133 1-octet Area number (in low-order six bits),
134 2-octet Host number (in low-order ten bits)
136 SYNTAX OCTET STRING (SIZE (3..20))
138 AdjacentType ::= TEXTUAL-CONVENTION
141 "Indicates the type of an adjacent address. May be a medium
142 type or (if metering is taking place inside a tunnel) a
143 PeerType (see above).
145 The values used for IEEE 802 medium types are from the 'Network
146 Management Parameters (ifType definitions)' section of the
147 Assigned Numbers RFC [ASG-NBR]. Other medium types may also
148 be used, provided only that they are identified by their
149 assigned ifType numbers."
153 ethernet(7), -- ethernet-like [ENET-OBJ],
154 -- includes ethernet-csmacd(6)
161 AdjacentAddress ::= TEXTUAL-CONVENTION
164 "Specifies the value of an adjacent address. May be a Medium
165 Access Control (MAC) address or (if metering is taking place
166 inside a tunnel) a PeerAddress (see above).
168 MAC Address format depends on the actual medium, as follows:
170 Ethernet: ethernet(7)
171 6-octet 802.3 MAC address in 'canonical' order
172 Token Ring: tokenring(9)
173 6-octet 802.5 MAC address in 'canonical' order
176 FddiMACLongAddress, i.e. a 6-octet MAC address
177 in 'canonical' order (defined in [FDDI-MIB])
179 SYNTAX OCTET STRING (SIZE (3..20))
181 TransportType ::= TEXTUAL-CONVENTION
184 "Indicates the type of a TransportAddress (see below). Values
185 will depend on the actual protocol; for IP they will be those
186 given in the 'Protocol Numbers' section of the Assigned Numbers
187 RFC [ASG-NBR], including icmp(1), tcp(6) and udp(17)."
188 SYNTAX Integer32 (1..255)
190 TransportAddress ::= TEXTUAL-CONVENTION
193 "Specifies the value of a transport address for various
194 network protocols. Format as follows:
197 2-octet UDP or TCP port number
202 SYNTAX OCTET STRING (SIZE (2))
204 RuleAddress ::= TEXTUAL-CONVENTION
207 "Specifies the value of an address. Is a superset of
208 MediumAddress, PeerAddress and TransportAddress."
209 SYNTAX OCTET STRING (SIZE (2..20))
211 FlowAttributeNumber ::= TEXTUAL-CONVENTION
214 "Uniquely identifies an attribute within a flow data record."
220 sourceAdjacentType(5),
221 sourceAdjacentAddress(6),
222 sourceAdjacentMask(7),
224 sourcePeerAddress(9),
227 sourceTransAddress(12),
231 destAdjacentType(15),
232 destAdjacentAddress(16),
233 destAdjacentMask(17),
238 destTransAddress(22),
245 toOctets(27), -- Source-to-Dest
247 fromOctets(29), -- Dest-to-Source
249 firstTime(31), -- Activity times
252 sourceSubscriberID(33), -- Subscriber ID
253 destSubscriberID(34),
256 sourceClass(36), -- Computed attributes
263 RuleAttributeNumber ::= TEXTUAL-CONVENTION
266 "Uniquely identifies an attribute which may be tested in
267 a rule. These include attributes whose values come directly
268 from (or are computed from) the flow's packets, and the five
269 'meter' variables used to hold an Attribute Number."
272 sourceInterface(4), -- Source Address
273 sourceAdjacentType(5),
274 sourceAdjacentAddress(6),
276 sourcePeerAddress(9),
278 sourceTransAddress(12),
280 destInterface(14), -- Dest Address
281 destAdjacentType(15),
282 destAdjacentAddress(16),
286 destTransAddress(22),
288 sourceSubscriberID(33), -- Subscriber ID
289 destSubscriberID(34),
292 sourceClass(36), -- Computed attributes
299 matchingStoD(50), -- Packet matching
301 v1(51), -- Meter variables
307 ActionNumber ::= TEXTUAL-CONVENTION
310 "Uniquely identifies the action of a rule, i.e. the Pattern
311 Matching Engine's opcode number. Details of the opcodes
312 are given in the 'Traffic Flow Measurement: Architecture'
313 document [RTFM-ARC]."
334 -- Control Group: RuleSet Info Table
337 flowRuleSetInfoTable OBJECT-TYPE
338 SYNTAX SEQUENCE OF FlowRuleSetInfoEntry
339 MAX-ACCESS not-accessible
342 "An array of information about the RuleSets held in the
345 Any manager may configure a new RuleSet for the meter by
346 creating a row in this table with status active(1), and setting
347 values for all the objects in its rules. At this stage the new
348 RuleSet is available but not 'running', i.e. it is not being
349 used by the meter to produce entries in the flow table.
351 To actually 'run' a RuleSet a manager must create a row in
352 the flowManagerInfoTable, set it's flowManagerStatus to
353 active(1), and set either its CurrentRuleSet or StandbyRuleSet
354 to point to the RuleSet to be run.
356 Once a RuleSet is running a manager may not change any of the
357 objects within the RuleSet itself. Any attempt to do so should
358 result in a notWritable(17) SNMP error-status for such objects.
360 A manager may stop a RuleSet running by removing all
361 references to it in the flowManagerInfoTable (i.e. by setting
362 CurrentRuleSet and StandbyRuleSet values to 0). This provides
363 a way to stop RuleSets left running if a manager fails.
364 For example, when a manager is started, it could search the
365 meter's flowManager table and stop all RuleSets having a
366 specified value of flowRuleInfoOwner.
368 To prevent a manager from interfering with variables belonging
369 to another manager, the meter should use MIB views [RFC2575] so
370 as to limit each manager's access to the meter's variables,
371 effectively dividing the single meter into several virtual
372 meters, one for each independent manager."
373 ::= { flowControl 1 }
375 flowRuleSetInfoEntry OBJECT-TYPE
376 SYNTAX FlowRuleSetInfoEntry
377 MAX-ACCESS not-accessible
380 "Information about a particular RuleSet."
381 INDEX { flowRuleInfoIndex }
382 ::= { flowRuleSetInfoTable 1 }
384 FlowRuleSetInfoEntry ::= SEQUENCE {
385 flowRuleInfoIndex Integer32,
386 flowRuleInfoSize Integer32,
387 flowRuleInfoOwner UTF8OwnerString,
388 flowRuleInfoTimeStamp TimeStamp,
389 flowRuleInfoStatus RowStatus,
390 flowRuleInfoName OCTET STRING,
391 flowRuleInfoRulesReady TruthValue,
392 flowRuleInfoFlowRecords Integer32
395 flowRuleInfoIndex OBJECT-TYPE
396 SYNTAX Integer32 (1..2147483647)
397 MAX-ACCESS not-accessible
400 "An index which selects an entry in the flowRuleSetInfoTable.
401 Each such entry contains control information for a particular
402 RuleSet which the meter may run."
403 ::= { flowRuleSetInfoEntry 1 }
405 flowRuleInfoSize OBJECT-TYPE
407 MAX-ACCESS read-create
410 "Number of rules in this RuleSet. Setting this variable will
411 cause the meter to allocate space for these rules."
412 ::= { flowRuleSetInfoEntry 2 }
414 flowRuleInfoOwner OBJECT-TYPE
415 SYNTAX UTF8OwnerString
416 MAX-ACCESS read-create
419 "Identifies the manager which 'owns' this RuleSet. A manager
420 must set this variable when creating a row in this table."
421 ::= { flowRuleSetInfoEntry 3 }
423 flowRuleInfoTimeStamp OBJECT-TYPE
428 "Time this row's associated RuleSet was last changed."
429 ::= { flowRuleSetInfoEntry 4 }
431 flowRuleInfoStatus OBJECT-TYPE
433 MAX-ACCESS read-create
436 "The status of this flowRuleSetInfoEntry. If this value is
437 not active(1) the meter must not attempt to use the row's
438 associated RuleSet. Once its value has been set to active(1)
439 a manager may not change any of the other variables in the
440 row, nor the contents of the associated RuleSet. Any attempt
441 to do so should result in a notWritable(17) SNMP error-status
442 for such variables or objects.
444 To download a RuleSet, a manger could:
445 - Locate an open slot in the RuleSetInfoTable.
446 - Create a RuleSetInfoEntry by setting the status for this
447 open slot to createAndWait(5).
448 - Set flowRuleInfoSize and flowRuleInfoName as required.
449 - Download the rules into the row's rule table.
450 - Set flowRuleInfoStatus to active(1).
452 The RuleSet would then be ready to run. The manager is not
453 allowed to change the value of flowRuleInfoStatus from
454 active(1) if the associated RuleSet is being referenced by any
455 of the entries in the flowManagerInfoTable.
457 Setting RuleInfoStatus to destroy(6) destroys the associated
458 RuleSet together with any flow data collected by it."
459 ::= { flowRuleSetInfoEntry 5 }
461 flowRuleInfoName OBJECT-TYPE
462 SYNTAX OCTET STRING (SIZE (0..127))
463 MAX-ACCESS read-create
466 "An alphanumeric identifier used by managers and readers to
467 identify a RuleSet. For example, a manager wishing to run a
468 RuleSet named WWW-FLOWS could search the flowRuleSetInfoTable
469 to see whether the WWW-FLOWS RuleSet is already available on
472 Note that references to RuleSets in the flowManagerInfoTable
473 use indexes for their flowRuleSetInfoTable entries. These may
474 be different each time the RuleSet is loaded into a meter."
475 ::= { flowRuleSetInfoEntry 6 }
477 flowRuleInfoRulesReady OBJECT-TYPE
479 MAX-ACCESS read-create
482 "Indicates whether the rules for this row's associated RuleSet
483 are ready for use. The meter will refuse to 'run' the RuleSet
484 unless this variable has been set to true(1).
485 While RulesReady is false(2), the manager may modify the
486 RuleSet, for example by downloading rules into it."
487 ::= { flowRuleSetInfoEntry 7 }
489 flowRuleInfoFlowRecords OBJECT-TYPE
494 "The number of entries in the flow table for this RuleSet.
495 These may be current (waiting for collection by one or more
496 meter readers) or idle (waiting for the meter to recover
498 ::= { flowRuleSetInfoEntry 8 }
501 -- Control Group: Interface Info Table
504 flowInterfaceTable OBJECT-TYPE
505 SYNTAX SEQUENCE OF FlowInterfaceEntry
506 MAX-ACCESS not-accessible
509 "An array of information specific to each meter interface."
510 ::= { flowControl 2 }
512 flowInterfaceEntry OBJECT-TYPE
513 SYNTAX FlowInterfaceEntry
514 MAX-ACCESS not-accessible
517 "Information about a particular interface."
519 ::= { flowInterfaceTable 1 }
521 FlowInterfaceEntry ::= SEQUENCE {
522 flowInterfaceSampleRate Integer32,
523 flowInterfaceLostPackets Counter32
526 flowInterfaceSampleRate OBJECT-TYPE
528 MAX-ACCESS read-write
531 "The parameter N for statistical counting on this interface.
532 Set to N to count 1/Nth of the packets appearing at this
533 interface. A sampling rate of 1 counts all packets.
534 A sampling rate of 0 results in the interface being ignored
537 A meter should choose its own algorithm to introduce variance
538 into the sampling so that exactly every Nth packet is counted.
539 The IPPM Working Group's RFC 'Framework for IP Performance
540 Metrics' [IPPM-FRM] explains why this should be done, and sets
541 out an algorithm for doing it."
543 ::= { flowInterfaceEntry 1 }
545 flowInterfaceLostPackets OBJECT-TYPE
550 "The number of packets the meter has lost for this interface.
551 Such losses may occur because the meter has been unable to
552 keep up with the traffic volume."
553 ::= { flowInterfaceEntry 2 }
556 -- Control Group: Meter Reader Info Table
559 -- Any meter reader wishing to collect data reliably for flows
560 -- should first create a row in this table. It should write that
561 -- row's flowReaderLastTime object each time it starts a collection
562 -- pass through the flow table.
564 -- If a meter reader (MR) does not create a row in this table, e.g.
565 -- because its MIB view [RFC2575] did not allow MR create access to
566 -- flowReaderStatus, collection can still proceed but the meter will
567 -- not be aware of meter reader MR. This could lead the meter to
568 -- recover flows before they have been collected by MR.
570 flowReaderInfoTable OBJECT-TYPE
571 SYNTAX SEQUENCE OF FlowReaderInfoEntry
572 MAX-ACCESS not-accessible
575 "An array of information about meter readers which have
576 registered their intent to collect flow data from this meter."
577 ::= { flowControl 3 }
579 flowReaderInfoEntry OBJECT-TYPE
580 SYNTAX FlowReaderInfoEntry
581 MAX-ACCESS not-accessible
584 "Information about a particular meter reader."
585 INDEX { flowReaderIndex }
586 ::= { flowReaderInfoTable 1 }
588 FlowReaderInfoEntry ::= SEQUENCE {
589 flowReaderIndex Integer32,
590 flowReaderTimeout Integer32,
591 flowReaderOwner UTF8OwnerString,
592 flowReaderLastTime TimeStamp,
593 flowReaderPreviousTime TimeStamp,
594 flowReaderStatus RowStatus,
595 flowReaderRuleSet Integer32
598 flowReaderIndex OBJECT-TYPE
599 SYNTAX Integer32 (1..2147483647)
600 MAX-ACCESS not-accessible
603 "An index which selects an entry in the flowReaderInfoTable."
604 ::= { flowReaderInfoEntry 1 }
606 flowReaderTimeout OBJECT-TYPE
608 MAX-ACCESS read-create
611 "Specifies the maximum time (in seconds) between flow data
612 collections for this meter reader. If this time elapses
613 without a collection, the meter should assume that this meter
614 reader has stopped collecting, and delete this row from the
615 table. A value of zero indicates that this row should not be
617 ::= { flowReaderInfoEntry 2 }
619 flowReaderOwner OBJECT-TYPE
620 SYNTAX UTF8OwnerString
621 MAX-ACCESS read-create
624 "Identifies the meter reader which created this row."
625 ::= { flowReaderInfoEntry 3 }
627 flowReaderLastTime OBJECT-TYPE
629 MAX-ACCESS read-create
632 "Time this meter reader began its most recent data collection.
634 This variable should be written by a meter reader as its first
635 step in reading flow data. The meter will set this LastTime
636 value to its current Uptime, and set its PreviousTime value
637 (below) to the old LastTime. This allows the meter to
638 recover flows which have been inactive since PreviousTime,
639 for these have been collected at least once.
641 If the meter reader fails to write flowLastReadTime, collection
642 may still proceed but the meter may not be able to recover
643 inactive flows until the flowReaderTimeout has been reached
645 ::= { flowReaderInfoEntry 4 }
647 flowReaderPreviousTime OBJECT-TYPE
652 "Time this meter reader began the collection before last."
653 ::= { flowReaderInfoEntry 5 }
655 flowReaderStatus OBJECT-TYPE
657 MAX-ACCESS read-create
660 "The status of this FlowReaderInfoEntry. A value of active(1)
661 implies that the associated reader should be collecting data
662 from the meter. Once this variable has been set to active(1)
663 a manager may only change this row's flowReaderLastTime and
664 flowReaderTimeout variables."
665 ::= { flowReaderInfoEntry 6 }
667 flowReaderRuleSet OBJECT-TYPE
668 SYNTAX Integer32 (1..2147483647)
669 MAX-ACCESS read-create
672 "An index to the array of RuleSets. Specifies a set of rules
673 of interest to this meter reader. The reader will attempt to
674 collect any data generated by the meter for this RuleSet, and
675 the meter will not recover the memory of any of the RuleSet's
676 flows until this collection has taken place. Note that a
677 reader may have entries in this table for several RuleSets."
678 ::= { flowReaderInfoEntry 7 }
681 -- Control Group: Manager Info Table
684 -- Any manager wishing to run a RuleSet must create a row in this
685 -- table. Once it has a table row, the manager may set the control
686 -- variables in its row so as to cause the meter to run any valid
687 -- RuleSet held by the meter.
689 -- A single manager may run several RuleSets; it must create a row
690 -- in this table for each of them. In short, each row of this table
691 -- describes (and controls) a 'task' which the meter is executing.
693 flowManagerInfoTable OBJECT-TYPE
694 SYNTAX SEQUENCE OF FlowManagerInfoEntry
695 MAX-ACCESS not-accessible
698 "An array of information about managers which have
699 registered their intent to run RuleSets on this meter."
700 ::= { flowControl 4 }
702 flowManagerInfoEntry OBJECT-TYPE
703 SYNTAX FlowManagerInfoEntry
704 MAX-ACCESS not-accessible
707 "Information about a particular meter 'task.' By creating
708 an entry in this table and activating it, a manager requests
709 that the meter 'run' the indicated RuleSet.
711 The entry also specifies a HighWaterMark and a StandbyRuleSet.
712 If the meter's flow table usage exceeds this task's
713 HighWaterMark the meter will stop running the task's
714 CurrentRuleSet and switch to its StandbyRuleSet.
716 If the value of the task's StandbyRuleSet is 0 when its
717 HighWaterMark is exceeded, the meter simply stops running the
718 task's CurrentRuleSet. By careful selection of HighWaterMarks
719 for the various tasks a manager can ensure that the most
720 critical RuleSets are the last to stop running as the number
723 When a manager has determined that the demand for flow table
724 space has abated, it may cause the task to switch back to its
725 CurrentRuleSet by setting its flowManagerRunningStandby
726 variable to false(2)."
727 INDEX { flowManagerIndex }
728 ::= { flowManagerInfoTable 1 }
730 FlowManagerInfoEntry ::= SEQUENCE {
731 flowManagerIndex Integer32,
732 flowManagerCurrentRuleSet Integer32,
733 flowManagerStandbyRuleSet Integer32,
734 flowManagerHighWaterMark Integer32,
735 flowManagerCounterWrap INTEGER,
736 flowManagerOwner UTF8OwnerString,
737 flowManagerTimeStamp TimeStamp,
738 flowManagerStatus RowStatus,
739 flowManagerRunningStandby TruthValue
742 flowManagerIndex OBJECT-TYPE
743 SYNTAX Integer32 (1..2147483647)
744 MAX-ACCESS not-accessible
747 "An index which selects an entry in the flowManagerInfoTable."
748 ::= { flowManagerInfoEntry 1 }
750 flowManagerCurrentRuleSet OBJECT-TYPE
752 MAX-ACCESS read-create
755 "Index to the array of RuleSets. Specifies which set of
756 rules is the 'current' one for this task. The meter will
757 be 'running' the current RuleSet if this row's
758 flowManagerRunningStandby value is false(2).
760 When the manager sets this variable the meter will stop using
761 the task's old current RuleSet and start using the new one.
762 Specifying RuleSet 0 (the empty set) stops flow measurement
764 ::= { flowManagerInfoEntry 2 }
766 flowManagerStandbyRuleSet OBJECT-TYPE
768 MAX-ACCESS read-create
771 "Index to the array of RuleSets. After reaching HighWaterMark
772 (see below) the manager will switch to using the task's
773 StandbyRuleSet in place of its CurrentRuleSet. For this to be
774 effective the designated StandbyRuleSet should have a coarser
775 reporting granularity then the CurrentRuleSet. The manager may
776 also need to decrease the meter reading interval so that the
777 meter can recover flows measured by this task's CurrentRuleSet."
778 DEFVAL { 0 } -- No standby
779 ::= { flowManagerInfoEntry 3 }
781 flowManagerHighWaterMark OBJECT-TYPE
782 SYNTAX Integer32 (0..100)
783 MAX-ACCESS read-create
786 "A value expressed as a percentage, interpreted by the meter
787 as an indication of how full the flow table should be before
788 it should switch to the standby RuleSet (if one has been
789 specified) for this task. Values of 0% or 100% disable the
790 checking represented by this variable."
791 ::= { flowManagerInfoEntry 4 }
793 flowManagerCounterWrap OBJECT-TYPE
794 SYNTAX INTEGER { wrap(1), scale(2) }
795 MAX-ACCESS read-create
798 "Specifies whether PDU and octet counters should wrap when
799 they reach the top of their range (normal behaviour for
800 Counter64 objects), or whether their scale factors should
801 be used instead. The combination of counter and scale
802 factor allows counts to be returned as non-negative binary
803 floating point numbers, with 64-bit mantissas and 8-bit
806 ::= { flowManagerInfoEntry 5 }
808 flowManagerOwner OBJECT-TYPE
809 SYNTAX UTF8OwnerString
810 MAX-ACCESS read-create
813 "Identifies the manager which created this row."
814 ::= { flowManagerInfoEntry 6 }
816 flowManagerTimeStamp OBJECT-TYPE
821 "Time this row was last changed by its manager."
822 ::= { flowManagerInfoEntry 7 }
824 flowManagerStatus OBJECT-TYPE
826 MAX-ACCESS read-create
829 "The status of this row in the flowManagerInfoTable. A value
830 of active(1) implies that this task may be activated, by
831 setting its CurrentRuleSet and StandbyRuleSet variables.
832 Its HighWaterMark and RunningStandby variables may also be
834 ::= { flowManagerInfoEntry 8 }
836 flowManagerRunningStandby OBJECT-TYPE
838 MAX-ACCESS read-create
841 "Set to true(1) by the meter to indicate that it has switched
842 to runnning this task's StandbyRuleSet in place of its
843 CurrentRuleSet. To switch back to the CurrentRuleSet, the
844 manager may simply set this variable to false(2)."
846 ::= { flowManagerInfoEntry 9 }
849 -- Control Group: General Meter Control Variables
852 flowFloodMark OBJECT-TYPE
853 SYNTAX Integer32 (0..100)
854 MAX-ACCESS read-write
857 "A value expressed as a percentage, interpreted by the meter
858 as an indication of how full the flow table should be before
859 it should take some action to avoid running out of resources
860 to handle new flows, as discussed in section 4.6 (Handling
861 Increasing Traffic Levels) of the RTFM Architecture RFC
864 Values of 0% or 100% disable the checking represented by
866 DEFVAL { 95 } -- Enabled by default.
867 ::= { flowControl 5 }
869 flowInactivityTimeout OBJECT-TYPE
871 MAX-ACCESS read-write
874 "The time in seconds since the last packet seen, after which
875 a flow becomes 'idle.' Note that although a flow may be
876 idle, it will not be discarded (and its memory recovered)
877 until after its data has been collected by all the meter
878 readers registered for its RuleSet."
879 DEFVAL { 600 } -- 10 minutes
880 ::= { flowControl 6 }
882 flowActiveFlows OBJECT-TYPE
887 "The number of flows which are currently in use."
888 ::= { flowControl 7 }
890 flowMaxFlows OBJECT-TYPE
895 "The maximum number of flows allowed in the meter's
896 flow table. At present this is determined when the meter
897 is first started up."
898 ::= { flowControl 8 }
900 flowFloodMode OBJECT-TYPE
902 MAX-ACCESS read-write
905 "Indicates that the meter has passed its FloodMark and is
906 not running in its normal mode.
908 When the manager notices this it should take action to remedy
909 the problem which caused the flooding. It should then monitor
910 flowActiveFlows so as to determine when the flood has receded.
911 At that point the manager may set flowFloodMode to false(2) to
912 resume normal operation."
913 ::= { flowControl 9 }
919 -- This is a table kept by a meter, with one flow data entry for every
920 -- flow being measured. Each flow data entry stores the attribute
921 -- values for a traffic flow. Details of flows and their attributes
922 -- are given in the 'Traffic Flow Measurement: Architecture'
923 -- document [RTFM-ARC].
925 -- From time to time a meter reader may sweep the flow table so as
926 -- to read counts. This is most effectively achieved by using the
927 -- TimeMark variable together with successive GetBulk requests to
928 -- retrieve the values of the desired flow attribute variables.
930 -- This scheme allows multiple meter readers to independently use the
931 -- same meter; the meter readers do not have to be synchronised and
932 -- they may use different collection intervals.
934 -- If identical sets of counts are required from a meter, a manager
935 -- could achieve this using two identical copies of a RuleSet in that
936 -- meter and switching back and forth between them. This is discussed
937 -- further in the RTFM Architecture document [RTFM-ARC].
939 flowDataTable OBJECT-TYPE
940 SYNTAX SEQUENCE OF FlowDataEntry
941 MAX-ACCESS not-accessible
944 "The list of all flows being measured."
947 flowDataEntry OBJECT-TYPE
949 MAX-ACCESS not-accessible
952 "The flow data record for a particular flow."
953 INDEX { flowDataRuleSet, flowDataTimeMark, flowDataIndex }
954 ::= { flowDataTable 1 }
956 FlowDataEntry ::= SEQUENCE {
957 flowDataIndex Integer32,
958 flowDataTimeMark TimeFilter,
959 flowDataStatus INTEGER,
961 flowDataSourceInterface Integer32,
962 flowDataSourceAdjacentType AdjacentType,
963 flowDataSourceAdjacentAddress AdjacentAddress,
964 flowDataSourceAdjacentMask AdjacentAddress,
965 flowDataSourcePeerType PeerType,
966 flowDataSourcePeerAddress PeerAddress,
967 flowDataSourcePeerMask PeerAddress,
968 flowDataSourceTransType TransportType,
969 flowDataSourceTransAddress TransportAddress,
970 flowDataSourceTransMask TransportAddress,
972 flowDataDestInterface Integer32,
973 flowDataDestAdjacentType AdjacentType,
974 flowDataDestAdjacentAddress AdjacentAddress,
975 flowDataDestAdjacentMask AdjacentAddress,
976 flowDataDestPeerType PeerType,
977 flowDataDestPeerAddress PeerAddress,
978 flowDataDestPeerMask PeerAddress,
979 flowDataDestTransType TransportType,
980 flowDataDestTransAddress TransportAddress,
981 flowDataDestTransMask TransportAddress,
983 flowDataPDUScale Integer32,
984 flowDataOctetScale Integer32,
986 flowDataRuleSet Integer32,
987 flowDataToOctets Counter64, -- Source->Dest
988 flowDataToPDUs Counter64,
989 flowDataFromOctets Counter64, -- Dest->Source
990 flowDataFromPDUs Counter64,
991 flowDataFirstTime TimeStamp, -- Activity times
992 flowDataLastActiveTime TimeStamp,
994 flowDataSourceSubscriberID OCTET STRING,
995 flowDataDestSubscriberID OCTET STRING,
996 flowDataSessionID OCTET STRING,
998 flowDataSourceClass Integer32,
999 flowDataDestClass Integer32,
1000 flowDataClass Integer32,
1001 flowDataSourceKind Integer32,
1002 flowDataDestKind Integer32,
1003 flowDataKind Integer32
1006 flowDataIndex OBJECT-TYPE
1007 SYNTAX Integer32 (1..2147483647)
1008 MAX-ACCESS not-accessible
1011 "Value of this flow data record's index within the meter's
1013 ::= { flowDataEntry 1 }
1015 flowDataTimeMark OBJECT-TYPE
1017 MAX-ACCESS not-accessible
1020 "A TimeFilter for this entry. Allows GetNext and GetBulk
1021 to find flow table rows which have changed since a specified
1022 value of the meter's Uptime."
1023 ::= { flowDataEntry 2 }
1025 flowDataStatus OBJECT-TYPE
1026 SYNTAX INTEGER { inactive(1), current(2) }
1027 MAX-ACCESS read-only
1030 "Status of this flow data record."
1031 ::= { flowDataEntry 3 }
1033 flowDataSourceInterface OBJECT-TYPE
1035 MAX-ACCESS read-only
1038 "Index of the interface associated with the source address
1039 for this flow. It's value is one of those contained in the
1040 ifIndex field of the meter's interfaces table."
1041 ::= { flowDataEntry 4 }
1043 flowDataSourceAdjacentType OBJECT-TYPE
1045 MAX-ACCESS read-only
1048 "Adjacent address type of the source for this flow.
1050 If metering is being performed at the network level,
1051 AdjacentType will indicate the medium for the interface on
1052 which the flow was observed and AdjacentAddress will be the
1053 MAC address for that interface. This is the usual case.
1055 If traffic is being metered inside a tunnel, AdjacentType will
1056 be the peer type of the host at the end of the tunnel and
1057 AdjacentAddress will be the peer address for that host."
1058 ::= { flowDataEntry 5 }
1060 flowDataSourceAdjacentAddress OBJECT-TYPE
1061 SYNTAX AdjacentAddress
1062 MAX-ACCESS read-only
1065 "Address of the adjacent device on the path for the source
1067 ::= { flowDataEntry 6 }
1069 flowDataSourceAdjacentMask OBJECT-TYPE
1070 SYNTAX AdjacentAddress
1071 MAX-ACCESS read-only
1074 "1-bits in this mask indicate which bits must match when
1075 comparing the adjacent source address for this flow."
1076 ::= { flowDataEntry 7 }
1078 flowDataSourcePeerType OBJECT-TYPE
1080 MAX-ACCESS read-only
1083 "Peer address type of the source for this flow."
1084 ::= { flowDataEntry 8 }
1086 flowDataSourcePeerAddress OBJECT-TYPE
1088 MAX-ACCESS read-only
1091 "Address of the peer device for the source of this flow."
1092 ::= { flowDataEntry 9 }
1094 flowDataSourcePeerMask OBJECT-TYPE
1096 MAX-ACCESS read-only
1099 "1-bits in this mask indicate which bits must match when
1100 comparing the source peer address for this flow."
1101 ::= { flowDataEntry 10 }
1103 flowDataSourceTransType OBJECT-TYPE
1104 SYNTAX TransportType
1105 MAX-ACCESS read-only
1108 "Transport address type of the source for this flow. The
1109 value of this attribute will depend on the peer address type."
1110 ::= { flowDataEntry 11 }
1112 flowDataSourceTransAddress OBJECT-TYPE
1113 SYNTAX TransportAddress
1114 MAX-ACCESS read-only
1117 "Transport address for the source of this flow."
1118 ::= { flowDataEntry 12 }
1120 flowDataSourceTransMask OBJECT-TYPE
1121 SYNTAX TransportAddress
1122 MAX-ACCESS read-only
1125 "1-bits in this mask indicate which bits must match when
1126 comparing the transport source address for this flow."
1127 ::= { flowDataEntry 13 }
1129 flowDataDestInterface OBJECT-TYPE
1131 MAX-ACCESS read-only
1134 "Index of the interface associated with the dest address for
1135 this flow. This value is one of the values contained in the
1136 ifIndex field of the interfaces table."
1137 ::= { flowDataEntry 14 }
1139 flowDataDestAdjacentType OBJECT-TYPE
1141 MAX-ACCESS read-only
1144 "Adjacent address type of the destination for this flow."
1145 ::= { flowDataEntry 15 }
1147 flowDataDestAdjacentAddress OBJECT-TYPE
1148 SYNTAX AdjacentAddress
1149 MAX-ACCESS read-only
1152 "Address of the adjacent device on the path for the
1153 destination for this flow."
1154 ::= { flowDataEntry 16 }
1156 flowDataDestAdjacentMask OBJECT-TYPE
1157 SYNTAX AdjacentAddress
1158 MAX-ACCESS read-only
1161 "1-bits in this mask indicate which bits must match when
1162 comparing the adjacent destination address for this flow."
1163 ::= { flowDataEntry 17 }
1165 flowDataDestPeerType OBJECT-TYPE
1167 MAX-ACCESS read-only
1170 "Peer address type of the destination for this flow."
1171 ::= { flowDataEntry 18 }
1173 flowDataDestPeerAddress OBJECT-TYPE
1175 MAX-ACCESS read-only
1178 "Address of the peer device for the destination of this flow."
1179 ::= { flowDataEntry 19 }
1181 flowDataDestPeerMask OBJECT-TYPE
1183 MAX-ACCESS read-only
1186 "1-bits in this mask indicate which bits must match when
1187 comparing the destination peer type for this flow."
1188 ::= { flowDataEntry 20 }
1190 flowDataDestTransType OBJECT-TYPE
1191 SYNTAX TransportType
1192 MAX-ACCESS read-only
1195 "Transport address type of the destination for this flow. The
1196 value of this attribute will depend on the peer address type."
1197 ::= { flowDataEntry 21 }
1199 flowDataDestTransAddress OBJECT-TYPE
1200 SYNTAX TransportAddress
1201 MAX-ACCESS read-only
1204 "Transport address for the destination of this flow."
1205 ::= { flowDataEntry 22 }
1207 flowDataDestTransMask OBJECT-TYPE
1208 SYNTAX TransportAddress
1209 MAX-ACCESS read-only
1212 "1-bits in this mask indicate which bits must match when
1213 comparing the transport destination address for this flow."
1214 ::= { flowDataEntry 23 }
1216 flowDataPDUScale OBJECT-TYPE
1217 SYNTAX Integer32 (0..255)
1218 MAX-ACCESS read-only
1221 "The scale factor applied to this particular flow. Indicates
1222 the number of bits the PDU counter values should be moved left
1223 to obtain the actual values."
1224 ::= { flowDataEntry 24 }
1226 flowDataOctetScale OBJECT-TYPE
1227 SYNTAX Integer32 (0..255)
1228 MAX-ACCESS read-only
1231 "The scale factor applied to this particular flow. Indicates
1232 the number of bits the octet counter values should be moved
1233 left to obtain the actual values."
1234 ::= { flowDataEntry 25 }
1236 flowDataRuleSet OBJECT-TYPE
1237 SYNTAX Integer32 (1..255)
1238 MAX-ACCESS not-accessible
1241 "The RuleSet number of the RuleSet which created this flow.
1242 Allows a manager to use GetNext or GetBulk requests to find
1243 flows belonging to a particular RuleSet."
1244 ::= { flowDataEntry 26 }
1246 flowDataToOctets OBJECT-TYPE
1248 MAX-ACCESS read-only
1251 "The count of octets flowing from source to destination
1253 ::= { flowDataEntry 27 }
1255 flowDataToPDUs OBJECT-TYPE
1257 MAX-ACCESS read-only
1260 "The count of packets flowing from source to destination
1262 ::= { flowDataEntry 28 }
1264 flowDataFromOctets OBJECT-TYPE
1266 MAX-ACCESS read-only
1269 "The count of octets flowing from destination to source
1271 ::= { flowDataEntry 29 }
1273 flowDataFromPDUs OBJECT-TYPE
1275 MAX-ACCESS read-only
1278 "The count of packets flowing from destination to source
1280 ::= { flowDataEntry 30 }
1282 flowDataFirstTime OBJECT-TYPE
1284 MAX-ACCESS read-only
1287 "The time at which this flow was first entered in the table"
1288 ::= { flowDataEntry 31 }
1290 flowDataLastActiveTime OBJECT-TYPE
1292 MAX-ACCESS read-only
1295 "The last time this flow had activity, i.e. the time of
1296 arrival of the most recent PDU belonging to this flow."
1297 ::= { flowDataEntry 32 }
1299 flowDataSourceSubscriberID OBJECT-TYPE
1300 SYNTAX OCTET STRING (SIZE (4..20))
1301 MAX-ACCESS read-only
1304 "Subscriber ID associated with the source address for this
1305 flow. A Subscriber ID is an unspecified text string, used
1306 to ascribe traffic flows to individual users. At this time
1307 the means by which a Subscriber ID may be associated with a
1308 flow is unspecified."
1309 ::= { flowDataEntry 33 }
1311 flowDataDestSubscriberID OBJECT-TYPE
1312 SYNTAX OCTET STRING (SIZE (4..20))
1313 MAX-ACCESS read-only
1316 "Subscriber ID associated with the destination address for
1317 this flow. A Subscriber ID is an unspecified text string,
1318 used to ascribe traffic flows to individual users. At this
1319 time the means by which a Subscriber ID may be associated
1320 with a flow is unspecified."
1321 ::= { flowDataEntry 34 }
1323 flowDataSessionID OBJECT-TYPE
1324 SYNTAX OCTET STRING (SIZE (4..10))
1325 MAX-ACCESS read-only
1328 "Session ID for this flow. Such an ID might be allocated
1329 by a network access server to distinguish a series of sessions
1330 between the same pair of addresses, which would otherwise
1331 appear to be parts of the same accounting flow."
1332 ::= { flowDataEntry 35 }
1334 flowDataSourceClass OBJECT-TYPE
1335 SYNTAX Integer32 (1..255)
1336 MAX-ACCESS read-only
1339 "Source class for this flow. Determined by the rules, set by
1340 a PushRule action when this flow was entered in the table."
1341 ::= { flowDataEntry 36 }
1343 flowDataDestClass OBJECT-TYPE
1344 SYNTAX Integer32 (1..255)
1345 MAX-ACCESS read-only
1348 "Destination class for this flow. Determined by the rules, set
1349 by a PushRule action when this flow was entered in the table."
1350 ::= { flowDataEntry 37 }
1352 flowDataClass OBJECT-TYPE
1353 SYNTAX Integer32 (1..255)
1354 MAX-ACCESS read-only
1357 "Class for this flow. Determined by the rules, set by a
1358 PushRule action when this flow was entered in the table."
1359 ::= { flowDataEntry 38 }
1361 flowDataSourceKind OBJECT-TYPE
1362 SYNTAX Integer32 (1..255)
1363 MAX-ACCESS read-only
1366 "Source kind for this flow. Determined by the rules, set by
1367 a PushRule action when this flow was entered in the table."
1368 ::= { flowDataEntry 39 }
1370 flowDataDestKind OBJECT-TYPE
1371 SYNTAX Integer32 (1..255)
1372 MAX-ACCESS read-only
1375 "Destination kind for this flow. Determined by the rules, set
1376 by a PushRule action when this flow was entered in the table."
1377 ::= { flowDataEntry 40 }
1379 flowDataKind OBJECT-TYPE
1380 SYNTAX Integer32 (1..255)
1381 MAX-ACCESS read-only
1384 "Class for this flow. Determined by the rules, set by a
1385 PushRule action when this flow was entered in the table."
1386 ::= { flowDataEntry 41 }
1389 -- The Activity Column Table
1392 flowColumnActivityTable OBJECT-TYPE
1393 SYNTAX SEQUENCE OF FlowColumnActivityEntry
1394 MAX-ACCESS not-accessible
1397 "Index into the Flow Table. Allows a meter reader to retrieve
1398 a list containing the flow table indexes of flows which were
1399 last active at or after a given time, together with the values
1400 of a specified attribute for each such flow."
1403 flowColumnActivityEntry OBJECT-TYPE
1404 SYNTAX FlowColumnActivityEntry
1405 MAX-ACCESS not-accessible
1408 "The Column Activity Entry for a particular attribute,
1409 activity time and flow."
1410 INDEX { flowColumnActivityAttribute, flowColumnActivityTime,
1411 flowColumnActivityIndex }
1412 ::= { flowColumnActivityTable 1 }
1414 FlowColumnActivityEntry ::= SEQUENCE {
1415 flowColumnActivityAttribute FlowAttributeNumber,
1416 flowColumnActivityTime TimeFilter,
1417 flowColumnActivityIndex Integer32,
1418 flowColumnActivityData OCTET STRING
1421 flowColumnActivityAttribute OBJECT-TYPE
1422 SYNTAX FlowAttributeNumber
1423 MAX-ACCESS read-only
1426 "Specifies the attribute for which values are required from
1428 ::= { flowColumnActivityEntry 1 }
1430 flowColumnActivityTime OBJECT-TYPE
1432 MAX-ACCESS read-only
1435 "This variable is a copy of flowDataLastActiveTime in the
1436 flow data record identified by the flowColumnActivityIndex
1437 value of this flowColumnActivityTable entry."
1438 ::= { flowColumnActivityEntry 2 }
1440 flowColumnActivityIndex OBJECT-TYPE
1441 SYNTAX Integer32 (1..2147483647)
1442 MAX-ACCESS read-only
1445 "Index of a flow table entry which was active at or after
1446 a specified flowColumnActivityTime."
1447 ::= { flowColumnActivityEntry 3 }
1449 flowColumnActivityData OBJECT-TYPE
1450 SYNTAX OCTET STRING (SIZE (3..1000))
1451 MAX-ACCESS read-only
1454 "Collection of attribute data for flows active after
1455 flowColumnActivityTime. Within the OCTET STRING is a
1456 sequence of { flow index, attribute value } pairs, one for
1457 each active flow. The end of the sequence is marked by a
1458 flow index value of 0, indicating that there are no more
1459 rows in this column.
1461 The format of objects inside flowColumnFlowData is as follows.
1462 All numbers are unsigned. Numbers and strings appear with
1463 their high-order bytes leading. Numbers are fixed size, as
1464 specified by their SYNTAX in the flow table (above), i.e. one
1465 octet for flowAddressType and small constants, and four octets
1466 for Counter and TimeStamp. Strings are variable-length, with
1467 the length given in a single leading octet.
1469 The following is an attempt at an ASN.1 definition of
1470 flowColumnActivityData:
1472 flowColumnActivityData ::= SEQUENCE flowRowItemEntry
1473 flowRowItemEntry ::= SEQUENCE {
1474 flowRowNumber Integer32 (1..65535),
1475 -- 0 indicates the end of this column
1476 flowDataValue flowDataType -- Choice depends on attribute
1478 flowDataType ::= CHOICE {
1479 flowByteValue Integer32 (1..255),
1480 flowShortValue Integer32 (1..65535),
1481 flowLongValue Integer32,
1482 flowStringValue OCTET STRING -- Length (n) in first byte,
1483 -- n+1 bytes total length, trailing zeroes truncated
1485 ::= { flowColumnActivityEntry 4 }
1488 -- The Data Package Table
1491 flowDataPackageTable OBJECT-TYPE
1492 SYNTAX SEQUENCE OF FlowDataPackageEntry
1493 MAX-ACCESS not-accessible
1496 "Index into the Flow Table. Allows a meter reader to retrieve
1497 a sequence containing the values of a specified set of
1498 attributes for a flow which came from a specified RuleSet and
1499 which was last active at or after a given time."
1502 flowDataPackageEntry OBJECT-TYPE
1503 SYNTAX FlowDataPackageEntry
1504 MAX-ACCESS not-accessible
1507 "The data package containing selected variables from
1508 active rows in the flow table."
1509 INDEX { flowPackageSelector,
1510 flowPackageRuleSet, flowPackageTime, flowPackageIndex }
1511 ::= { flowDataPackageTable 1 }
1513 FlowDataPackageEntry ::= SEQUENCE {
1514 flowPackageSelector OCTET STRING,
1515 flowPackageRuleSet Integer32,
1516 flowPackageTime TimeFilter,
1517 flowPackageIndex Integer32,
1518 flowPackageData OCTET STRING
1521 flowPackageSelector OBJECT-TYPE
1523 MAX-ACCESS not-accessible
1526 "Specifies the attributes for which values are required from
1527 an active flow. These are encoded as a sequence of octets
1528 each containing a FlowAttribute number, preceded by an octet
1529 giving the length of the sequence (not including the length
1530 octet). For a flowPackageSelector to be valid, it must
1531 contain at least one attribute."
1532 ::= { flowDataPackageEntry 1 }
1534 flowPackageRuleSet OBJECT-TYPE
1535 SYNTAX Integer32 (1..255)
1536 MAX-ACCESS not-accessible
1539 "Specifies the index (in the flowRuleSetInfoTable) of the rule
1540 set which produced the required flow."
1541 ::= { flowDataPackageEntry 2 }
1543 flowPackageTime OBJECT-TYPE
1545 MAX-ACCESS not-accessible
1548 "This variable is a copy of flowDataLastActiveTime in the
1549 flow data record identified by the flowPackageIndex
1550 value of this flowPackageTable entry."
1551 ::= { flowDataPackageEntry 3 }
1553 flowPackageIndex OBJECT-TYPE
1554 SYNTAX Integer32 (1..2147483647)
1555 MAX-ACCESS not-accessible
1558 "Index of a flow table entry which was active at or after
1559 a specified flowPackageTime."
1560 ::= { flowDataPackageEntry 4 }
1562 flowPackageData OBJECT-TYPE
1564 MAX-ACCESS read-only
1567 "A collection of attribute values for a single flow, as
1568 specified by this row's indexes. The attribute values are
1569 contained within a BER-encoded sequence [ASN-1, ASN-BER],
1570 in the order they appear in their flowPackageSelector.
1572 For example, to retrieve a flowPackage containing values for
1573 attributes 11, 18 and 29, for a flow in RuleSet 7, with flow
1574 index 3447, one would GET the package whose Object Identifier
1576 flowPackageData . 3.11.18.29 . 7. 0 . 3447
1578 To get a package for the next such flow which had been
1579 active since time 12345 one would GETNEXT the package whose
1580 Object Identifier (OID) is
1581 flowPackageData . 3.11.18.29 . 7. 12345 . 3447"
1582 ::= { flowDataPackageEntry 5 }
1588 -- This is an array of RuleSets; the 'running' ones are indicated
1589 -- by the entries in the meter's flowManagerInfoTable. Several
1590 -- RuleSets can be held in a meter so that the manager can change the
1591 -- running RuleSets easily, for example with time of day. Note that
1592 -- a manager may not change the rules in any RuleSet currently
1593 -- referenced within the flowManagerInfoTable (either as 'current' or
1594 -- 'standby')! See the 'Traffic Flow Measurement: Architecture'
1595 -- document [RTFM-ARC] for details of rules and how they are used.
1597 -- Space for a RuleSet is allocated by setting the value of
1598 -- flowRuleInfoSize in the rule table's flowRuleSetInfoTable row.
1599 -- Values for each row in the RuleSet (Selector, Mask, MatchedValue,
1600 -- Action and Parameter) can then be set by the meter.
1602 -- Although an individual rule within a RuleSet could be modified,
1603 -- it is much safer to simply download a complete new RuleSet.
1605 flowRuleTable OBJECT-TYPE
1606 SYNTAX SEQUENCE OF FlowRuleEntry
1607 MAX-ACCESS not-accessible
1610 "Contains all the RuleSets which may be used by the meter."
1613 flowRuleEntry OBJECT-TYPE
1614 SYNTAX FlowRuleEntry
1615 MAX-ACCESS not-accessible
1618 "The rule record itself."
1619 INDEX { flowRuleSet, flowRuleIndex }
1620 ::= { flowRuleTable 1 }
1622 FlowRuleEntry ::= SEQUENCE {
1623 flowRuleSet Integer32,
1624 flowRuleIndex Integer32,
1625 flowRuleSelector RuleAttributeNumber,
1626 flowRuleMask RuleAddress,
1627 flowRuleMatchedValue RuleAddress,
1628 flowRuleAction ActionNumber,
1629 flowRuleParameter Integer32
1632 flowRuleSet OBJECT-TYPE
1633 SYNTAX Integer32 (1..2147483647)
1634 MAX-ACCESS not-accessible
1637 "Selects a RuleSet from the array of RuleSets."
1638 ::= { flowRuleEntry 1 }
1640 flowRuleIndex OBJECT-TYPE
1641 SYNTAX Integer32 (1..2147483647)
1642 MAX-ACCESS not-accessible
1645 "The index into the Rule table. N.B: These values will
1646 normally be consecutive, given the fall-through semantics
1647 of processing the table."
1648 ::= { flowRuleEntry 2 }
1650 flowRuleSelector OBJECT-TYPE
1651 SYNTAX RuleAttributeNumber
1652 MAX-ACCESS read-write
1655 "Indicates the attribute to be matched.
1657 null(0) is a special case; null rules always succeed.
1658 matchingStoD(50) is set by the meter's Packet Matching Engine.
1659 Its value is true(1) if the PME is attempting to match the
1660 packet with its addresses in Source-to-Destination order (i.e.
1661 as they appear in the packet), and false(2) otherwise.
1662 Details of how packets are matched are given in the 'Traffic
1663 Flow Measurement: Architecture' document [RTFM-ARC].
1664 v1(51), v2(52), v3(53), v4(54) and v5(55) select meter
1665 variables, each of which can hold the name (i.e. selector
1666 value) of an address attribute. When one of these is used
1667 as a selector, its value specifies the attribute to be
1668 tested. Variable values are set by an Assign action."
1669 ::= { flowRuleEntry 3 }
1671 flowRuleMask OBJECT-TYPE
1673 MAX-ACCESS read-write
1676 "The initial mask used to compute the desired value. If the
1677 mask is zero the rule's test will always succeed."
1678 ::= { flowRuleEntry 4 }
1680 flowRuleMatchedValue OBJECT-TYPE
1682 MAX-ACCESS read-write
1685 "The resulting value to be matched for equality.
1686 Specifically, if the attribute chosen by the flowRuleSelector
1687 logically ANDed with the mask specified by the flowRuleMask
1688 equals the value specified in the flowRuleMatchedValue, then
1689 continue processing the table entry based on the action
1690 specified by the flowRuleAction entry. Otherwise, proceed to
1691 the next entry in the rule table."
1692 ::= { flowRuleEntry 5 }
1694 flowRuleAction OBJECT-TYPE
1696 MAX-ACCESS read-write
1699 "The action to be taken if this rule's test succeeds, or if
1700 the meter's 'test' flag is off. Actions are opcodes for the
1701 meter's Packet Matching Engine; details are given in the
1702 'Traffic Flow Measurement: Architecture' document [RTFM-ARC]."
1703 ::= { flowRuleEntry 6 }
1705 flowRuleParameter OBJECT-TYPE
1706 SYNTAX Integer32 (1..65535)
1707 MAX-ACCESS read-write
1710 "A parameter value providing extra information for this rule's
1711 action. Most of the actions use the parameter value to specify
1712 which rule to execute after this rule's test has failed; details
1713 are given in the 'Traffic Flow Measurement: Architecture'
1714 document [RTFM-ARC]."
1715 ::= { flowRuleEntry 7 }
1718 -- Traffic Flow Meter conformance statement
1722 OBJECT IDENTIFIER ::= { flowMIBConformance 1 }
1725 OBJECT IDENTIFIER ::= { flowMIBConformance 2 }
1727 flowControlGroup OBJECT-GROUP
1729 flowRuleInfoSize, flowRuleInfoOwner,
1730 flowRuleInfoTimeStamp, flowRuleInfoStatus,
1732 flowRuleInfoRulesReady,
1733 flowRuleInfoFlowRecords,
1734 flowInterfaceSampleRate,
1735 flowInterfaceLostPackets,
1736 flowReaderTimeout, flowReaderOwner,
1737 flowReaderLastTime, flowReaderPreviousTime,
1738 flowReaderStatus, flowReaderRuleSet,
1739 flowManagerCurrentRuleSet, flowManagerStandbyRuleSet,
1740 flowManagerHighWaterMark,
1741 flowManagerCounterWrap,
1742 flowManagerOwner, flowManagerTimeStamp,
1743 flowManagerStatus, flowManagerRunningStandby,
1745 flowInactivityTimeout, flowActiveFlows,
1746 flowMaxFlows, flowFloodMode }
1749 "The control group defines objects which are used to control
1750 an accounting meter."
1751 ::= {flowMIBGroups 1 }
1753 flowDataTableGroup OBJECT-GROUP
1755 -- flowDataIndex, <- INDEX, not-accessible
1757 flowDataSourceInterface,
1758 flowDataSourceAdjacentType,
1759 flowDataSourceAdjacentAddress, flowDataSourceAdjacentMask,
1760 flowDataSourcePeerType,
1761 flowDataSourcePeerAddress, flowDataSourcePeerMask,
1762 flowDataSourceTransType,
1763 flowDataSourceTransAddress, flowDataSourceTransMask,
1764 flowDataDestInterface,
1765 flowDataDestAdjacentType,
1766 flowDataDestAdjacentAddress, flowDataDestAdjacentMask,
1767 flowDataDestPeerType,
1768 flowDataDestPeerAddress, flowDataDestPeerMask,
1769 flowDataDestTransType,
1770 flowDataDestTransAddress, flowDataDestTransMask,
1771 -- flowDataRuleSet, <- INDEX, not-accessible
1772 flowDataToOctets, flowDataToPDUs,
1773 flowDataFromOctets, flowDataFromPDUs,
1774 flowDataFirstTime, flowDataLastActiveTime,
1775 flowDataSourceClass, flowDataDestClass, flowDataClass,
1776 flowDataSourceKind, flowDataDestKind, flowDataKind
1780 "The flow table group defines objects which provide the
1781 structure for the flow table, including the creation time
1782 and activity time indexes into it. In addition it defines
1783 objects which provide a base set of flow attributes for the
1784 adjacent, peer and transport layers, together with a flow's
1785 counters and times. Finally it defines a flow's class and
1786 kind attributes, which are set by rule actions."
1787 ::= {flowMIBGroups 2 }
1789 flowDataScaleGroup OBJECT-GROUP
1791 flowManagerCounterWrap,
1792 flowDataPDUScale, flowDataOctetScale
1796 "The flow scale group defines objects which specify scale
1797 factors for counters."
1798 ::= {flowMIBGroups 3 }
1800 flowDataSubscriberGroup OBJECT-GROUP
1802 flowDataSourceSubscriberID, flowDataDestSubscriberID,
1807 "The flow subscriber group defines objects which may be used
1808 to identify the end point(s) of a flow."
1809 ::= {flowMIBGroups 4 }
1811 flowDataColumnTableGroup OBJECT-GROUP
1813 flowColumnActivityAttribute,
1814 flowColumnActivityIndex,
1815 flowColumnActivityTime,
1816 flowColumnActivityData
1820 "The flow column table group defines objects which can be used
1821 to collect part of a column of attribute values from the flow
1823 ::= {flowMIBGroups 5 }
1825 flowDataPackageGroup OBJECT-GROUP
1831 "The data package group defines objects which can be used
1832 to collect a specified set of attribute values from a row of
1834 ::= {flowMIBGroups 6 }
1836 flowRuleTableGroup OBJECT-GROUP
1839 flowRuleMask, flowRuleMatchedValue,
1840 flowRuleAction, flowRuleParameter
1844 "The rule table group defines objects which hold the set(s)
1845 of rules specifying which traffic flows are to be accounted
1847 ::= {flowMIBGroups 7 }
1849 flowDataScaleGroup2 OBJECT-GROUP
1851 -- flowManagerCounterWrap, <- Deprecated
1852 flowDataPDUScale, flowDataOctetScale
1856 "The flow scale group defines objects which specify scale
1857 factors for counters. This group replaces the earlier
1858 version of flowDataScaleGroup above (now deprecated)."
1859 ::= {flowMIBGroups 8}
1861 flowControlGroup2 OBJECT-GROUP
1863 flowRuleInfoSize, flowRuleInfoOwner,
1864 flowRuleInfoTimeStamp, flowRuleInfoStatus,
1866 -- flowRuleInfoRulesReady, <- Deprecated
1867 flowRuleInfoFlowRecords,
1868 flowInterfaceSampleRate,
1869 flowInterfaceLostPackets,
1870 flowReaderTimeout, flowReaderOwner,
1871 flowReaderLastTime, flowReaderPreviousTime,
1872 flowReaderStatus, flowReaderRuleSet,
1873 flowManagerCurrentRuleSet, flowManagerStandbyRuleSet,
1874 flowManagerHighWaterMark,
1875 -- flowManagerCounterWrap, <- Moved to DataScaleGroup
1876 flowManagerOwner, flowManagerTimeStamp,
1877 flowManagerStatus, flowManagerRunningStandby,
1879 flowInactivityTimeout, flowActiveFlows,
1880 flowMaxFlows, flowFloodMode }
1883 "The control group defines objects which are used to control
1884 an accounting meter. It replaces the earlier version of
1885 flowControlGroup above (now deprecated)."
1886 ::= {flowMIBGroups 9 }
1888 flowMIBCompliance MODULE-COMPLIANCE
1891 "The compliance statement for a Traffic Flow Meter."
1896 flowDataPackageGroup,
1899 ::= { flowMIBCompliances 1 }