DESCRIPTION "An entry that describes a single set of token bucket parameters." INDEX { diffServTBParamId } ::= { diffServTBParamTable 1 } DiffServTBParamEntry ::= SEQUENCE { diffServTBParamId IndexInteger, diffServTBParamType AutonomousType, diffServTBParamRate Unsigned32, diffServTBParamBurstSize BurstSize, diffServTBParamInterval Unsigned32, diffServTBParamStorage StorageType, diffServTBParamStatus RowStatus } diffServTBParamId OBJECT-TYPE SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that enumerates the Token Bucket Parameter entries. Managers obtain new values for row creation in this table by reading diffServTBParamNextFree." ::= { diffServTBParamEntry 1 } diffServTBParamType OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-create STATUS current DESCRIPTION "The Metering algorithm associated with the Token Bucket parameters. zeroDotZero indicates this is unknown. Standard values for generic algorithms: diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware, diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and diffServTBParamTswTCM are specified in this MIB as OBJECT- IDENTITYs; additional values may be further specified in other MIBs." ::= { diffServTBParamEntry 2 } diffServTBParamRate OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "kilobits per second" MAX-ACCESS read-create STATUS current
DESCRIPTION "The token-bucket rate, in kilobits per second (kbps). This attribute is used for: 1. CIR in RFC 2697 for srTCM 2. CIR and PIR in RFC 2698 for trTCM 3. CTR and PTR in RFC 2859 for TSWTCM 4. AverageRate in RFC 3290." ::= { diffServTBParamEntry 3 } diffServTBParamBurstSize OBJECT-TYPE SYNTAX BurstSize UNITS "Bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The maximum number of bytes in a single transmission burst. This attribute is used for: 1. CBS and EBS in RFC 2697 for srTCM 2. CBS and PBS in RFC 2698 for trTCM 3. Burst Size in RFC 3290." ::= { diffServTBParamEntry 4 } diffServTBParamInterval OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "microseconds" MAX-ACCESS read-create STATUS current DESCRIPTION "The time interval used with the token bucket. For: 1. Average Rate Meter, the Informal Differentiated Services Model section 5.2.1, - Delta. 2. Simple Token Bucket Meter, the Informal Differentiated Services Model section 5.1, - time interval t. 3. RFC 2859 TSWTCM, - AVG_INTERVAL. 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time interval." ::= { diffServTBParamEntry 5 } diffServTBParamStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { diffServTBParamEntry 6 }
diffServTBParamStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. Setting this variable to 'destroy' when the MIB contains one or more RowPointers pointing to it results in destruction being delayed until the row is no longer used." ::= { diffServTBParamEntry 7 } -- -- OIDs for diffServTBParamType definitions. -- diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 } diffServTBParamSimpleTokenBucket OBJECT-IDENTITY STATUS current DESCRIPTION "Two Parameter Token Bucket Meter as described in the Informal Differentiated Services Model section 5.2.3." ::= { diffServTBMeters 1 } diffServTBParamAvgRate OBJECT-IDENTITY STATUS current DESCRIPTION "Average Rate Meter as described in the Informal Differentiated Services Model section 5.2.1." ::= { diffServTBMeters 2 } diffServTBParamSrTCMBlind OBJECT-IDENTITY STATUS current DESCRIPTION "Single Rate Three Color Marker Metering as defined by RFC 2697, in the `Color Blind' mode as described by the RFC." REFERENCE "RFC 2697" ::= { diffServTBMeters 3 } diffServTBParamSrTCMAware OBJECT-IDENTITY STATUS current DESCRIPTION "Single Rate Three Color Marker Metering as defined by RFC 2697, in the `Color Aware' mode as described by the RFC." REFERENCE "RFC 2697"
::= { diffServTBMeters 4 } diffServTBParamTrTCMBlind OBJECT-IDENTITY STATUS current DESCRIPTION "Two Rate Three Color Marker Metering as defined by RFC 2698, in the `Color Blind' mode as described by the RFC." REFERENCE "RFC 2698" ::= { diffServTBMeters 5 } diffServTBParamTrTCMAware OBJECT-IDENTITY STATUS current DESCRIPTION "Two Rate Three Color Marker Metering as defined by RFC 2698, in the `Color Aware' mode as described by the RFC." REFERENCE "RFC 2698" ::= { diffServTBMeters 6 } diffServTBParamTswTCM OBJECT-IDENTITY STATUS current DESCRIPTION "Time Sliding Window Three Color Marker Metering as defined by RFC 2859." REFERENCE "RFC 2859" ::= { diffServTBMeters 7 } -- -- Actions -- diffServAction OBJECT IDENTIFIER ::= { diffServMIBObjects 5 } -- -- The Action Table allows enumeration of the different types of -- actions to be applied to a traffic flow. -- diffServActionNextFree OBJECT-TYPE SYNTAX IndexIntegerNextFree MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for diffServActionId, or a zero to indicate that none exist." ::= { diffServAction 1 }
diffServActionTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Action Table enumerates actions that can be performed to a stream of traffic. Multiple actions can be concatenated. For example, traffic exiting from a meter may be counted, marked, and potentially dropped before entering a queue. Specific actions are indicated by diffServActionSpecific which points to an entry of a specific action type parameterizing the action in detail." ::= { diffServAction 2 } diffServActionEntry OBJECT-TYPE SYNTAX DiffServActionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Each entry in the action table allows description of one specific action to be applied to traffic." INDEX { diffServActionId } ::= { diffServActionTable 1 } DiffServActionEntry ::= SEQUENCE { diffServActionId IndexInteger, diffServActionInterface InterfaceIndexOrZero, diffServActionNext RowPointer, diffServActionSpecific RowPointer, diffServActionStorage StorageType, diffServActionStatus RowStatus } diffServActionId OBJECT-TYPE SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that enumerates the Action entries. Managers obtain new values for row creation in this table by reading diffServActionNextFree." ::= { diffServActionEntry 1 } diffServActionInterface OBJECT-TYPE SYNTAX InterfaceIndexOrZero MAX-ACCESS read-create STATUS current
DESCRIPTION "The interface index (value of ifIndex) that this action occurs on. This may be derived from the diffServDataPathStartEntry's index by extension through the various RowPointers. However, as this may be difficult for a network management station, it is placed here as well. If this is indeterminate, the value is zero. This is of especial relevance when reporting the counters which may apply to traffic crossing an interface: diffServCountActOctets, diffServCountActPkts, diffServAlgDropOctets, diffServAlgDropPkts, diffServAlgRandomDropOctets, and diffServAlgRandomDropPkts. It is also especially relevant to the queue and scheduler which may be subsequently applied." ::= { diffServActionEntry 2 } diffServActionNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This selects the next Differentiated Services Functional Data Path Element to handle traffic for this data path. This RowPointer should point to an instance of one of: diffServClfrEntry diffServMeterEntry diffServActionEntry diffServAlgDropEntry diffServQEntry A value of zeroDotZero in this attribute indicates no further Differentiated Services treatment is performed on traffic of this data path. The use of zeroDotZero is the normal usage for the last functional data path element of the current data path. Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero." DEFVAL { zeroDotZero } ::= { diffServActionEntry 3 } diffServActionSpecific OBJECT-TYPE
SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "A 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 either a diffServDscpMarkActEntry or a diffServCountActEntry. For other actions, it may point to an object instance defined in some other MIB. Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the Meter should be treated as if it were not present. This may lead to incorrect policy behavior." ::= { diffServActionEntry 4 } diffServActionStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { diffServActionEntry 5 } diffServActionStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. Setting this variable to 'destroy' when the MIB contains one or more RowPointers pointing to it results in destruction being delayed until the row is no longer used." ::= { diffServActionEntry 6 } -- DSCP Mark Action Table -- -- Rows of this table are pointed to by diffServActionSpecific to -- provide detailed parameters specific to the DSCP Mark action. -- -- A single entry in this table can be shared by multiple
-- diffServActionTable entries. -- diffServDscpMarkActTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServDscpMarkActEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This 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." ::= { diffServAction 3 } diffServDscpMarkActEntry OBJECT-TYPE SYNTAX DiffServDscpMarkActEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the DSCP mark action table that describes a single DSCP used for marking." INDEX { diffServDscpMarkActDscp } ::= { diffServDscpMarkActTable 1 } DiffServDscpMarkActEntry ::= SEQUENCE { diffServDscpMarkActDscp Dscp } diffServDscpMarkActDscp OBJECT-TYPE SYNTAX Dscp MAX-ACCESS read-only STATUS current DESCRIPTION "The DSCP that this Action will store into the DSCP field of the subject. It is quite possible that the only packets subject to this Action are already marked with this DSCP. Note also that Differentiated Services processing may result in packet being marked on both ingress to a network and on egress from it, and that ingress and egress can occur in the same router." ::= { diffServDscpMarkActEntry 1 } -- -- Count Action Table -- -- Because the MIB structure allows multiple cascading -- diffServActionEntry be used to describe multiple actions for a data -- path, the counter became an optional action type. In normal -- implementation, either a data path has counters or it does not, as -- opposed to being configurable. The management entity may choose to
-- read the counter or not. Hence it is recommended for implementation -- that have counters to always configure the count action as the first -- of multiple actions. -- diffServCountActNextFree OBJECT-TYPE SYNTAX IndexIntegerNextFree MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for diffServCountActId, or a zero to indicate that none exist." ::= { diffServAction 4 } diffServCountActTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServCountActEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains counters for all the traffic passing through an action element." ::= { diffServAction 5 } diffServCountActEntry OBJECT-TYPE SYNTAX DiffServCountActEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the count action table describes a single set of traffic counters." INDEX { diffServCountActId } ::= { diffServCountActTable 1 } DiffServCountActEntry ::= SEQUENCE { diffServCountActId IndexInteger, diffServCountActOctets Counter64, diffServCountActPkts Counter64, diffServCountActStorage StorageType, diffServCountActStatus RowStatus } diffServCountActId OBJECT-TYPE SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that enumerates the Count Action entries. Managers obtain new values for row creation in this table by reading
diffServCountActNextFree." ::= { diffServCountActEntry 1 } diffServCountActOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets at the Action data path element. 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 on the relevant interface." ::= { diffServCountActEntry 2 } diffServCountActPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets at the Action data path element. 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 on the relevant interface." ::= { diffServCountActEntry 3 } diffServCountActStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { diffServCountActEntry 4 } diffServCountActStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. Setting this variable to 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no longer used." ::= { diffServCountActEntry 5 } -- -- Algorithmic Drop Table -- diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 } diffServAlgDropNextFree OBJECT-TYPE SYNTAX IndexIntegerNextFree MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for diffServAlgDropId, or a zero to indicate that none exist." ::= { diffServAlgDrop 1 } diffServAlgDropTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServAlgDropEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The algorithmic drop table contains entries describing an element that drops packets according to some algorithm." ::= { diffServAlgDrop 2 } diffServAlgDropEntry OBJECT-TYPE SYNTAX DiffServAlgDropEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a process that drops packets according to some algorithm. Further details of the algorithm type are to be found in diffServAlgDropType and with more detail parameter entry pointed to by diffServAlgDropSpecific when necessary." INDEX { diffServAlgDropId } ::= { diffServAlgDropTable 1 } DiffServAlgDropEntry ::= SEQUENCE { diffServAlgDropId IndexInteger, diffServAlgDropType INTEGER, diffServAlgDropNext RowPointer, diffServAlgDropQMeasure RowPointer, diffServAlgDropQThreshold Unsigned32, diffServAlgDropSpecific RowPointer, diffServAlgDropOctets Counter64,
diffServAlgDropPkts Counter64, diffServAlgRandomDropOctets Counter64, diffServAlgRandomDropPkts Counter64, diffServAlgDropStorage StorageType, diffServAlgDropStatus RowStatus } diffServAlgDropId OBJECT-TYPE SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that enumerates the Algorithmic Dropper entries. Managers obtain new values for row creation in this table by reading diffServAlgDropNextFree." ::= { diffServAlgDropEntry 1 } diffServAlgDropType OBJECT-TYPE SYNTAX INTEGER { other(1), tailDrop(2), headDrop(3), randomDrop(4), alwaysDrop(5) } MAX-ACCESS read-create STATUS current DESCRIPTION "The type of algorithm used by this dropper. The value other(1) requires further specification in some other MIB module. In the tailDrop(2) algorithm, diffServAlgDropQThreshold represents the maximum depth of the queue, pointed to by diffServAlgDropQMeasure, beyond which all newly arriving packets will be dropped. In the headDrop(3) algorithm, if a packet arrives when the current depth of the queue, pointed to by 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. In the randomDrop(4) algorithm, on packet arrival, an Active Queue Management algorithm is executed which may randomly drop a packet. This algorithm may be proprietary, and it may drop either the arriving packet or another packet in the queue. diffServAlgDropSpecific points to a diffServRandomDropEntry that describes the algorithm. For this algorithm,
diffServAlgDropQThreshold is understood to be the absolute maximum size of the queue and additional parameters are described in diffServRandomDropTable. The alwaysDrop(5) algorithm is as its name specifies; always drop. In this case, the other configuration values in this Entry are not meaningful; There is no useful 'next' processing step, there is no queue, and parameters describing the queue are not useful. Therefore, diffServAlgDropNext, diffServAlgDropMeasure, and diffServAlgDropSpecific are all zeroDotZero." ::= { diffServAlgDropEntry 2 } diffServAlgDropNext OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This selects the next Differentiated Services Functional Data Path Element to handle traffic for this data path. This RowPointer should point to an instance of one of: diffServClfrEntry diffServMeterEntry diffServActionEntry diffServQEntry A value of zeroDotZero in this attribute indicates no further Differentiated Services treatment is performed on traffic of this data path. The use of zeroDotZero is the normal usage for the last functional data path element of the current data path. When diffServAlgDropType is alwaysDrop(5), this object is ignored. Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero." ::= { diffServAlgDropEntry 3 } diffServAlgDropQMeasure OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "Points to an entry in the diffServQTable 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.
Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero." ::= { diffServAlgDropEntry 4 } diffServAlgDropQThreshold OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "Bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "A threshold on the depth in bytes of the queue being measured at which a trigger is generated to the dropping algorithm, unless diffServAlgDropType is alwaysDrop(5) where this object is ignored. For the tailDrop(2) or headDrop(3) algorithms, this represents the depth of the queue, pointed to by diffServAlgDropQMeasure, at which the drop action will take place. Other algorithms will need to define their own semantics for this threshold." ::= { diffServAlgDropEntry 5 } diffServAlgDropSpecific OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "Points to a table entry that provides further detail regarding a drop algorithm. 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 an entry in diffServRandomDropTable. For all other algorithms specified in this MIB, this should take the value zeroDotZero. The diffServAlgDropType is authoritative for the type of the drop algorithm and the specific parameters for the drop algorithm needs to be evaluated based on the diffServAlgDropType. Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero."
::= { diffServAlgDropEntry 6 } diffServAlgDropOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets that have been deterministically dropped by this drop process. 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 on the relevant interface." ::= { diffServAlgDropEntry 7 } diffServAlgDropPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of packets that have been deterministically dropped by this drop process. 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 on the relevant interface." ::= { diffServAlgDropEntry 8 } diffServAlgRandomDropOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of octets that have been randomly dropped by this drop process. This counter applies, therefore, only to random droppers. 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 on the relevant interface." ::= { diffServAlgDropEntry 9 } diffServAlgRandomDropPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only
STATUS current DESCRIPTION "The number of packets that have been randomly dropped by this drop process. This counter applies, therefore, only to random droppers. 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 on the relevant interface." ::= { diffServAlgDropEntry 10 } diffServAlgDropStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { diffServAlgDropEntry 11 } diffServAlgDropStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. Setting this variable to 'destroy' when the MIB contains one or more RowPointers pointing to it results in destruction being delayed until the row is no longer used." ::= { diffServAlgDropEntry 12 } -- -- Random Drop Table -- diffServRandomDropNextFree OBJECT-TYPE SYNTAX IndexIntegerNextFree MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains an unused value for diffServRandomDropId, or a zero to indicate that none exist." ::= { diffServAlgDrop 3 }
diffServRandomDropTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServRandomDropEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The random drop table contains entries describing a process that drops packets randomly. Entries in this table are pointed to by diffServAlgDropSpecific." ::= { diffServAlgDrop 4 } diffServRandomDropEntry OBJECT-TYPE SYNTAX DiffServRandomDropEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry describes a process that drops packets according to a random algorithm." INDEX { diffServRandomDropId } ::= { diffServRandomDropTable 1 } DiffServRandomDropEntry ::= SEQUENCE { diffServRandomDropId IndexInteger, diffServRandomDropMinThreshBytes Unsigned32, diffServRandomDropMinThreshPkts Unsigned32, diffServRandomDropMaxThreshBytes Unsigned32, diffServRandomDropMaxThreshPkts Unsigned32, diffServRandomDropProbMax Unsigned32, diffServRandomDropWeight Unsigned32, diffServRandomDropSamplingRate Unsigned32, diffServRandomDropStorage StorageType, diffServRandomDropStatus RowStatus } diffServRandomDropId OBJECT-TYPE SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that enumerates the Random Drop entries. Managers obtain new values for row creation in this table by reading diffServRandomDropNextFree." ::= { diffServRandomDropEntry 1 } diffServRandomDropMinThreshBytes OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "bytes" MAX-ACCESS read-create STATUS current
DESCRIPTION "The 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." ::= { diffServRandomDropEntry 2 } diffServRandomDropMinThreshPkts OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "packets" MAX-ACCESS read-create STATUS current DESCRIPTION "The 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." ::= { diffServRandomDropEntry 3 } diffServRandomDropMaxThreshBytes OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "bytes" MAX-ACCESS read-create STATUS current DESCRIPTION "The average queue depth beyond which traffic has a probability indicated by diffServRandomDropProbMax 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." ::= { diffServRandomDropEntry 4 } diffServRandomDropMaxThreshPkts OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) UNITS "packets" MAX-ACCESS read-create STATUS current DESCRIPTION "The average queue depth beyond which traffic has a probability indicated by diffServRandomDropProbMax 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." ::= { diffServRandomDropEntry 5 } diffServRandomDropProbMax OBJECT-TYPE
SYNTAX Unsigned32 (0..1000) MAX-ACCESS read-create STATUS current DESCRIPTION "The worst case random drop probability, expressed in drops per thousand packets. For example, if in the worst case every arriving packet may be dropped (100%) for a period, this has the value 1000. Alternatively, if in the worst case only one percent (1%) of traffic may be dropped, it has the value 10." ::= { diffServRandomDropEntry 6 } diffServRandomDropWeight OBJECT-TYPE SYNTAX Unsigned32 (0..65536) MAX-ACCESS read-create STATUS current DESCRIPTION "The weighting of past history in affecting the Exponentially Weighted Moving Average function that calculates the current average queue depth. The equation uses diffServRandomDropWeight/65536 as the coefficient for the new sample in the equation, and (65536 - diffServRandomDropWeight)/65536 as the coefficient of the old value. Implementations may limit the values of diffServRandomDropWeight to a subset of the possible range of values, such as powers of two. Doing this would facilitate implementation of the Exponentially Weighted Moving Average using shift instructions or registers." ::= { diffServRandomDropEntry 7 } diffServRandomDropSamplingRate OBJECT-TYPE SYNTAX Unsigned32 (0..1000000) MAX-ACCESS read-create STATUS current DESCRIPTION "The number of times per second the queue is sampled for queue average calculation. A value of zero is used to mean that the queue is sampled approximately each time a packet is enqueued (or dequeued)." ::= { diffServRandomDropEntry 8 } diffServRandomDropStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current
DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { diffServRandomDropEntry 9 } diffServRandomDropStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. Setting this variable to 'destroy' when the MIB contains one or more RowPointers pointing to it results in destruction being delayed until the row is no longer used." ::= { diffServRandomDropEntry 10 } -- -- Queue Table -- diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 } -- -- An entry of diffServQTable represents a FIFO queue Differentiated -- Services Functional Data Path element as described in the Informal -- Differentiated Services Model section 7.1.1. Note that the -- specification of scheduling parameters for a queue as part of the -- input to a scheduler functional data path element as described in -- the Informal Differentiated Services Model section 7.1.2. This -- allows building of hierarchical queuing/scheduling. A queue -- therefore has these attributes: -- -- 1. Which scheduler will service this queue, diffServQNext. -- 2. How the scheduler will service this queue, with respect -- to all the other queues the same scheduler needs to service, -- diffServQMinRate. -- -- Note that upstream Differentiated Services Functional Data Path -- elements may point to a shared diffServQTable entry as described -- in the Informal Differentiated Services Model section 7.1.1. -- diffServQNextFree OBJECT-TYPE SYNTAX IndexIntegerNextFree MAX-ACCESS read-only
STATUS current DESCRIPTION "This object contains an unused value for diffServQId, or a zero to indicate that none exist." ::= { diffServQueue 1 } diffServQTable OBJECT-TYPE SYNTAX SEQUENCE OF DiffServQEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Queue Table enumerates the individual queues. Note that the MIB models queuing systems as composed of individual queues, one per class of traffic, even though they may in fact be structured as classes of traffic scheduled using a common calendar queue, or in other ways." ::= { diffServQueue 2 } diffServQEntry OBJECT-TYPE SYNTAX DiffServQEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the Queue Table describes a single queue or class of traffic." INDEX { diffServQId } ::= { diffServQTable 1 } DiffServQEntry ::= SEQUENCE { diffServQId IndexInteger, diffServQNext RowPointer, diffServQMinRate RowPointer, diffServQMaxRate RowPointer, diffServQStorage StorageType, diffServQStatus RowStatus } diffServQId OBJECT-TYPE SYNTAX IndexInteger MAX-ACCESS not-accessible STATUS current DESCRIPTION "An index that enumerates the Queue entries. Managers obtain new values for row creation in this table by reading diffServQNextFree." ::= { diffServQEntry 1 } diffServQNext OBJECT-TYPE
SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This selects the next Differentiated Services Scheduler. The RowPointer must point to a diffServSchedulerEntry. A value of zeroDotZero in this attribute indicates an incomplete diffServQEntry instance. In such a case, the entry has no operational effect, since it has no parameters to give it meaning. Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero." ::= { diffServQEntry 2 } diffServQMinRate OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This RowPointer indicates the diffServMinRateEntry that the scheduler, pointed to by diffServQNext, should use to service this queue. If the row pointed to is zeroDotZero, the minimum rate and priority is unspecified. Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero." ::= { diffServQEntry 3 } diffServQMaxRate OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-create STATUS current DESCRIPTION "This RowPointer indicates the diffServMaxRateEntry that the scheduler, pointed to by diffServQNext, should use to service this queue. If the row pointed to is zeroDotZero, the maximum rate is the line speed of the interface.
Setting this to point to a target that does not exist results in an inconsistentValue error. If the row pointed to is removed or becomes inactive by other means, the treatment is as if this attribute contains a value of zeroDotZero." ::= { diffServQEntry 4 } diffServQStorage OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' need not allow write-access to any columnar objects in the row." DEFVAL { nonVolatile } ::= { diffServQEntry 5 } diffServQStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this conceptual row. All writable objects in this row may be modified at any time. Setting this variable to 'destroy' when the MIB contains one or more RowPointers pointing to it results in destruction being delayed until the row is no longer used." ::= { diffServQEntry 6 } -- -- Scheduler Table -- diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 } -- -- A Scheduler Entry represents a packet scheduler, such as a priority -- scheduler or a WFQ scheduler. It provides flexibility for multiple -- scheduling algorithms, each servicing multiple queues, to be used on -- the same logical/physical interface. -- -- Note that upstream queues or schedulers specify several of the -- scheduler's parameters. These must be properly specified if the -- scheduler is to behave as expected. -- -- The diffServSchedulerMaxRate attribute specifies the parameters when -- a scheduler's output is sent to another scheduler. This is used in -- building hierarchical queues or schedulers.