DIFF-SERV-MIB

MIB Reference — IPNetwork Monitor

All MIBsDIFF-SERV-MIB

Organization: IETF Diffserv WG

Last Updated: 2000-07-13

Category: Standard: IETF, Technology: QoS

Description:

Differentiated Services MIB providing objects for configuring and monitoring DiffServ traffic conditioning and policy enforcement.

Imported Objects

From IF-MIB

ifIndexOBJECT-TYPE

From INET-ADDRESS-MIB

InetAddress
InetAddressType

From SNMPv2-CONF

MODULE-COMPLIANCE
OBJECT-GROUP

From SNMPv2-SMI

Counter32
Counter64
MODULE-IDENTITY
OBJECT-IDENTITY
OBJECT-TYPE
Unsigned32
mib-2
zeroDotZero

From SNMPv2-TC

RowPointer
RowStatus
TEXTUAL-CONVENTION
TimeStamp

What Is DIFF-SERV-MIB?

DIFF-SERV-MIB is an IETF standards-track MIB (based on RFC 2475's Differentiated Services architecture) for configuring and monitoring DiffServ traffic classification, conditioning, and policy enforcement on network devices. Its data categories include classifier tables that match traffic (by interface direction and filter criteria) to traffic conditioning blocks, chaining classification, marking, metering, and queuing actions. It supports monitoring of software/configuration status by exposing whether DiffServ classifiers and their chained actions are correctly configured and active (row status), which is central to verifying QoS policy enforcement rather than hardware health. It is explicitly built on RFC 2475 and the associated informal DiffServ router management model draft, and this DIFF-SERV-MIB RFC lineage explains why its classifier and conditioning tables map so directly onto the DiffServ functional blocks. Deployment context is routers and switches performing QoS traffic conditioning in enterprise and service-provider networks.

IPNetwork Monitor allows you to monitor SNMP objects defined in DIFF-SERV-MIB. Use the built-in SNMP Monitoring Browser to explore available variables, view their current values and descriptions, and select the objects you want to monitor. You can then create SNMP monitors, configure thresholds, and receive alerts when monitored values change.

What Can Be Monitored

  • classifier configuration and match criteria
  • traffic conditioning block chaining
  • classifier row status/activation
  • six-tuple classification rules

Supported Devices

  • vendor-neutral, standards-based MIB, not tied to a specific manufacturer
  • router or switch performing DiffServ QoS traffic conditioning

Monitoring Examples

An operator would inspect diffServClassifierTable/diffServClassifierEntry, checking diffServClassifierIfDirection and diffServClassifierFilter to confirm which traffic a classifier matches, and diffServClassifierNext/diffServClassifierTcb to trace the chain of conditioning actions applied. diffServSixTupleClfrTable/diffServSixTupleClfrEntry would be checked for six-tuple (IP/port-based) classification rules; a diffServClassifierStatus not showing active would explain why expected QoS marking isn't being applied to a flow.

OIDs
OID symbolicOID numericTypeAccessDescription
diffServMib1.3.6.1.2.1.12345This MIB defines the objects necessary to manage a device that uses the Differentiated Services Architecture described in RFC 2475 and the Informal Management Model for DiffServ Routers in draft-ietf-diffserv-model-04.txt.
diffServObjects1.3.6.1.2.1.12345.1
U32 diffServClassifierNextFree1.3.6.1.2.1.12345.1.1Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServClassifierId instance. If a configuring system attempts to create a new row in the diffServClassifierTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
U32 diffServSixTupleClfrNextFree1.3.6.1.2.1.12345.1.2Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServSixTupleClfrId instance. If a configuring system attempts to create a new row in the diffServSixTupleClfrTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
U32 diffServMeterNextFree1.3.6.1.2.1.12345.1.3Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServMeterId instance. If a configuring system attempts to create a new row in the diffServMeterTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
U32 diffServActionNextFree1.3.6.1.2.1.12345.1.4Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServActionId instance. If a configuring system attempts to create a new row in the diffServActionTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
diffServAbsoluteDropAction1.3.6.1.2.1.12345.1.6This object identifier may be used as the value of a diffServActionSpecific pointer in order to indicate that all packets following this path are to be dropped unconditionally at this point. It is likely, but not required, that this action will be preceded by a counter action.
U32 diffServAlgDropNextFree1.3.6.1.2.1.12345.1.7Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServAlgDropId instance. If a configuring system attempts to create a new row in the diffServAlgDropTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
U32 diffServQNextFree1.3.6.1.2.1.12345.1.8Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServQId instance. If a configuring system attempts to create a new row in the diffServQTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
U32 diffServSchedulerNextFree1.3.6.1.2.1.12345.1.9Unsigned32read-onlyThis object yields a value when read that is currently-unused for a diffServSchedulerId instance. If a configuring system attempts to create a new row in the diffServSchedulerTable using this value, that operation will fail if the value has, in the meantime, been used to create another row that is currently valid.
diffServTables1.3.6.1.2.1.12345.2
diffServClassifierTable1.3.6.1.2.1.12345.2.1not-accessibleThe classifier table defines the classifiers that are applied to traffic arriving at this interface in a particular direction. Specific classifiers are defined by RowPointers in the entries of this table which identify entries in filter tables of specific types, e.g. Multi-Field Classifiers (MFCs) for IP are defined in the diffServSixTupleClfrTable. Other classifier types may be defined elsewhere.
diffServClassifierEntry1.3.6.1.2.1.12345.2.1.1not-accessibleAn entry in the classifier table describes a single element of the classifier.
IFD diffServClassifierIfDirection1.3.6.1.2.1.12345.2.1.1.1IfDirectionnot-accessibleSpecifies the direction for which this classifier entry applies on this interface.
U32 diffServClassifierTcb1.3.6.1.2.1.12345.2.1.1.2Unsigned32not-accessibleSpecifies the TCB of which this classifier element is a part. Lower numbers indicate an element that belongs to a classifier that is part of a TCB that is, at least conceptually, applied to traffic before those with higher numbers - this is necessary to resolve ambiguity in cases where different TCBs contain filters that overlap with each other. A manager wanting to create a new TCB should either first search this table for existing entries and pick a value for this variable that is not currently represented - some form of pseudo- random choice is likely to minimise collisions. After successful creation of a conceptual row using the chosen value, the manager should check again that there are no other rows with this value that have been created by a different manager that could, potentially, interfere with the classifier elements that are desired.
U32 diffServClassifierId1.3.6.1.2.1.12345.2.1.1.3Unsigned32not-accessibleA classifier ID that enumerates the classifier elements. The set of such identifiers spans the whole agent. Managers should obtain new values for row creation in this table by reading diffServClassifierNextFree.
NUM diffServClassifierFilter1.3.6.1.2.1.12345.2.1.1.4RowPointerread-createA pointer to a valid entry in another table that describes the applicable classification filter, e.g. an entry in diffServSixTupleClfrTable. If the row pointed to does not exist, the classifier is ignored. The value zeroDotZero is interpreted to match anything not matched by another classifier - only one such entry may exist in this table.
NUM diffServClassifierNext1.3.6.1.2.1.12345.2.1.1.5RowPointerread-createThis selects the next datapath element to handle packets matching the filter pattern. For example, this can point to an entry in a meter, action, algorithmic dropper or queue table. If the row pointed to does not exist, the classifier element is ignored.
U32 diffServClassifierPrecedence1.3.6.1.2.1.12345.2.1.1.6Unsigned32read-createThe relative precedence in which classifiers are applied: higher numbers represent classifiers with higher precedence. Classifiers with the same precedence must be unambiguous i.e. they must define non-overlapping patterns, and are considered to be applied simultaneously to the traffic stream. Classifiers with different precedence may overlap in their filters: the classifier with the highest precedence that matches is taken. On a given interface, there must be a complete classifier in place at all times for the first TCB (lowest value of diffServClassifierTcb) in the ingress direction. This means that there will always be one or more filters that match every possible pattern that could be presented in an incoming packet. There is no such requirement for subsequent TCBs in the ingress direction, nor for any TCB in the egress direction.
ROW diffServClassifierStatus1.3.6.1.2.1.12345.2.1.1.7RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of a classifier. Any writable variable may be modified whether the row is active or notInService.
diffServSixTupleClfrTable1.3.6.1.2.1.12345.2.2not-accessibleA table of IP Six-Tuple Classifier filter entries that a system may use to identify IP traffic.
diffServSixTupleClfrEntry1.3.6.1.2.1.12345.2.2.1not-accessibleAn IP Six-Tuple Classifier entry describes a single filter.
U32 diffServSixTupleClfrId1.3.6.1.2.1.12345.2.2.1.1Unsigned32not-accessibleA unique identifier for the filter. Filters may be shared by multiple interfaces in the same system. Managers should obtain new values for row creation in this table by reading diffServSixTupleClfrNextFree.
IPt diffServSixTupleClfrDstAddrType1.3.6.1.2.1.12345.2.2.1.2InetAddressTyperead-createThe type of IP destination address used by this classifier entry.
IP diffServSixTupleClfrDstAddr1.3.6.1.2.1.12345.2.2.1.3InetAddressread-createThe IP address to match against the packet's destination IP address.
U32 diffServSixTupleClfrDstAddrMask1.3.6.1.2.1.12345.2.2.1.4Unsigned32read-createThe length of a mask for the matching of the destination IP address. Masks are constructed by setting bits in sequence from the most-significant bit downwards for diffServSixTupleClfrDstAddrMask bits length. All other bits in the mask, up to the number needed to fill the length of the address diffServSixTupleClfrDstAddr are cleared to zero. A zero bit in the mask then means that the corresponding bit in the address always matches.
IPt diffServSixTupleClfrSrcAddrType1.3.6.1.2.1.12345.2.2.1.5InetAddressTyperead-createThe type of IP source address used by this classifier entry.
IP diffServSixTupleClfrSrcAddr1.3.6.1.2.1.12345.2.2.1.6InetAddressread-createThe IP address to match against the source IP address of each packet.
U32 diffServSixTupleClfrSrcAddrMask1.3.6.1.2.1.12345.2.2.1.7Unsigned32read-createThe length of a mask for the matching of the source IP address. Masks are constructed by setting bits in sequence from the most- significant bit downwards for diffServSixTupleClfrSrcAddrMask bits length. All other bits in the mask, up to the number needed to fill the length of the address diffServSixTupleClfrSrcAddr are cleared to zero. A zero bit in the mask then means that the corresponding bit in the address always matches.
DSC diffServSixTupleClfrDscp1.3.6.1.2.1.12345.2.2.1.8Dscpread-createThe 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.
INT diffServSixTupleClfrProtocol1.3.6.1.2.1.12345.2.2.1.9INTEGERread-createThe IP protocol to match against the IPv4 protocol number in the packet. A value of zero means match all.
SIX diffServSixTupleClfrDstL4PortMin1.3.6.1.2.1.12345.2.2.1.10SixTupleClfrL4Portread-createThe minimum value that the layer-4 destination port number in the packet must have in order to match this classifier entry.
SIX diffServSixTupleClfrDstL4PortMax1.3.6.1.2.1.12345.2.2.1.11SixTupleClfrL4Portread-createThe 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 diffServSixTupleClfrDstL4PortMin.
SIX diffServSixTupleClfrSrcL4PortMin1.3.6.1.2.1.12345.2.2.1.12SixTupleClfrL4Portread-createThe minimum value that the layer-4 source port number in the packet must have in order to match this classifier entry.
SIX diffServSixTupleClfrSrcL4PortMax1.3.6.1.2.1.12345.2.2.1.13SixTupleClfrL4Portread-createThe 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.
ROW diffServSixTupleClfrStatus1.3.6.1.2.1.12345.2.2.1.14RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of a classifier. Any writable variable may be modified whether the row is active or notInService.
diffServMeterTable1.3.6.1.2.1.12345.2.3not-accessibleThis table enumerates generic meters that a system may use to police a stream of traffic. The traffic stream to be metered is determined by the element(s) upstream of the meter i.e. by the object(s) that point to each entry in this table. This may include all traffic on an interface. Specific meter details are to be found in diffServMeterSpecific.
diffServMeterEntry1.3.6.1.2.1.12345.2.3.1not-accessibleAn entry in the meter table describing a single meter.
IFD diffServMeterIfDirection1.3.6.1.2.1.12345.2.3.1.1IfDirectionnot-accessibleSpecifies the direction for which this meter entry applies on this interface.
U32 diffServMeterId1.3.6.1.2.1.12345.2.3.1.2Unsigned32not-accessibleThis identifies a meter entry. Managers should obtain new values for row creation in this table by reading diffServMeterNextFree.
NUM diffServMeterSucceedNext1.3.6.1.2.1.12345.2.3.1.3RowPointerread-createIf the traffic does conform to the meter, this indicates the next datapath element to handle the traffic e.g. an Action or another Meter datapath element. The value zeroDotZero in this variable indicates no further Diffserv treatment is performed on this traffic by the current interface for this interface direction. If the row pointed to does not exist, the meter element is considered inactive.
NUM diffServMeterFailNext1.3.6.1.2.1.12345.2.3.1.4RowPointerread-createIf the traffic does not conform to the meter, this indicates the next datapath element to handle the traffic e.g. an Action or Meter datapath element. The value zeroDotZero in this variable indicates no further Diffserv treatment is performed on this traffic by the current interface for this interface direction. If the row pointed to does not exist, the meter element is considered inactive.
OID diffServMeterSpecific1.3.6.1.2.1.12345.2.3.1.5OBJECT IDENTIFIERread-createThis indicates the behaviour of the meter by pointing to a table containing detailed parameters. Note that entries in that specific table must be managed explicitly. One example of a valid object would be diffServTBMeterTable, whose entries are indexed by the same variables as this table, for describing an instance of a token-bucket meter.
ROW diffServMeterStatus1.3.6.1.2.1.12345.2.3.1.6RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of a meter. Any writable variable may be modified whether the row is active or notInService.
diffServTBMeterTable1.3.6.1.2.1.12345.2.4not-accessibleThis table enumerates specific token-bucket meters that a system may use to police a stream of traffic. Such meters are modelled here as having a single rate and a burst size. Multiple meter elements may be logically cascaded using their diffServMeterSucceedNext pointers if a multi-rate token bucket is needed. One example of this might be for an AF PHB implementation that used two-rate meters. Such cascading of meter elements of specific type of token-bucket indicates forwarding behaviour that is functionally equivalent to a multi- rate meter: the sequential nature of the representation is merely a notational convenience for this MIB. Entries in this table share indexing with a parent diffServMeterEntry although they must be managed (e.g. created/deleted) by explicit management action, independently of the associated value of diffServMeterSpecific.
diffServTBMeterEntry1.3.6.1.2.1.12345.2.4.1not-accessibleAn entry that describes a single token-bucket meter, indexed by the same variables as a diffServMeterEntry.
U32 diffServTBMeterRate1.3.6.1.2.1.12345.2.4.1.1Unsigned32read-createThe token-bucket rate, in kilobits per second (kbps).
BUR diffServTBMeterBurstSize1.3.6.1.2.1.12345.2.4.1.2BurstSizeread-createThe maximum number of bytes in a single transmission burst. The interval over which the burst is to be measured can be derived as diffServTBMeterBurstSize*8*1000/diffServTBMeterRate.
ROW diffServTBMeterStatus1.3.6.1.2.1.12345.2.4.1.3RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of a meter. Any writable variable may be modified whether the row is active or notInService.
diffServActionTable1.3.6.1.2.1.12345.2.5not-accessibleThe Action Table enumerates actions that can be performed to a stream of traffic. Multiple actions can be concatenated. For example, after marking a stream of traffic exiting from a meter, a device can then perform a count action of the conforming or non-conforming traffic. Specific actions are indicated by diffServActionSpecific which points to another object which describes the action in further detail.
diffServActionEntry1.3.6.1.2.1.12345.2.5.1not-accessibleAn entry in the action table describing the actions applied to traffic arriving at its input.
IFD diffServActionIfDirection1.3.6.1.2.1.12345.2.5.1.1IfDirectionnot-accessibleSpecifies the direction for which this action entry applies on this interface.
U32 diffServActionId1.3.6.1.2.1.12345.2.5.1.2Unsigned32not-accessibleThis identifies the action entry. Managers should obtain new values for row creation in this table by reading diffServActionNextFree.
NUM diffServActionNext1.3.6.1.2.1.12345.2.5.1.3RowPointerread-createThe Next pointer indicates the next datapath element to handle the traffic. For example, a queue datapath element. The value zeroDotZero in this variable indicates no further DiffServ treatment is performed on this flow by the current interface for this interface direction. If the row pointed to does not exist, the action element is considered inactive.
OID diffServActionSpecific1.3.6.1.2.1.12345.2.5.1.4OBJECT IDENTIFIERread-createA pointer to an object instance providing additional information for the type of action indicated by this action table entry. For the standard actions defined by this MIB module, this should point to one of the following: a diffServDscpMarkActEntry, a diffServCountActEntry, the diffServAbsoluteDropAction OID. For other actions, it may point to an object instance defined in some other MIB.
ROW diffServActionStatus1.3.6.1.2.1.12345.2.5.1.5RowStatusread-createThe RowStatus variable controls the activation, deactivation or deletion of an action element. Any writable variable may be modified whether the row is active or notInService.
diffServDscpMarkActTable1.3.6.1.2.1.12345.2.6not-accessibleThis table enumerates specific DSCPs used for marking or remarking the DSCP field of IP packets. The entries of this table may be referenced by a diffServActionSpecific attribute that points to diffServDscpMarkActTable.
diffServDscpMarkActEntry1.3.6.1.2.1.12345.2.6.1not-accessibleAn entry in the DSCP mark action table that describes a single DSCP used for marking.
DSC diffServDscpMarkActDscp1.3.6.1.2.1.12345.2.6.1.1Dscpread-onlyThe DSCP that this Action uses for marking/remarking traffic. Note that a DSCP value of -1 is not permitted in this table. It is quite possible that the only packets subject to this Action are already marked with this DSCP. Note also that Diffserv may result in packet remarking both on ingress to a network and on egress from it and it is quite possible that ingress and egress would occur in the same router.
diffServCountActTable1.3.6.1.2.1.12345.2.7not-accessibleThis table contains counters for all the traffic passing through an action element.
diffServCountActEntry1.3.6.1.2.1.12345.2.7.1not-accessibleAn entry in the count action table that describes a single set of traffic counters. Entries in this table share indexing with those in the base diffServActionTable although they must be managed (e.g. created/deleted) by explicit management action, independently of the associated value of diffServActionSpecific.
C32 diffServCountActOctets1.3.6.1.2.1.12345.2.7.1.1Counter32read-onlyThe number of octets at the Action datapath element. On high speed devices, this object implements the least significant 32 bits of diffServcountActHCOctets. 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 diffServCountActDiscontTime for this entry.
C64 diffServCountActHCOctets1.3.6.1.2.1.12345.2.7.1.2Counter64read-onlyThe number of octets at the Action datapath element. 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 diffServCountActDiscontTime for this entry.
C32 diffServCountActPkts1.3.6.1.2.1.12345.2.7.1.3Counter32read-onlyThe number of packets at the Action datapath element. On high speed devices, this object implements the least significant 32 bits of diffServcountActHCPkts. 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 diffServCountActDiscontTime for this entry.
C64 diffServCountActHCPkts1.3.6.1.2.1.12345.2.7.1.4Counter64read-onlyThe number of packets at the Action datapath element. 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 diffServCountActDiscontTime for this entry.
TIM diffServCountActDiscontTime1.3.6.1.2.1.12345.2.7.1.5TimeStampread-onlyThe value of sysUpTime on the most recent occasion at which any one or more of this entry's counters suffered a discontinuity. If no such discontinuities have occurred since the last re- initialization of the local management subsystem, then this object contains a zero value.
ROW diffServCountActStatus1.3.6.1.2.1.12345.2.7.1.6RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of this entry. Any writable variable may be modified whether the row is active or notInService.
diffServAlgDropTable1.3.6.1.2.1.12345.2.8not-accessibleThe algorithmic drop table contains entries describing an element that drops packets according to some algorithm.
diffServAlgDropEntry1.3.6.1.2.1.12345.2.8.1not-accessibleAn entry describes a process that drops packets according to some algorithm. Further details of the algorithm type are to be found in diffServAlgDropType and may be pointed to by diffServAlgDropSpecific.
IFD diffServAlgDropIfDirection1.3.6.1.2.1.12345.2.8.1.1IfDirectionnot-accessibleSpecifies the direction for which this algorithmic dropper entry applies on this interface.
U32 diffServAlgDropId1.3.6.1.2.1.12345.2.8.1.2Unsigned32not-accessibleThis identifies the drop action entry. Managers should obtain new values for row creation in this table by reading diffServAlgDropNextFree.
INT diffServAlgDropType1.3.6.1.2.1.12345.2.8.1.3INTEGERread-createThe type of algorithm used by this dropper. A value of tailDrop(2) or headDrop(3) represents an algorithm that is completely specified by this MIB. A value of other(1) requires further specification in some other MIB module. The tailDrop(2) algorithm is described as follows: diffServAlgDropQThreshold represents the depth of the queue diffServAlgDropQMeasure at which all newly arriving packets will be dropped. The headDrop(3) algorithm is described as follows: if a packet arrives when the current depth of the queue diffServAlgDropQMeasure is at diffServAlgDropQThreshold, packets currently at the head of the queue are dropped to make room for the new packet to be enqueued at the tail of the queue. The randomDrop(4) algorithm is described as follows: on packet arrival, an algorithm is executed which may randomly drop the packet, or drop other packet(s) from the queue in its place. The specifics of the algorithm may be proprietary. For this algorithm, an associated diffServRandomDropEntry is indicated by pointing diffServAlgDropSpecific at the diffServRandomDropTable. The relevant entry in that table is selected by the common indexing of the two tables. For this algorithm, diffServAlgQThreshold is understood to be the absolute maximum size of the queue and additional parameters are described in diffServRandomDropTable.
NUM diffServAlgDropNext1.3.6.1.2.1.12345.2.8.1.4RowPointerread-createThe Next pointer indicates the next datapath element to handle the traffic e.g. a queue datapath element. The value zeroDotZero in this variable indicates no further DiffServ treatment is performed on this flow by the current interface for this interface direction. If the row pointed to does not exist, the algorithmic dropper element is considered inactive.
NUM diffServAlgDropQMeasure1.3.6.1.2.1.12345.2.8.1.5RowPointerread-createPoints to an entry in the diffServQueueTable to indicate the queue that a drop algorithm is to monitor when deciding whether to drop a packet. If the row pointed to does not exist, the algorithmic dropper element is considered inactive.
U32 diffServAlgDropQThreshold1.3.6.1.2.1.12345.2.8.1.6Unsigned32read-createA threshold on the depth in bytes of the queue being measured at which a trigger is generated to the dropping algorithm. For the tailDrop(2) or headDrop(3) algorithms, this represents the depth of the queue diffServAlgDropQMeasure at which the drop action will take place. Other algorithms will need to define their own semantics for this threshold.
OID diffServAlgDropSpecific1.3.6.1.2.1.12345.2.8.1.7OBJECT IDENTIFIERread-createPoints to a table (not an entry in the table) defined elsewhere that provides further detail regarding a drop algorithm. Entries in such a table are indexed by the same variables as this diffServAlgDropEntry but note that those entries must be managed independently of those in this table. Entries with diffServAlgDropType equal to other(1) may have this point to a table defined in another MIB module. Entries with diffServAlgDropType equal to randomDrop(4) must have this point to diffServRandomDropTable. For all other algorithms, this should take the value zeroDotzero.
C32 diffServAlgDropOctets1.3.6.1.2.1.12345.2.8.1.8Counter32read-onlyThe number of octets that have been dropped by this drop process. On high speed devices, this object implements the least significant 32 bits of diffServAlgDropHCOctets. 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 appropriate to this interface.
C64 diffServAlgDropHCOctets1.3.6.1.2.1.12345.2.8.1.9Counter64read-onlyThe number of octets that have been dropped by this drop process. 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 appropriate to this interface.
C32 diffServAlgDropPkts1.3.6.1.2.1.12345.2.8.1.10Counter32read-onlyThe number of packets that have been dropped by this drop process. On high speed devices, this object implements the least significant 32 bits of diffServAlgDropHCPkts. 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 appropriate to this interface.
C64 diffServAlgDropHCPkts1.3.6.1.2.1.12345.2.8.1.11Counter64read-onlyThe number of packets that have been dropped by this drop process. 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 appropriate to this interface.
ROW diffServAlgDropStatus1.3.6.1.2.1.12345.2.8.1.12RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of this entry. Any writable variable may be modified whether the row is active or notInService.
diffServRandomDropTable1.3.6.1.2.1.12345.2.9not-accessibleThe random drop table augments the algorithmic drop table. It contains entries describing a process that drops packets randomly. This table is intended to be pointed to by the associated diffServAlgDropSpecific in such cases.
diffServRandomDropEntry1.3.6.1.2.1.12345.2.9.1not-accessibleAn entry describes a process that drops packets according to a random algorithm. Entries in this table share indexing with a parent diffServAlgDropEntry although they must be managed (e.g. created/deleted) by explicit management action, independently of the associated value of diffServAlgDropSpecific.
U32 diffServRandomDropMinThreshBytes1.3.6.1.2.1.12345.2.9.1.1Unsigned32read-createThe average queue depth in bytes, beyond which traffic has a non-zero probability of being dropped. Changes in this variable may or may not be reflected in the reported value of diffServRandomDropMinThreshPkts.
U32 diffServRandomDropMinThreshPkts1.3.6.1.2.1.12345.2.9.1.2Unsigned32read-createThe average queue depth in packets, beyond which traffic has a non-zero probability of being dropped. Changes in this variable may or may not be reflected in the reported value of diffServRandomDropMinThreshBytes.
U32 diffServRandomDropMaxThreshBytes1.3.6.1.2.1.12345.2.9.1.3Unsigned32read-createThe average queue depth beyond which traffic has a probability indicated by diffServRandomDropInvMaxProb of being dropped or marked. Note that this differs from the physical queue limit, which is stored in diffServAlgDropQThreshold. Changes in this variable may or may not be reflected in the reported value of diffServRandomDropMaxThreshPkts.
U32 diffServRandomDropMaxThreshPkts1.3.6.1.2.1.12345.2.9.1.4Unsigned32read-createThe average queue depth beyond which traffic has a probability indicated by diffServRandomDropInvMaxProb of being dropped or marked. Note that this differs from the physical queue limit, which is stored in diffServAlgDropQThreshold. Changes in this variable may or may not be reflected in the reported value of diffServRandomDropMaxThreshBytes.
U32 diffServRandomDropInvWeight1.3.6.1.2.1.12345.2.9.1.5Unsigned32read-createThe weighting of past history in affecting the calculation of the current queue average. The moving average of the queue depth uses the inverse of this value as the factor for the new queue depth, and one minus that inverse as the factor for the historical average. Implementations may choose to limit the acceptable set of values to a specified set, such as powers of 2.
U32 diffServRandomDropProbMax1.3.6.1.2.1.12345.2.9.1.6Unsigned32read-createThe worst case random drop probability, expressed in drops per thousand packets. For example, if every packet may be dropped in the worst case (100%), this has the value 1000. Alternatively, if in the worst case one percent (1%) of traffic may be dropped, it has the value 10.
ROW diffServRandomDropStatus1.3.6.1.2.1.12345.2.9.1.7RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of this entry. Any writable variable may be modified whether the row is active or notInService.
diffServQTable1.3.6.1.2.1.12345.2.10not-accessibleThe Queue Table enumerates the individual queues on an interface.
diffServQEntry1.3.6.1.2.1.12345.2.10.1not-accessibleAn entry in the Queue Table describes a single queue in one direction on an interface.
IFD diffServQIfDirection1.3.6.1.2.1.12345.2.10.1.1IfDirectionnot-accessibleSpecifies the direction for which this queue entry applies on this interface.
U32 diffServQId1.3.6.1.2.1.12345.2.10.1.2Unsigned32not-accessibleThe Queue Id enumerates the Queue entry. Managers should obtain new values for row creation in this table by reading diffServQNextFree.
NUM diffServQNext1.3.6.1.2.1.12345.2.10.1.3RowPointerread-createThe Next pointer indicates the next datapath element to handle the traffic e.g. a scheduler datapath element. If the row pointed to does not exist, the queue element is considered inactive.
U32 diffServQPriority1.3.6.1.2.1.12345.2.10.1.4Unsigned32read-createThe priority of this queue, to be used as a parameter to the next scheduler element downstream from this one.
U32 diffServQMinRateAbs1.3.6.1.2.1.12345.2.10.1.5Unsigned32read-createThe minimum absolute rate, in kilobits/sec, that a downstream scheduler element should allocate to this queue. If the value is zero, then there is effectively no minimum rate guarantee. If the value is non-zero, the scheduler will assure the servicing of this queue to at least this rate. Note that this attribute's value is coupled to that of diffServQMinRateRel: changes to one will affect the value of the other. They are linked by the following equation: diffServQMinRateRel = diffServQMinRateAbs * 10,000,000/ifSpeed or, if appropriate: diffServQMinRateRel = diffServQMinRateAbs * 10 / ifHighSpeed
U32 diffServQMinRateRel1.3.6.1.2.1.12345.2.10.1.6Unsigned32read-createThe minimum rate that a downstream scheduler element should allocate to this queue, relative to the maximum rate of the interface as reported by ifSpeed or ifHighSpeed, in units of 1/10,000 of 1. If the value is zero, then there is effectively no minimum rate guarantee. If the value is non-zero, the scheduler will assure the servicing of this queue to at least this rate. Note that this attribute's value is coupled to that of diffServQMinRateAbs: changes to one will affect the value of the other. They are linked by the following equation: diffServQMinRateAbs = ifSpeed * diffServQMinRateRel/10,000,000 or, if appropriate: diffServQMinRateAbs = ifHighSpeed * diffServQMinRateRel / 10
U32 diffServQMaxRateAbs1.3.6.1.2.1.12345.2.10.1.7Unsigned32read-createThe maximum rate in kilobits/sec that a downstream scheduler element should allocate to this queue. If the value is zero, then there is effectively no maximum rate limit and that the scheduler should attempt to be work-conserving for this queue. If the value is non-zero, the scheduler will limit the servicing of this queue to, at most, this rate in a non-work-conserving manner. Note that this attribute's value is coupled to that of diffServQMaxRateRel: changes to one will affect the value of the other. They are linked by the following equation: diffServQMaxRateRel = diffServQMaxRateAbs * 10,000,000/ifSpeed or, if appropriate: diffServQMaxRateRel = diffServQMaxRateAbs * 10 / ifHighSpeed
U32 diffServQMaxRateRel1.3.6.1.2.1.12345.2.10.1.8Unsigned32read-createThe maximum rate that a downstream scheduler element should allocate to this queue, relative to the maximum rate of the interface as reported by ifSpeed or ifHighSpeed, in units of 1/10,000 of 1. If the value is zero, then there is effectively no maximum rate limit and the scheduler should attempt to be work-conserving for this queue. If the value is non-zero, the scheduler will limit the servicing of this queue to, at most, this rate in a non-work-conserving manner. Note that this attribute's value is coupled to that of diffServQMaxRateAbs: changes to one will affect the value of the other. They are linked by the following equation: diffServQMaxRateAbs = ifSpeed * diffServQMaxRateRel/10,000,000 or, if appropriate: diffServQMaxRateAbs = ifHighSpeed * diffServQMaxRateRel / 10
ROW diffServQStatus1.3.6.1.2.1.12345.2.10.1.9RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of a queue. Any writable variable may be modified whether the row is active or notInService.
diffServSchedulerTable1.3.6.1.2.1.12345.2.11not-accessibleThe Scheduler Table enumerates packet schedulers. Multiple scheduling algorithms can be used on a given interface, with each algorithm described by one diffServSchedulerEntry.
diffServSchedulerEntry1.3.6.1.2.1.12345.2.11.1not-accessibleAn entry in the Scheduler Table describing a single instance of a scheduling algorithm.
IFD diffServSchedulerIfDirection1.3.6.1.2.1.12345.2.11.1.1IfDirectionnot-accessibleSpecifies the direction for which this scheduler entry applies on this interface.
U32 diffServSchedulerId1.3.6.1.2.1.12345.2.11.1.2Unsigned32not-accessibleThis identifies the scheduler entry. Managers should obtain new values for row creation in this table by reading diffServSchedulerNextFree.
INT diffServSchedulerMethod1.3.6.1.2.1.12345.2.11.1.3INTEGERread-createThe scheduling algorithm used by this Scheduler. A value of priorityq(2) is used to indicate strict priority queueing: only the diffServQPriority attributes of the queues feeding this scheduler are used when determining the next packet to schedule. A value of wrr(3) indicates weighted round-robin scheduling. Packets are scheduled from each of the queues feeding this scheduler according to all of the parameters of the diffServQueue entry.
NUM diffServSchedulerNext1.3.6.1.2.1.12345.2.11.1.4RowPointerread-createSelects the next data path component, which can be another scheduler or other TC elements. One usage of multiple scheduler elements in series is for Class Base Queueing (CBQ). The value zeroDotZero in this variable indicates no further DiffServ treatment is performed on this flow by the current interface for this interface direction. For example, for an inbound interface the value zeroDotZero indicates that the packet flow has now completed inbound DiffServ treatment and should be forwarded on to the appropriate outbound interface. If the row pointed to does not exist, the scheduler element is considered inactive.
ROW diffServSchedulerStatus1.3.6.1.2.1.12345.2.11.1.5RowStatusread-createThe RowStatus variable controls the activation, deactivation, or deletion of a queue. Any writable variable may be modified whether the row is active or notInService.
diffServMIBConformance1.3.6.1.2.1.12345.3
diffServMIBCompliances1.3.6.1.2.1.12345.3.1
diffServMIBCompliance1.3.6.1.2.1.12345.3.1.1This 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.
diffServMIBGroups1.3.6.1.2.1.12345.3.2
diffServMIBClassifierGroup1.3.6.1.2.1.12345.3.2.1The Classifier Group defines the MIB Objects that describe a generic classifier element.
diffServMIBSixTupleClfrGroup1.3.6.1.2.1.12345.3.2.2The Six-tuple Classifier Group defines the MIB Objects that describe a classifier element for matching on 6 fields of an IP and upper-layer protocol header.
diffServMIBMeterGroup1.3.6.1.2.1.12345.3.2.3The Meter Group defines the objects used in describing a generic meter element.
diffServMIBTokenBucketMeterGroup1.3.6.1.2.1.12345.3.2.4The Token-Bucket Meter Group defines the objects used in describing a single-rate token bucket meter element.
diffServMIBActionGroup1.3.6.1.2.1.12345.3.2.5The Action Group defines the objects used in describing a generic action element.
diffServMIBDscpMarkActionGroup1.3.6.1.2.1.12345.3.2.6The DSCP Mark Action Group defines the objects used in describing a DSCP Marking Action element.
diffServMIBCounterGroup1.3.6.1.2.1.12345.3.2.7A collection of objects providing information specific to non- high speed (non-high speed interfaces transmit and receive at speeds less than or equal to 20,000,000 bits/second) packet- oriented network interfaces.
diffServMIBHCCounterGroup1.3.6.1.2.1.12345.3.2.8A collection of objects providing information specific to non- high speed (non-high speed interfaces transmit and receive at speeds less than or equal to 20,000,000 bits/second) packet- oriented network interfaces.
diffServMIBVHCCounterGroup1.3.6.1.2.1.12345.3.2.9A collection of objects providing information specific to non- high speed (non-high speed interfaces transmit and receive at speeds less than or equal to 20,000,000 bits/second) packet- oriented network interfaces.
diffServMIBAlgDropGroup1.3.6.1.2.1.12345.3.2.10The Algorithmic Drop Group contains the objects that describe algorithmic dropper operation and configuration.
diffServMIBRandomDropGroup1.3.6.1.2.1.12345.3.2.11The Random Drop Group augments the Algorithmic Drop Group for random dropper operation and configuration.
diffServMIBQueueGroup1.3.6.1.2.1.12345.3.2.12The Queue Group contains the objects that describe an interface's queues.
diffServMIBSchedulerGroup1.3.6.1.2.1.12345.3.2.13The Scheduler Group contains the objects that describe packet schedulers on interfaces.
diffServMIBStaticGroup1.3.6.1.2.1.12345.3.2.14The Static Group contains readable scalar objects used in creating unique identifiers for classifiers, meters, actions and queues. These are required whenever row creation operations on such tables are supported.

RFC description

Defines management objects for Differentiated Services (DiffServ) QoS policy configuration (RFC 3289).

Start monitoring Router/switch performing DiffServ QoS traffic conditioning (vendor-neutral, RFC 2475) with a free 30-day trial of IPNetwork Monitor. Import MIBs, browse SNMP OIDs, create custom SNMP monitors, configure alerts, and monitor any SNMP-enabled network device from a single console.

Download DIFF-SERV-MIB