-- extracted from draft-ietf-diffserv-mib-01.txt -- at Tue Dec 7 07:06:58 1999 DIFF-SERV-MIB DEFINITIONS ::= BEGIN IMPORTS Unsigned32, Counter32, Counter64, OBJECT-TYPE, MODULE-IDENTITY, zeroDotZero, mib-2 FROM SNMPv2-SMI TEXTUAL-CONVENTION, RowStatus, RowPointer, TestAndIncr FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF ifIndex FROM IF-MIB; InetEndpointType, InetEndpoint FROM INET-ENDPOINT-MIB; diffServMib MODULE-IDENTITY LAST-UPDATED "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999 ORGANIZATION "Cisco Systems" CONTACT-INFO " Fred Baker Postal: 519 Lado Drive Santa Barbara, California 93111 Tel: +1 (408)526-4257 FAX: +1 (805)681-0115 E-mail: fred@cisco.com" " Kwok Ho Chan Postal: 600 Technology Park Drive Billerica, Massachusetts 01821, USA Tel: +1 (978)288-8175 E-mail: khchan@nortelnetworks.com" " Andrew Smith Postal: 3585 Monroe St. Santa Clara, California 95051 Tel: +1 (408) 579 2821 FAX: +1 (408) 579 3000 E-mail: andrew@extremenetworks.com" DESCRIPTION "This MIB defines the objects necessary to manage a device that uses the Differentiated Services Architecture described in RFC 2475." REVISION "9907190100Z" -- Mon Jul 19 01:00:00 PDT 1999 DESCRIPTION "Initial version, published as RFC xxxx." ::= { mib-2 12345 } -- anybody who uses this -- unassigned number -- deserves the wrath of IANA diffServObjects OBJECT IDENTIFIER ::= { diffServMib 1 } diffServTables OBJECT IDENTIFIER ::= { diffServMib 2 } diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 3 } -- The tools necessary to perform basic Behavior -- Aggregate Classification -- Dscp ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "The code point used for discriminating a traffic stream." SYNTAX INTEGER (0..63) diffServAggregateTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServAggregateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The 'Aggregate' Table enumerates Behavior Aggregate classifiers (DSCPs) that a system may identify traffic using." ::= { diffServTables 1 } diffServAggregateEntry OBJECT-TYPE SYNTAX DiffServAggregateEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An 'aggregate' entry describes a single BA classifier." INDEX { diffServAggregateDSCP } ::= { diffServAggregateTable 1 } DiffServAggregateEntry ::= SEQUENCE { diffServAggregateDSCP Dscp } diffServAggregateDSCP OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-only STATUS current DESCRIPTION "This is the Differentiated Services Code Point (DSCP) for the classifier. This object is only meant to be pointed to by a RowPointer from other tables, such as the diffServClassifierMatchObject, and is not actually configured or changed." ::= { diffServAggregateEntry 1 } -- The tools for MultiField Classification. -- -- This textual convention has no effect on either the syntax -- nor the semantics of any managed object. Objects defined -- using this convention are always encoded by means of the -- rules that define their primitive type. -- MFClassifierL4Port ::= TEXTUAL-CONVENTION DISPLAY-HINT "d" STATUS current DESCRIPTION "A value indicating a Layer-4 protocol port number." SYNTAX INTEGER (0..65535) -- This object allows a configuring system to obtain a -- unique value for diffServClassifierNumber for purposes of -- configuration. diffServMFClassifierUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffServMFClassifierUnique object yields a unique new value for diffServMFClassifierIndex when read and subsequently set. This value must be tested for uniqueness." ::= { diffServObjects 1 } diffServMFClassifierTable OBJECT-TYPE SYNTAX SEQUENCE OF diffServMFClassifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table of MF (IP 6-tuple multi-field) classifier entries that a system may use to identify traffic." ::= { diffServTables 2 } diffServMFClassifierEntry OBJECT-TYPE SYNTAX DiffServMFClassifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A multi-field classifier entry describes a single MF classifier." INDEX { diffServMFClassifierIndex } ::= { diffServMFClassifierTable 1 } DiffServMFClassifierEntry ::= SEQUENCE { diffServMFClassifierIndex INTEGER, diffServMFClassifierAddrType InetEndpointType, diffServMFClassifierDstAddr InetEndpoint, diffServMFClassifierDstAddrMask InetEndpoint, diffServMFClassifierSrcAddr InetEndpoint, diffServMFClassifierSrcAddrMask InetEndpoint, diffServMFClassifierDscp INTEGER, diffServMFClassifierProtocol INTEGER, diffServMFClassifierDstL4PortMin MFClassifierL4Port, diffServMFClassifierDstL4PortMax MFClassifierL4Port, diffServMFClassifierSrcL4PortMin MFClassifierL4Port, diffServMFClassifierSrcL4PortMax MFClassifierL4Port, diffServMFClassifierStatus RowStatus } diffServMFClassifierIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This is a unique index for the classifier. This object is meant to be pointed to by a RowPointer from other tables, such as the diffServClassifierMatchObject." ::= { diffServMFClassifierEntry 1 } diffServMFClassifierAddrType OBJECT-TYPE SYNTAX InetEndpointType MAX-ACCESS read-create STATUS current DESCRIPTION "The type of IP address used by this classifier entry." ::= { diffServMFClassifierEntry 2 } diffServMFClassifierDstAddr OBJECT-TYPE SYNTAX InetEndpoint MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the packet's destination IP address." ::= { diffServMFClassifierEntry 3 } diffServMFClassifierDstAddrMask OBJECT-TYPE SYNTAX InetEndpoint MAX-ACCESS read-create STATUS current DESCRIPTION "A mask for the matching of the destination IP address. A zero bit in the mask means that the corresponding bit in the address always matches." ::= { diffServMFClassifierEntry 4 } diffServMFClassifierSrcAddr OBJECT-TYPE SYNTAX InetEndpoint MAX-ACCESS read-create STATUS current DESCRIPTION "The IP address to match against the source IP address of each packet." ::= { diffServMFClassifierEntry 5 } diffServMFClassifierSrcAddrMask OBJECT-TYPE SYNTAX InetEndpoint MAX-ACCESS read-create STATUS current DESCRIPTION "A mask for the matching of the source IP address." ::= { diffServMFClassifierEntry 6 } diffServMFClassifierDscp OBJECT-TYPE SYNTAX INTEGER (-1 | 0..63) MAX-ACCESS read-create STATUS current DESCRIPTION "The value that the DSCP in the packet must have to match this entry. A value of -1 indicates that a specific DSCP value has not been defined and thus all DSCP values are considered a match." ::= { diffServMFClassifierEntry 7 } diffServMFClassifierProtocol OBJECT-TYPE SYNTAX INTEGER (0..255) MAX-ACCESS read-create STATUS current DESCRIPTION "The IP protocol to match against the IPv4 protocol number in the packet. A value of zero means match all." ::= { diffServMFClassifierEntry 8 } diffServMFClassifierDstL4PortMin OBJECT-TYPE SYNTAX MFClassifierL4Port MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum value that the layer-4 destination port number in the packet must have in order to match this classifier entry." ::= { diffServMFClassifierEntry 9 } diffServMFClassifierDstL4PortMax OBJECT-TYPE SYNTAX MFClassifierL4Port MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum value that the layer-4 destination port number in the packet must have in order to match this classifier entry. This value must be equal to or greater that the value specified for this entry in diffServMFClassifierDstL4PortMin." ::= { diffServMFClassifierEntry 10 } diffServMFClassifierSrcL4PortMin OBJECT-TYPE SYNTAX MFClassifierL4Port MAX-ACCESS read-create STATUS current DESCRIPTION "The minimum value that the layer-4 source port number in the packet must have in order to match this classifier entry." ::= { diffServMFClassifierEntry 11 } diffServMFClassifierSrcL4PortMax OBJECT-TYPE SYNTAX MFClassifierL4Port MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum value that the layer-4 source port number in the packet must have in oder to match this classifier entry. This value must be equal to or greater that the value specified for this entry in dsSixTupleIpSrcL4PortMin." ::= { diffServMFClassifierEntry 12 } diffServMFClassifierStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This indicates the status of this classifier entry." ::= { diffServMFClassifierEntry 13 } -- This object allows a configuring system to obtain a -- unique value for diffServClassifierNumber for purposes of -- configuration diffServClassifierUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffServClassifierUnique object yields a unique new value for diffServClassifierNumber when read and subsequently set. This value must be tested for uniqueness." ::= { diffServObjects 2 } -- The Classifier Table allows us to enumerate the -- relationship between arbitrary classifiers and -- the meters which apply to classified streams. diffServClassifierTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServClassifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The classifier table enumerates specific classifiers that a system may apply, including Differentiated Services Code Points (DSCPs) and Multi-field discriminators such as {Source IP Address, Destination IP Address, IP Protocol, Source TCP/UDP Port, Destination TCP/UDP Port)." ::= { diffServTables 3 } diffServClassifierEntry OBJECT-TYPE SYNTAX DiffServClassifierEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the classifier table describes a single classifier." INDEX { ifIndex, diffServInterfaceDirection, diffServClassifierNumber } ::= { diffServClassifierTable 1 } DiffServClassifierEntry ::= SEQUENCE { diffServInterfaceDirection INTEGER, diffServClassifierNumber INTEGER, diffServClassifierMatchObject RowPointer, diffServClassifierNext RowPointer, diffServClassifierSequence Unsigned32, diffServClassifierConfigType INTEGER, diffServClassifierConfigTypeInfo OCTET STRING, diffServClassifierStatus RowStatus } diffServInterfaceDirection OBJECT-TYPE SYNTAX INTEGER { inbound(1), -- ingress interface outbound(2) -- egress interface } MAX-ACCESS not-accessible STATUS current DESCRIPTION "Specifies the direction for this entry on the interface. 'inbound' traffic is operated on during receipt, while 'outbound' traffic is operated on prior to transmission." ::= { diffServClassifierEntry 1 } diffServClassifierNumber OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "diffServClassifierNumber enumerates the classifier entry." ::= { diffServClassifierEntry 2 } diffServClassifierMatchObject OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "A pointer to the row that describes the applicable classifier. An obvious choice would be the diffServAggregateEntry for a given DSCP, but other choices include tables describing any classifier that may be of interest. If the row pointed to does not exist, the classifier is ignored. The NULL OID zeroDotZero is interpreted to match anything not matched by another classifier." DEFVAL { zeroDotZero } ::= { diffServClassifierEntry 3 } diffServClassifierNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The 'next' variable selects the appropriate meter or action to apply to this class of traffic." ::= { diffServClassifierEntry 4 } diffServClassifierSequence OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The sequence in which classifiers are applied, in ascending order. Classifiers with the same sequence number must be unambiguous. Classifiers with different sequence numbers may overlap in their ranges, with the understanding that the first applied classifier to match a packet is taken." DEFVAL { 0 } ::= { diffServClassifierEntry 5 } diffServClassifierConfigType OBJECT-TYPE SYNTAX INTEGER { OTHER (0), MIB (1), -- Configured via MIB PIB (2), -- Configured via PIB BGP (3) -- Configured via BGP } MAX-ACCESS read-write STATUS current DESCRIPTION "Used to indicate how the classifer is configured." ::= { diffServClassifierEntry 6 } diffServClassifierConfigTypeInfo OBJECT-TYPE SYNTAX OCTET STRING MAX-ACCESS read-write STATUS current DESCRIPTION "Additional information associated with how the classifier is configured." ::= { diffServClassifierEntry 7 } diffServClassifierStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a classifier. Any writable variable may be modified whether the row is active or notInService." ::= { diffServClassifierEntry 8 } -- This object allows a configuring system to obtain a -- unique value for diffServClassifierNumber for purposes of -- configuration diffServTBMeterUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffServTBMeterUnique object yieldiffServ a unique new value for diffServTBMeterNumber when read and subsequently set. This value must be tested for uniqueness." ::= { diffServObjects 3 } -- The Meter Table allows us to enumerate the -- relationship between meters and the actions, other -- meters, and queues that result from them. diffServTBMeterTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServTBMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Meter Table enumerates specific token bucket meters that a system may use to police a stream of classified traffic. Such a stream may include a single micro-flow, all traffic from a given source to a given destination, all traffic conforming to a single classifier, or any other cut of the traffic, including all of it. Note that the conceptual model requires all traffic to pass through one or more meters, and that the last meter configured in such a sequence must always conform. Counters in this table start counting on creation of the meter that specifies their existence." ::= { diffServTables 4 } diffServTBMeterEntry OBJECT-TYPE SYNTAX DiffServTBMeterEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the meter table describes a single token bucket meter. Note that a meter has exactly one rate, defined as the burst size each time interval. Multiple meters may be cascaded should a multi-rate token bucket be needed in a given Per-Hop Behavior. An example of such a PHB is AF." INDEX { ifIndex, diffServInterfaceDirection, diffServTBMeterNumber } ::= { diffServTBMeterTable 1 } DiffServTBMeterEntry ::= SEQUENCE { diffServTBMeterNumber INTEGER, diffServTBMeterInterval Unsigned32, diffServTBMeterBurstSize Unsigned32, diffServTBMeterFailNext RowPointer, diffServTBMeterSucceedNext RowPointer, diffServTBMeterStatus RowStatus } diffServTBMeterNumber OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The number of the meter, for reference from the classifier or in cascade from another meter." ::= { diffServTBMeterEntry 1 } diffServTBMeterInterval OBJECT-TYPE SYNTAX Unsigned32 UNITS "microseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of microseconds in the token bucket interval for this meter. Note that implementations frequently do not keep time in microseconds internally, so in implementation the effect of this value must be approximated." ::= { diffServTBMeterEntry 2 } diffServTBMeterBurstSize OBJECT-TYPE SYNTAX Unsigned32 UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The number of bytes in a single transmission burst. The rate at which the metered traffic may run is one burst per interval. Note that if multiple meters are cascaded onto one PHB, such as in AF, their intervals must be equal, and the peak rate of the data stream is the sum of their intervals per interval." ::= { diffServTBMeterEntry 3 } diffServTBMeterFailNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "If the traffic does not conform to the meter, the next meter or action to enquire of." ::= { diffServTBMeterEntry 4 } diffServTBMeterSucceedNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The 'Succeed Next' pointer selects which action or queue on the interface that to be used with the message. Incoming traffic may use the value zeroDotZero in this variable to indicate that no queuing on receipt occurs. Incoming interfaces generally use queuing either to divert routing traffic for speedier processing during a flap, or for shaping purposes." DEFVAL { zeroDotZero } ::= { diffServTBMeterEntry 5 } diffServTBMeterStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a meter. Any writable variable may be modified whether the row is active or notInService." ::= { diffServTBMeterEntry 6 } -- This object allows a configuring system to obtain a -- unique value for diffServActionNumber for purposes of -- configuration diffServActionUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffServActionUnique object yields a unique new value for diffServActionNumber when read and subsequently set. This value must be tested for uniqueness." ::= { diffServObjects 4 } -- The Meter Table allows us to enumerate the -- relationship between meters and the actions, other meters, -- and queues that result from them. diffServActionTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Action Table enumerates specific apply to a stream of classified traffic. Such a stream may include a single micro-flow, all traffic from a given source to a given destination, all traffic conforming to a single classifier, or any other cut of the traffic, including all of it. Counters in this table start counting on creation of the action that specifies their existence." ::= { diffServTables 5 } diffServActionEntry OBJECT-TYPE SYNTAX DiffServActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the action table describes the actions applied to traffic conforming to a given meter." INDEX { ifIndex, diffServInterfaceDirection, diffServActionNumber } ::= { diffServActionTable 1 } DiffServActionEntry ::= SEQUENCE { diffServActionNumber INTEGER, diffServActionNext RowPointer, diffServActionDSCP Dscp, diffServActionMinThreshold Unsigned32, diffServActionMaxThreshold Unsigned32, diffServActionDropPolicy INTEGER, diffServActionHCConformingPackets Counter64, diffServActionConformingPackets Counter32, diffServActionHCConformingOctets Counter64, diffServActionConformingOctets Counter32, diffServActionTailDrops Counter32, diffServActionHCTailDrops Counter64, diffServActionRandomDrops Counter32, diffServActionHCRandomDrops Counter64, diffServActionStatus RowStatus } diffServActionNumber OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The number of the meter, for reference from the classifier or in cascade from another meter." ::= { diffServActionEntry 1 } diffServActionNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The 'Next' pointer selects which queue or Traffic Control Block on the interface. Incoming traffic may use the value zeroDotZero in this variable to indicate that no queuing on receipt occurs. Incoming interfaces generally use queuing either to divert routing traffic for speedier processing during a flap, or for shaping purposes." DEFVAL { zeroDotZero } ::= { diffServActionEntry 2 } diffServActionDSCP OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-create STATUS current DESCRIPTION "The DSCP that traffic conforming to this classifier and this meter is remarked with. Note that if the classifier is working from the same DSCP value, no effective change in the DSCP results. Differentiated Services may result in packet remarking both on ingress to a network and on egress, and it is quite possible that ingress and egress would occur in the same router." ::= { diffServActionEntry 3 } diffServActionMinThreshold OBJECT-TYPE SYNTAX Unsigned32 UNITS "packets" MAX-ACCESS read-create STATUS current DESCRIPTION "The min-threshold is the queue depth that a random drop process will seek to manage the queue's depth to. This object is in the action table rather than the queue table because Differentiated Services PHBs, such as the Assured Service, permit differently classified traffic to have different drop parameters even though they occupy the same queue." ::= { diffServActionEntry 4 } diffServActionMaxThreshold OBJECT-TYPE SYNTAX Unsigned32 UNITS "packets" MAX-ACCESS read-create STATUS current DESCRIPTION "The max-threshold is the maximum permissible queue depth. In tail drop scenarios, the queue will drop if a packet is presented to it and it is instantaneously full by this measure. In random drop scenarios, the queue will drop if a packet is presented to it and the average queue depth exceeds the max-threshold. This object is in the action table rather than the queue table because Differentiated Services PHBs, such as the Assured Service, permit differently classified traffic to have different drop parameters even though they occupy the same queue." ::= { diffServActionEntry 5 } diffServActionDropPolicy OBJECT-TYPE SYNTAX INTEGER { other(1), alwaysDrop (2), -- Disallowed traffic tailDrop(3), -- Fixed Queue Size randomDrop(4) -- RED w/thresholds -- per class } MAX-ACCESS read-create STATUS current DESCRIPTION "The drop policy applied to traffic." ::= { diffServActionEntry 6 } diffServActionHCConformingPackets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Packets conforming to this meter. This object is used on high speed interfaces. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 7 } diffServActionConformingPackets OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Packets conforming to this meter. This object may be used on low speed interfaces, and represents the least significant 32 bits of diffServActionHCConformingPackets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 8 } diffServActionHCConformingOctets OBJECT-TYPE SYNTAX Counter64 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets conforming to this meter. This object is used on high speed interfaces. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 9 } diffServActionConformingOctets OBJECT-TYPE SYNTAX Counter32 UNITS "bytes" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets conforming to this meter. This object may be used on low speed interfaces, and represents the least significant 32 bits of diffServActionHCConformingOctets. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 10 } diffServActionTailDrops OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this classifier and meter that have been dropped because either the meter always drops, or the queue's depth exceeds the max-threshold value. On high speed devices, this object implements the least significant 32 bits of diffServActionHCTailDrops . Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 11 } diffServActionHCTailDrops OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this classifier and meter that have been dropped because either the meter always drops, or the queue's depth exceeds the max-threshold value. This object should be used on high speed interfaces. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 12 } diffServActionRandomDrops OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this classifier and meter that have been dropped by a random drop process because the queue is over-full. On high speed lines, this object reflects the least significant 32 bits of diffServActionHCRandomDrops. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 13 } diffServActionHCRandomDrops OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets conforming to this classifier and meter that have been dropped by a random drop process because the queue is over-full. This object is used on high speed lines. Discontinuities in the value of this counter can occur at re-initialization of the management system, and at other times as indicated by the value of ifCounterDiscontinuityTime." ::= { diffServActionEntry 14 } diffServActionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a meter. Any writable variable may be modified whether the row is active or notInService." ::= { diffServActionEntry 15 } -- This object allows a configuring system to obtain a -- unique value for diffServQueueNumber for purposes of -- configuration diffServQueueUnique OBJECT-TYPE SYNTAX TestAndIncr MAX-ACCESS read-write STATUS current DESCRIPTION "The diffServQueueUnique object yields a unique new value for diffServQueueNumber when read and subsequently set. This value must be tested for uniqueness." ::= { diffServObjects 5 } -- The Queue Table allows us to describe queues diffServQueueTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Table enumerates the queues on an interface. Queues are used to store traffic during intervals when the arrival rate exceeds the departure rate for a class of traffic. Because some PHBs indicate that the use of a priority queue may be advisable, each queue in this system is seen as having a priority. Those queues that share the same priority operate in what may externally appear to be a Weighted Round Robin manner, and preempt the traffic belonging to any lower priority. For this reason, it is strongly urged that traffic placed into prioritized queues be strongly policed to avoid traffic lockout. Queues in this table also have a minimum and a maximum rate. When a maximum rate is specified, the queue acts as a shaper if it has sufficient traffic and capacity is available. If it is a minimum rate, then the weight in the WRR is effectively set to this rate divided by the sum of the rates of queues on the interface, guaranteeing it at least that throughput rate. If it is a maximum rate, the queue operates as a shaper. A shaper potentially reduces the rate of traffic through it to the indicated rate, and minimizes variations in rate." ::= { diffServTables 6 } diffServQueueEntry OBJECT-TYPE SYNTAX DiffServQueueEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the Queue Table describes a single FIFO queue." INDEX { ifIndex, diffServInterfaceDirection, diffServQueueNumber } ::= { diffServQueueTable 1 } DiffServQueueEntry ::= SEQUENCE { diffServQueueNumber INTEGER, diffServQueueMinimumRate Unsigned32, diffServQueueMaximumRate Unsigned32, diffServQueuePriority Unsigned32, diffServQueueNextTCB RowPointer, diffServQueueOccupancyWeight Unsigned32, diffServQueueStatus RowStatus } diffServQueueNumber OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The number of the queue." ::= { diffServQueueEntry 1 } diffServQueueMinimumRate OBJECT-TYPE SYNTAX Unsigned32 UNITS "KBPS" MAX-ACCESS read-create STATUS current DESCRIPTION "The rate of the queue, in kilobits per second (KBPS). This unit is chosen because interfaces exist at the time of this writing which exceed the number of bits per second which may be represented in a 32 bit number. If the value is zero, then there is effectively no minimum rate. If the value is non-zero, the queue set will seek to assure this class of traffic at least this rate." ::= { diffServQueueEntry 2 } diffServQueueMaximumRate OBJECT-TYPE SYNTAX Unsigned32 UNITS "KBPS" MAX-ACCESS read-create STATUS current DESCRIPTION "The rate of the queue, in kilobits per second (KBPS). This unit is chosen because interfaces exist at the time of this writing which exceed the number of bits per second which may be represented in a 32 bit number. If the value is zero, then there is effectively no maximum rate. If the value is non-zero, the queue set will seek to assure this class of traffic at most this rate." ::= { diffServQueueEntry 3 } diffServQueuePriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The priority of the queue. If multiple queues exist on the same interface at the same priority, they are effectively given Weighted Round Robin service. If multiple priorities are configured on an interface, traffic with a numerically higher priority number is deemed to have higher priority than other traffic, and is preemptively serviced." ::= { diffServQueueEntry 4 } diffServQueueNextTCB OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "The 'Next' pointer selects the successor TCB on the interface. Incoming traffic may use the value zeroDotZero in this variable to indicate that the packet is now to be routed; outbound traffic may use the same value to indicate that no subsequent queuing applies. Ingress interfaces generally use queuing either to divert routing traffic for speedier processing during a flap, or for shaping purposes." DEFVAL { zeroDotZero } ::= { diffServQueueEntry 5 } diffServQueueOccupancyWeight OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-create STATUS current DESCRIPTION "The amount, in the form of a factor, that the current, actual queue occupancy should influence the averaged queue occupancy. The averaged queue occupancy can be used for comparison to configured drop thresholds in RED or RED-like dropper implementations. Larger the weight, the greater the instantaneous queue occupancy influences the averaged queue occupancy. Usually, dramatic changes in the instantaneous queue occupancy is the result of bursty input streams. Notice this numeric attribute is divided by 10,000 to get the effective fractional factor used in the actual calculations." ::= { diffServQueueEntry 6 } diffServQueueStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The RowStatus variable controls the activation, deactivation, or deletion of a queue. Any writable variable may be modified whether the row is active or notInService." ::= { diffServQueueEntry 7 } -- MIB Compliance statements. Three variations of -- compliance are described, for optical, LAN, and low speed -- interfaces. The difference is the implementation of -- diffServActionHCConformingOctets -- and diffServActionHCConformingPackets diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 } diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 } diffServMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "This MIB may be implemented as a read-only or as a read-create MIB. As a result, it may be used for monitoring or for configuration. Standard compliance implies that the implementation complies for interfaces for which an interface's octet counter might wrap at most once an hour, which by the IFMIB's convention applies to interfaces under 20 MBPS. It thus applies to any device which might implement a low speed serial line, Ethernet, Token Ring." MODULE -- This Module MANDATORY-GROUPS { diffServMIBClassifierGroup, diffServMIBMeterGroup, diffServMIBQueueGroup, diffServMIBActionGroup -- note that diffServMIBHCCounterGroup is -- mandatory for medium and high speed interfaces -- note that diffServMIBVHCCounterGroup is -- mandatory for high speed interfaces -- note that the diffServMIBStaticGroup is -- mandatory for implementations that implement a -- read-write or read-create mode. } GROUP diffServMIBHCCounterGroup DESCRIPTION "This group is mandatory for those network interfaces for which the value of the corresponding instance of ifSpeed is greater than 20,000,000 bits/second." GROUP diffServMIBVHCCounterGroup DESCRIPTION "This group is mandatory for those network interfaces for which the value of the corresponding instance of ifSpeed is greater than 650,000,000 bits/second." OBJECT diffServClassifierMatchObject MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierSequence MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterFailNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterSucceedNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionDSCP MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionMinThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionMaxThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionDropPolicy MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueMinimumRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueMaximumRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueuePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueNextTCB MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { diffServMIBCompliances 1 } diffServMIBVHCCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "This MIB may be implemented as a read-only or as a read-create MIB. As a result, it may be used for monitoring or for configuration. Very High Speed compliance implies that the implementation complies for interfaces for which an interface's packet or octet counters might wrap more than once an hour, which by the IFMIB's convention applies to interfaces over 650 MBPS, or OC-12." MODULE -- This Module MANDATORY-GROUPS { diffServMIBClassifierGroup, diffServMIBMeterGroup, diffServMIBQueueGroup, diffServMIBHCCounterGroup, diffServMIBVHCCounterGroup, diffServMIBActionGroup -- note that the diffServMIBStaticGroup is -- mandatory for implementations that implement a -- read-write or read-create mode. } OBJECT diffServClassifierMatchObject MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierSequence MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterFailNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterSucceedNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionDSCP MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionMinThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionMaxThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionDropPolicy MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueMinimumRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueMaximumRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueuePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueNextTCB MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { diffServMIBCompliances 2 } diffServMIBHCCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "This MIB may be implemented as a read-only or as a read-create MIB. As a result, it may be used for monitoring or for configuration. High Speed compliance implies that the implementation complies for interfaces for which an interface's octet counters might wrap more than once an hour, which by the IFMIB's convention applies to interfaces over 20 MBPS, but under 650 MBPS. It thus applies to devices which implement a 100 MBPS Ethernet, FDDI, E3, DS3, or SONET/SDH interface up to OC-12." MODULE -- This Module MANDATORY-GROUPS { diffServMIBClassifierGroup, diffServMIBMeterGroup, diffServMIBQueueGroup, diffServMIBHCCounterGroup, diffServMIBActionGroup -- note that diffServMIBVHCCounterGroup is -- mandatory for high speed interfaces -- note that the diffServMIBStaticGroup is -- mandatory for implementations that implement a -- read-write or read-create mode. } GROUP diffServMIBVHCCounterGroup DESCRIPTION "This group is mandatory for those network interfaces for which the value of the corresponding instance of ifSpeed is greater than 650,000,000 bits/second." OBJECT diffServClassifierMatchObject MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierSequence MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServClassifierStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterBurstSize MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterFailNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterSucceedNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServTBMeterStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionNext MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionDSCP MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionMinThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionMaxThreshold MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionDropPolicy MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServActionStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueMinimumRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueMaximumRate MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueuePriority MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueNextTCB MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT diffServQueueStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." ::= { diffServMIBCompliances 3 } diffServMIBClassifierGroup OBJECT-GROUP OBJECTS { diffServAggregateDSCP, diffServClassifierMatchObject, diffServClassifierNext, diffServClassifierSequence, diffServClassifierStatus } STATUS current DESCRIPTION "The Classifier Group defines the MIB Objects that describe a classifier." ::= { diffServMIBGroups 1 } diffServMIBMeterGroup OBJECT-GROUP OBJECTS { diffServTBMeterInterval, diffServTBMeterBurstSize, diffServTBMeterSucceedNext, diffServTBMeterFailNext, diffServTBMeterStatus } STATUS current DESCRIPTION "The Meter Group defines the objects used in describing a meter." ::= { diffServMIBGroups 2 } diffServMIBActionGroup OBJECT-GROUP OBJECTS { diffServActionDropPolicy, diffServActionRandomDrops, diffServActionTailDrops, diffServActionMinThreshold, diffServActionMaxThreshold, diffServActionDSCP, diffServActionNext, diffServActionConformingPackets, diffServActionConformingOctets, diffServActionStatus } STATUS current DESCRIPTION "The Action Group defines the objects used in describing an action." ::= { diffServMIBGroups 3 } diffServMIBHCCounterGroup OBJECT-GROUP OBJECTS { diffServActionHCConformingOctets } STATUS current DESCRIPTION "At 20,000,000 bits per second or greater, the number of octets a given class may count can overflow a 32 bit counter in under an hour. Therefore, by convention established in the IFMIB, the 64 bit counter must be implemented as well." ::= { diffServMIBGroups 4 } diffServMIBVHCCounterGroup OBJECT-GROUP OBJECTS { diffServActionHCConformingPackets, diffServActionHCRandomDrops, diffServActionHCTailDrops } STATUS current DESCRIPTION "At 650,000,000 bits per second or greater, the number of packets a given class may count can overflow a 32 bit counter in under an hour. Therefore, by convention established in the IFMIB, the 64 bit counter must be implemented as well." ::= { diffServMIBGroups 5 } diffServMIBQueueGroup OBJECT-GROUP OBJECTS { diffServQueueMinimumRate, diffServQueueMaximumRate, diffServQueuePriority, diffServQueueStatus, diffServQueueNextTCB } STATUS current DESCRIPTION "The Queue Group contains the objects that describe an interface's queues." ::= { diffServMIBGroups 6 } diffServMIBStaticGroup OBJECT-GROUP OBJECTS { diffServClassifierUnique, diffServTBMeterUnique, diffServQueueUnique, diffServActionUnique } STATUS current DESCRIPTION "The Static Group contains scalar objects used in creating unique enumerations for classifiers, meters, and queues." ::= { diffServMIBGroups 7 } END