draft-ietf-diffserv-mib-13.txt   draft-ietf-diffserv-mib-14.txt 
Internet Engineering Task Force F. Baker Internet Engineering Task Force F. Baker
Diffserv Working Group Cisco Systems Diffserv Working Group Cisco Systems
INTERNET-DRAFT K. Chan INTERNET-DRAFT K. Chan
Expires March 2002 Nortel Networks Expires April 2002 Nortel Networks
draft-ietf-diffserv-mib-13.txt A. Smith draft-ietf-diffserv-mib-14.txt A. Smith
Allegro Networks Allegro Networks
September 2001 October 2001
Management Information Base for the Management Information Base for the
Differentiated Services Architecture Differentiated Services Architecture
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with all This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC 2026. Internet-Drafts are working provisions of Section 10 of RFC 2026. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas, and documents of the Internet Engineering Task Force (IETF), its areas, and
its working groups. Note that other groups may also distribute working its working groups. Note that other groups may also distribute working
skipping to change at page 7, line 46 skipping to change at page 7, line 46
rule is to be applied, and a "next" pointer directing traffic matching rule is to be applied, and a "next" pointer directing traffic matching
the classifier to the next functional data path element. If the "next" the classifier to the next functional data path element. If the "next"
pointer is zeroDotZero, the indication is that there is no further pointer is zeroDotZero, the indication is that there is no further
differentiated services processing for this behavior aggregate. If the differentiated services processing for this behavior aggregate. If the
"specific" pointer is zeroDotZero, however, the device is misconfigured. "specific" pointer is zeroDotZero, however, the device is misconfigured.
In such a case, the classifier element should be operationally treated In such a case, the classifier element should be operationally treated
as if it were not present. as if it were not present.
When the MIB is used for configuration, diffServClfrNextFree and When the MIB is used for configuration, diffServClfrNextFree and
diffServClfrElementNextFree always contain legal values for diffServClfrElementNextFree always contain legal values for
diffServClfrId and diffServClfrElementClfrId that are not currently used diffServClfrId and diffServClfrElementId that are not currently used in
in the system's configuration. The values are validated when creating the system's configuration. The values are validated when creating
diffServClfrId and diffServClfrElementClfrId, and in the event of a diffServClfrId and diffServClfrElementId, and in the event of a failure
failure (which would happen if two managers simultaneously attempted to (which would happen if two managers simultaneously attempted to create
create an entry) must be re-read. diffServClfrElementClfrId must not be an entry) must be re-read.
read before diffServClfrId, but the two may be read in the same GET, in
order to avoid such collisions..
3.2.2. diffServMultiFieldClfrTable - The Multi-field Classifier Table 3.2.2. diffServMultiFieldClfrTable - The Multi-field Classifier Table
This MIB defines a single parameter type for classification, the Multi- This MIB defines a single parameter type for classification, the Multi-
field Classifier. As a parameter, a filter may be specified once and field Classifier. As a parameter, a filter may be specified once and
applied to many interfaces, using diffServClfrElementSpecific. This applied to many interfaces, using diffServClfrElementSpecific. This
filter matches: filter matches:
o IP source address prefix, including host, CIDR Prefix, and "any o IP source address prefix, including host, CIDR Prefix, and "any
source address" source address"
skipping to change at page 9, line 9 skipping to change at page 9, line 4
and diffServClfrElementSpecific configured to point to it. and diffServClfrElementSpecific configured to point to it.
When the MIB is used for configuration, diffServMultiFieldClfrNextFree When the MIB is used for configuration, diffServMultiFieldClfrNextFree
always contains a legal value for diffServMultiFieldClfrId that is not always contains a legal value for diffServMultiFieldClfrId that is not
currently used in the system's configuration. currently used in the system's configuration.
3.3. Metering Traffic 3.3. Metering Traffic
As discussed in [MODEL], a meter and a shaper are functions that operate As discussed in [MODEL], a meter and a shaper are functions that operate
on opposing ends of a link. A shaper schedules traffic for transmission on opposing ends of a link. A shaper schedules traffic for transmission
at specific times in order to approximate a particular line speed or at specific times in order to approximate a particular line speed or
combination of line speeds. In its simplest form, if the traffic stream combination of line speeds. In its simplest form, if the traffic stream
contains constant sized packet, it might transmit one packet per unit contains constant sized packet, it might transmit one packet per unit
time to build the equivalent of a CBR circuit. However, various factors time to build the equivalent of a CBR circuit. However, various factors
intervene to make the approximation inexact; multiple classes of traffic intervene to make the approximation inexact; multiple classes of traffic
may occasionally schedule their traffic and the same time, the variable may occasionally schedule their traffic at the same time, the variable
length nature of IP traffic may introduce variation, and factors in the length nature of IP traffic may introduce variation, and factors in the
link or physical layer may change traffic timing. A meter integrates link or physical layer may change traffic timing. A meter integrates
the arrival rate of traffic and determines whether the shaper at the far the arrival rate of traffic and determines whether the shaper at the far
end was correctly applied, or whether the behavior of the application in end was correctly applied, or whether the behavior of the application in
question is naturally close enough to such behavior to be acceptable question is naturally close enough to such behavior to be acceptable
under a given policy. under a given policy.
A common type of meter is a Token Bucket meter, such as [SRTCM] or A common type of meter is a Token Bucket meter, such as [srTCM] or
[TRTCM]. This type of meter assumes the use of a shaper at a previous [trTCM]. This type of meter assumes the use of a shaper at a previous
node; applications which send at a constant rate when sending may node; applications which send at a constant rate when sending may
conform if the token bucket is properly specified. It specifies the conform if the token bucket is properly specified. It specifies the
acceptable arrival rate and quantifies the acceptable variability, often acceptable arrival rate and quantifies the acceptable variability, often
by specifying a burst size or an interval; since rate = quantity/time, by specifying a burst size or an interval; since rate = quantity/time,
specifying any two of those parameters implies the third, and a large specifying any two of those parameters implies the third, and a large
interval provides for a forgiving system. Multiple rates may be interval provides for a forgiving system. Multiple rates may be
specified, as in AF, such that a subset of the traffic (up to one rate) specified, as in AF, such that a subset of the traffic (up to one rate)
is accepted with one set of guarantees, and traffic in excess of that is accepted with one set of guarantees, and traffic in excess of that
but below another rate has a different set of guarantees. Other types but below another rate has a different set of guarantees. Other types
of meters exist as well. of meters exist as well.
skipping to change at page 10, line 29 skipping to change at page 10, line 23
When the MIB is used for configuration, diffServMeterNextFree always When the MIB is used for configuration, diffServMeterNextFree always
contains a legal value for diffServMeterId that is not currently used in contains a legal value for diffServMeterId that is not currently used in
the system's configuration. the system's configuration.
3.3.2. diffServTBParamTable - The Token Bucket Parameters Table 3.3.2. diffServTBParamTable - The Token Bucket Parameters Table
The Token Bucket Parameters Table is a set of parameters that define a The Token Bucket Parameters Table is a set of parameters that define a
Token Bucket Meter. As a parameter, a token bucket may be specified Token Bucket Meter. As a parameter, a token bucket may be specified
once and applied to many interfaces, using diffServMeterSpecific. once and applied to many interfaces, using diffServMeterSpecific.
Specifically, several modes of [SRTCM] and [TRTCM] are addressed. Other Specifically, several modes of [srTCM] and [trTCM] are addressed. Other
varieties of meters may be specified in other MIB modules. varieties of meters may be specified in other MIB modules.
In general, if a Token Bucket has N rates, it has N+1 potential outcomes In general, if a Token Bucket has N rates, it has N+1 potential outcomes
- the traffic stream is slower than and therefore conforms to all of the - the traffic stream is slower than and therefore conforms to all of the
rates, it fails the first few but is slower than and therefore conforms rates, it fails the first few but is slower than and therefore conforms
to the higher rates, or it fails all of them. As such, multi-rate to the higher rates, or it fails all of them. As such, multi-rate
meters should specify those rates in monotonically increasing order, meters should specify those rates in monotonically increasing order,
passing through the diffServMeterFailNext from more committed to more passing through the diffServMeterFailNext from more committed to more
excess rates, and finally falling through diffServMeterFailNext to the excess rates, and finally falling through diffServMeterFailNext to the
set of actions that apply to traffic which conforms to none of the set of actions that apply to traffic which conforms to none of the
skipping to change at page 12, line 31 skipping to change at page 12, line 29
packets, and counts the drops. Classified as an action, it is in effect packets, and counts the drops. Classified as an action, it is in effect
a method which applies a packet to a queue, and may modify either. When a method which applies a packet to a queue, and may modify either. When
the algorithm is "always drop", this is simple; when the algorithm calls the algorithm is "always drop", this is simple; when the algorithm calls
for head-drop, tail-drop, or a variety of Active Queue Management, the for head-drop, tail-drop, or a variety of Active Queue Management, the
queue is inspected, and in the case of Active Queue Management, queue is inspected, and in the case of Active Queue Management,
additional parameters are required. additional parameters are required.
What may not be clear from the name is that an Algorithmic Drop action What may not be clear from the name is that an Algorithmic Drop action
often does not drop traffic. Algorithms other than "always drop" often does not drop traffic. Algorithms other than "always drop"
normally drop a few percent of packets at most. The action inspects the normally drop a few percent of packets at most. The action inspects the
diffServQEntry that diffSeervAlgQMeasure points to in to determine diffServQEntry that diffServAlgDropQMeasure points to in order to
whether the packet should be dropped. determine whether the packet should be dropped.
When the MIB is used for configuration, diffServAlgDropNextFree always When the MIB is used for configuration, diffServAlgDropNextFree always
contains a legal value for diffServAlgDropId that is not currently used contains a legal value for diffServAlgDropId that is not currently used
in the system's configuration. in the system's configuration.
3.4.5. diffServRandomDropTable - The Random Drop Parameters Table 3.4.5. diffServRandomDropTable - The Random Drop Parameters Table
The Random Drop Table is an extension of the Algorithmic Drop Table The Random Drop Table is an extension of the Algorithmic Drop Table
intended for use on queues whose depth is actively managed. Active intended for use on queues whose depth is actively managed. Active
Queue Management algorithms are typified by [RED93], but the parameters Queue Management algorithms are typified by [RED93], but the parameters
they use vary. It was deemed for the purposes of this MIB that the they use vary. It was deemed for the purposes of this MIB that the
proper values to represent include: proper values to represent include:
o Target case mean queue depth, expressed in bytes or packets o Target case mean queue depth, expressed in bytes or packets
o Worst case mean queue depth, expressed in bytes or packets
o Worst case mean queue depth, expressed in bytes or packets
o Maximum drop rate expressed as drops per thousand o Maximum drop rate expressed as drops per thousand
o Coefficient of an exponentially weighted moving average, o Coefficient of an exponentially weighted moving average,
expressed as the numerator of a fraction whose denominator is expressed as the numerator of a fraction whose denominator is
65536. 65536.
o Sampling rate o Sampling rate
An example of the representation chosen in this MIB for this element is An example of the representation chosen in this MIB for this element is
shown in Figure 1. shown in Figure 1.
skipping to change at page 13, line 34 skipping to change at page 13, line 32
this is different from Tail Drop because this uses an averaged queue this is different from Tail Drop because this uses an averaged queue
length, although it is possible for Qclip to equal Qmax. length, although it is possible for Qclip to equal Qmax.
In the MIB module, diffServRandomDropMinThreshBytes and In the MIB module, diffServRandomDropMinThreshBytes and
diffServRandomDropMinThreshPkts represent Qmin. diffServRandomDropMinThreshPkts represent Qmin.
diffServRandomDropMaxThreshBytes and diffServRandomDropMaxThreshPkts diffServRandomDropMaxThreshBytes and diffServRandomDropMaxThreshPkts
represent Qmax. diffServAlgDropQThreshold represents Qclip. represent Qmax. diffServAlgDropQThreshold represents Qclip.
diffServRandomDropInvProbMax represents Pmax (inverse). This MIB does diffServRandomDropInvProbMax represents Pmax (inverse). This MIB does
not represent Pmin (assumed to be zero unless otherwise represented). not represent Pmin (assumed to be zero unless otherwise represented).
In addition, since message memory is finite, queues generally have some In addition, since message memory is finite, queues generally have some
upper bound above which they are incapable of storing additional
traffic. Normally this number is equal to Qclip, specified by
AlgDrop Queue AlgDrop Queue
+-----------------+ +-------+ +-----------------+ +-------+
--->| Next ---------+--+------------------->| Next -+--> ... --->| Next ---------+--+------------------->| Next -+--> ...
| QMeasure -------+--+ | ... | | QMeasure -------+--+ | ... |
| QThreshold | RandomDrop +-------+ | QThreshold | RandomDrop +-------+
| Type=randomDrop | +----------------+ | Type=randomDrop | +----------------+
| Specific -------+---->| MinThreshBytes | | Specific -------+---->| MinThreshBytes |
+-----------------+ | MaxThreshBytes | +-----------------+ | MaxThreshBytes |
| ProbMax | | ProbMax |
| Weight | | Weight |
| SamplingRate | | SamplingRate |
+----------------+ +----------------+
Figure 1: Example Use of the RandomDropTable for Random Droppers Figure 1: Example Use of the RandomDropTable for Random Droppers
upper bound above which they are incapable of storing additional
traffic. Normally this number is equal to Qclip, specified by
diffServAlgDropQThreshold. diffServAlgDropQThreshold.
Each random dropper specification is associated with a queue. This Each random dropper specification is associated with a queue. This
allows multiple drop processes (of same or different types) to be allows multiple drop processes (of same or different types) to be
associated with the same queue, as different PHB implementations may associated with the same queue, as different PHB implementations may
require. This also allows for sequences of multiple droppers if require. This also allows for sequences of multiple droppers if
necessary. necessary.
The calculation of a smoothed queue length may also have an important The calculation of a smoothed queue length may also have an important
bearing on the behavior of the dropper: parameters may include the bearing on the behavior of the dropper: parameters may include the
skipping to change at page 16, line 42 skipping to change at page 16, line 41
For representing a Strict Priority scheduler, each scheduler input is For representing a Strict Priority scheduler, each scheduler input is
assigned a priority with respect to all the other inputs feeding the assigned a priority with respect to all the other inputs feeding the
same scheduler, with default values for the other parameters. Higher- same scheduler, with default values for the other parameters. Higher-
priority traffic that is not being delayed for shaping will be serviced priority traffic that is not being delayed for shaping will be serviced
before a lower-priority input. An example is found in Figure 2. before a lower-priority input. An example is found in Figure 2.
For weighted scheduling methods, such as WFQ or WRR, the "weight" of a For weighted scheduling methods, such as WFQ or WRR, the "weight" of a
given scheduler input is represented with a Minimum Service Rate leaky- given scheduler input is represented with a Minimum Service Rate leaky-
bucket profile which provides guaranteed minimum bandwidth to that bucket profile which provides guaranteed minimum bandwidth to that
input, if required. This is represented by a rate diffServMinRateAbs; input, if required. This is represented by a rate
the classical weight is the ratio between that rate and the interface diffServMinRateAbsolute; the classical weight is the ratio between that
speed, or perhaps the ratio between that rate and the sum of the rate and the interface speed, or perhaps the ratio between that rate and
configured rates for classes. The rate may be represented by a relative the sum of the configured rates for classes. The rate may be
value, as a fraction of the interface's current line rate, represented by a relative value, as a fraction of the interface's
diffServMinRateRel, to assist in cases where line rates are variable or current line rate, diffServMinRateRelative, to assist in cases where
where a higher-level policy might be expressed in terms of fractions of line rates are variable or where a higher-level policy might be
network resources. The two rate parameters are inter-related and expressed in terms of fractions of network resources. The two rate
parameters are inter-related and changes in one may be reflected in the
+-----+ +-----+
+-------+ | P S | +-------+ | P S |
| Queue +------------>+ r c | | Queue +------------>+ r c |
+-------+-+--------+ | i h | +-------+-+--------+ | i h |
|Priority| | o e | |Priority| | o e |
+--------+ | r d +-----------> +--------+ | r d +----------->
+-------+ | i u | +-------+ | i u |
| Queue +------------>+ t l | | Queue +------------>+ t l |
+-------+-+--------+ | y e | +-------+-+--------+ | y e |
|Priority| | r | |Priority| | r |
+--------+ +-----+ +--------+ +-----+
Figure 2: Priority Scheduler with two queues Figure 2: Priority Scheduler with two queues
changes in one may be reflected in the other. An example is found in other. An example is found in figure 3.
figure 3.
For weighted scheduling methods, one can say loosely, that WRR focuses For weighted scheduling methods, one can say loosely, that WRR focuses
on meeting bandwidth sharing, without concern for relative delay amongst on meeting bandwidth sharing, without concern for relative delay amongst
the queues; where WFQ control both queue service order and amount of the queues; where WFQ controls both queue the service order and the
traffic serviced, providing bandwidth sharing and relative delay amount of traffic serviced, providing bandwidth sharing and relative
ordering amongst the queues. delay ordering amongst the queues.
A queue or scheduled set of queues (which is an input to a scheduler) A queue or scheduled set of queues (which is an input to a scheduler)
may also be capable of acting as a non-work-conserving [MODEL] traffic may also be capable of acting as a non-work-conserving [MODEL] traffic
shaper: this is done by defining a Maximum Service Rate leaky-bucket shaper: this is done by defining a Maximum Service Rate leaky-bucket
profile in order to limit the scheduler bandwidth available to that profile in order to limit the scheduler bandwidth available to that
input. This is represented by a rate, in diffServMaxRateAbs; the input. This is represented by a rate, in diffServMaxRateAbsolute; the
classical weight is the ratio between that rate and the interface speed,
+-----+ +-----+
+-------+ | W S | +-------+ | W S |
| Queue +------------>+ R c | | Queue +------------>+ R c |
+-------+-+--------+ | R h | +-------+-+--------+ | R h |
| Rate | | e | | Rate | | e |
+--------+ | o d +-----------> +--------+ | o d +----------->
+-------+ | r u | +-------+ | r u |
| Queue +------------>+ l | | Queue +------------>+ l |
+-------+-+--------+ | W e | +-------+-+--------+ | W e |
| Rate | | F r | | Rate | | F r |
+--------+ | Q | +--------+ | Q |
+-----+ +-----+
Figure 3: WRR or WFQ rate-based scheduler with two inputs Figure 3: WRR or WFQ rate-based scheduler with two inputs
classical weight is the ratio between that rate and the interface speed,
or perhaps the ratio between that rate and the sum of the configured or perhaps the ratio between that rate and the sum of the configured
rates for classes. The rate may be represented by a relative value, as rates for classes. The rate may be represented by a relative value, as
a fraction of the interface's current line rate, diffServMaxRateRel. a fraction of the interface's current line rate,
This MIB presumes that shaping is something a scheduler does to its diffServMaxRateRelative. This MIB presumes that shaping is something a
inputs, which it models as a queue with a maximum rate or a scheduler scheduler does to its inputs, which it models as a queue with a maximum
whose output has a maximum rate. rate or a scheduler whose output has a maximum rate.
The same may be done on a queue, if a given class is to be shaped to a The same may be done on a queue, if a given class is to be shaped to a
maximum rate without shaping other classes, as in Figure 5. maximum rate without shaping other classes, as in Figure 5.
Other types of priority and weighted scheduling methods can be defined Other types of priority and weighted scheduling methods can be defined
using existing parameters in diffServMinRateEntry. NOTE: using existing parameters in diffServMinRateEntry. NOTE:
diffServSchedulerMethod uses OBJECT IDENTIFIER syntax, with the diffServSchedulerMethod uses OBJECT IDENTIFIER syntax, with the
different types of scheduling methods defined as OBJECT-IDENTITY.
+---+ +---+
+-------+ | S | +-------+ | S |
| Queue +------------>+ c | | Queue +------------>+ c |
+-------+-+--------+ | h | +-------+-+--------+ | h |
| | | e +-----------> | | | e +----------->
+--------+ | d +-+-------+ +--------+ | d +-+-------+
| u | |Shaping| | u | |Shaping|
+-------+ | l | | Rate | +-------+ | l | | Rate |
| Queue +------------>+ e | +-------+ | Queue +------------>+ e | +-------+
+-------+-+--------+ | r | +-------+-+--------+ | r |
| | |---+ | | +---+
+--------+ +--------+
Figure 4: Shaping scheduled traffic to a known rate Figure 4: Shaping scheduled traffic to a known rate
+---+ +---+
+-------+ | S | +-------+ | S |
| Queue +------------>+ c | | Queue +------------>+ c |
+-------+-+--------+ | h | +-------+-+--------+ | h |
|Min Rate| | e +-----------> |Min Rate| | e +----------->
+--------+ | d | +--------+ | d |
| u | | u |
+-------+ | l | +-------+ | l |
| Queue +------------>+ e | | Queue +------------>+ e |
+-------+-+--------+ | r | +-------+-+--------+ | r |
|Min Rate| | | |Min Rate| | |
+--------+ | | +--------+ | |
|Max Rate| | | |Max Rate| | |
+--------+ +---+ +--------+ +---+
Figure 5: Shaping one input to a work-conserving scheduler Figure 5: Shaping one input to a work-conserving scheduler
different types of scheduling methods defined as OBJECT-IDENTITY.
Future scheduling methods may be defined in other MIBs. This requires Future scheduling methods may be defined in other MIBs. This requires
an OBJECT-IDENTITY definition, a description of how the existing objects an OBJECT-IDENTITY definition, a description of how the existing objects
are reused, if they are, and any new objects they require. are reused, if they are, and any new objects they require.
To implement an EF and two AF classes, one must use a combination of To implement an EF and two AF classes, one must use a combination of
priority and WRR/WFQ scheduling. This requires us to cascade two priority and WRR/WFQ scheduling. This requires us to cascade two
schedulers. If one were to additionally shape the output of the system schedulers. If one were to additionally shape the output of the system
to a rate lower than the interface rate, one must place an upper bound to a rate lower than the interface rate, one must place an upper bound
rate on the output of the priority scheduler. See figure 6. rate on the output of the priority scheduler. See figure 6.
skipping to change at page 20, line 16 skipping to change at page 20, line 16
| diffServDataPathStart | | diffServDataPathStart |
+-----------+-----------+ +-----------+-----------+
| |
+----------+ +----------+
| |
+--+--+ +-----+ +-----+ +-----+ +-----+ +--+--+ +-----+ +-----+ +-----+ +-----+
| AF1 +-----+ AF2 +-----+ AF3 +-----+ AF4 +-----+ EF | | AF1 +-----+ AF2 +-----+ AF3 +-----+ AF4 +-----+ EF |
+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+
| | | | | | | | | |
+--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+ +--+--+
|TRTCM| |TRTCM| |TRTCM| |TRTCM| |srTCM| |trTCM| |trTCM| |trTCM| |trTCM| |srTCM|
|Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter|
|-+++-| |-+++-| |-+++-| |-+++-| +-+-+-+ +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+
||| ||| ||| ||| | | ||| ||| ||| ||| | |
+-+||---+ +-+||---+ +-+||---+ +-+||---+ +-+-|---+ +-+||---+ +-+||---+ +-+||---+ +-+||---+ +-+-|---+
|+-+|----+ |+-+|----+ |+-+|----+ |+-+|----+ |+--+----+ |+-+|----+ |+-+|----+ |+-+|----+ |+-+|----+ |+--+----+
||+-+-----+ ||+-+-----+ ||+-+-----+ ||+-+-----+ ||Actions| ||+-+-----+ ||+-+-----+ ||+-+-----+ ||+-+-----+ ||Actions|
+||Actions| +||Actions| +||Actions| +||Actions| +| | +||Actions| +||Actions| +||Actions| +||Actions| +| |
+| | +| | +| | +| | +-+-----+ +| | +| | +| | +| | +-+-----+
+-+-----+ +-+-----+ +-+-----+ +-+-----+ | +-+-----+ +-+-----+ +-+-----+ +-+-----+ |
||| ||| ||| ||| | ||| ||| ||| ||| |
VVV VVV VVV VVV V VVV VVV VVV VVV V
skipping to change at page 22, line 23 skipping to change at page 22, line 23
3.6.1.3. EF Implementation On an Ingress Edge Interface 3.6.1.3. EF Implementation On an Ingress Edge Interface
The EF class applies a Single Rate Two Color Meter, dividing traffic The EF class applies a Single Rate Two Color Meter, dividing traffic
into "conforming" and "excess" groups. The intent, on the ingress into "conforming" and "excess" groups. The intent, on the ingress
interface at the edge of the network, is to measure and appropriately interface at the edge of the network, is to measure and appropriately
mark conforming traffic and drop the excess. mark conforming traffic and drop the excess.
3.6.1.3.1. EF Metering On an Ingress Edge Interface 3.6.1.3.1. EF Metering On an Ingress Edge Interface
A single rate two color (SRTCM) meter requires one token bucket. It is A single rate two color (srTCM) meter requires one token bucket. It is
therefore configured using a single meter entry with a corresponding therefore configured using a single meter entry with a corresponding
Token Bucket Parameter Entry. Arriving traffic either "succeeds" or Token Bucket Parameter Entry. Arriving traffic either "succeeds" or
"fails". "fails".
3.6.1.3.2. EF Actions On an Ingress Edge Interface 3.6.1.3.2. EF Actions On an Ingress Edge Interface
For network planning and perhaps for billing purposes, arriving traffic For network planning and perhaps for billing purposes, arriving traffic
that conforms to the meter is normally counted. Therefore, a "count" that conforms to the meter is normally counted. Therefore, a "count"
action, consisting of an action table entry pointing to a count table action, consisting of an action table entry pointing to a count table
entry, is configured. entry, is configured.
skipping to change at page 23, line 21 skipping to change at page 23, line 21
information. If it is relevant, there is no reason not to use that information. If it is relevant, there is no reason not to use that
+-----------------------+ +-----------------------+
| diffServDataPathStart | | diffServDataPathStart |
+-----------+-----------+ +-----------+-----------+
| |
+----------+ +----------+
| |
+--+--+ +-----+ +-----+ +-----+ +-----+ +--+--+ +-----+ +-----+ +-----+ +-----+
| AF1 +-----+ AF2 +-----+ AF3 +-----+ AF4 +-----+ EF | | AF1 +-----+ AF2 +-----+ AF3 +-----+ AF4 +-----+ EF |
|-+++-| |-+++-| |-+++-| |-+++-| +-+-+-+ +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+
||| ||| ||| ||| | | ||| ||| ||| ||| | |
|-+++-| |-+++-| |-+++-| |-+++-| +-+-+-+ +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+
|TRTCM| |TRTCM| |TRTCM| |TRTCM| |srTCM| |trTCM| |trTCM| |trTCM| |trTCM| |srTCM|
|Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter| |Meter|
|-+++-| |-+++-| |-+++-| |-+++-| +-+-+-+ +-+++-+ +-+++-+ +-+++-+ +-+++-+ +-+-+-+
||| ||| ||| ||| | | ||| ||| ||| ||| | |
+-+||---+ +-+||---+ +-+||---+ +-+||---+ +-+-|---+ +-+||---+ +-+||---+ +-+||---+ +-+||---+ +-+-|---+
|+-+|----+ |+-+|----+ |+-+|----+ |+-+|----+ |+--+----+ |+-+|----+ |+-+|----+ |+-+|----+ |+-+|----+ |+--+----+
||+-+-----+ ||+-+-----+ ||+-+-----+ ||+-+-----+ ||Actions| ||+-+-----+ ||+-+-----+ ||+-+-----+ ||+-+-----+ ||Actions|
+||Actions| +||Actions| +||Actions| +||Actions| +| | +||Actions| +||Actions| +||Actions| +||Actions| +| |
+| | +| | +| | +| | +-+-----+ +| | +| | +| | +| | +-+-----+
+-+-----+ +-+-----+ +-+-----+ +-+-----+ | +-+-----+ +-+-----+ +-+-----+ +-+-----+ |
||| ||| ||| ||| | ||| ||| ||| ||| |
+-+++--+ +-+++--+ +-+++--+ +-+++--+ +--+---+ +-+++--+ +-+++--+ +-+++--+ +-+++--+ +--+---+
| Queue| | Queue| | Queue| | Queue| | Queue| | Queue| | Queue| | Queue| | Queue| | Queue|
skipping to change at page 25, line 4 skipping to change at page 24, line 50
"excess" rate, S. Any further excess is non-conformant. "excess" rate, S. Any further excess is non-conformant.
Two meter entries are used to configure this, one for the conforming Two meter entries are used to configure this, one for the conforming
rate and one for the excess rate. The rate parameters are stored in rate and one for the excess rate. The rate parameters are stored in
associated Token Bucket Parameter Entries. The "FailNext" pointer of associated Token Bucket Parameter Entries. The "FailNext" pointer of
the lower rate Meter Entry points to the other Meter Entry; both the lower rate Meter Entry points to the other Meter Entry; both
"SucceedNext" pointers and the "FailNext" pointer of the higher Meter "SucceedNext" pointers and the "FailNext" pointer of the higher Meter
Entry point to lists of actions. In the color-blind mode, all three Entry point to lists of actions. In the color-blind mode, all three
classifier "next" entries point to the lower rate meter entry. In the classifier "next" entries point to the lower rate meter entry. In the
color-aware mode, the AFm1 classifier points to the lower rate entry, color-aware mode, the AFm1 classifier points to the lower rate entry,
the AFm2 classifier points to the higher rate entry (as it is only the AFm2 classifier points to the higher rate entry (as it is only
+-----------------------------------------------------+
| Classifier |
+--------+--------------------------------------------+
|Green| Yellow| Red
| | |
+--+-----+-------+--+ Fail +--------------------+
| Meter +------+ Meter |
+--+----------------+ +---+-------+--------+
| Succeed (Green) | |Fail (Red)
| +---------+ |
| | Succeed (Yellow)|
+----+----+ +----+----+ +----+----+
| Count | | Count | | Count |
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+----+----+ +----+----+ +----+----+
|Mark AFx1| |Mark AFx2| |Mark AFx3|
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+----+----+ +----+----+ +----+----+
| Random | | Random | | Random |
| Drop | | Drop | | Drop |
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+--------+-----------------+-----------------+--------+
| Queue |
+--------------------------+--------------------------+
|
+----+----+
| Rate |
|Scheduler|
+----+----+
|
Figure 9a: Typical AF Edge egress interface configuration,
using color-blind meters
+-----------------------------------------------------+
| Classifier |
+--------+--------------------------------------------+
|Green | Yellow | Red
| | |
+----+----+ +----+----+ |
| Count | | Count | |
| Action +-------+ Action +------------+
+----+----+ Fail +----+----+ Fail |
|Succeed |Succeed |
+----+----+ +----+----+ +----+----+
| Count | | Count | | Count |
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+----+----+ +----+----+ +----+----+
|Mark AFx1| |Mark AFx2| |Mark AFx3|
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+----+----+ +----+----+ +----+----+
| Random | | Random | | Random |
| Drop | | Drop | | Drop |
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+--------+-----------------+-----------------+--------+
| Queue |
+--------------------------+--------------------------+
|
+----+----+
| Rate |
|Scheduler|
+----+----+
|
Figure 9b: Typical AF Edge egress interface configuration,
using color-aware meters
+-----------------------------------------------------+
| Classifier |
+--------+-----------------+-----------------+--------+
| Green | Yellow | Red
| | |
+----+----+ +----+----+ +----+----+
| Count | | Count | | Count |
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+----+----+ +----+----+ +----+----+
| Random | | Random | | Random |
| Drop | | Drop | | Drop |
| Action | | Action | | Action |
+----+----+ +----+----+ +----+----+
| | |
+--------+-----------------+-----------------+--------+
| Queue |
+--------------------------+--------------------------+
|
+----+----+
| Rate |
|Scheduler|
+----+----+
|
Figure 10: Typical AF Edge core interface configuration
compared against that rate), and the AFm3 classifier points directly to compared against that rate), and the AFm3 classifier points directly to
the actions taken when both rates fail. the actions taken when both rates fail.
3.7.2.2. AF Actions On an Egress Edge Interface 3.7.2.2. AF Actions On an Egress Edge Interface
For network planning and perhaps for billing purposes, departing traffic For network planning and perhaps for billing purposes, departing traffic
is normally counted. Therefore, a "count" action, consisting of an is normally counted. Therefore, a "count" action, consisting of an
action table entry pointing to a count table entry, is configured. action table entry pointing to a count table entry, is configured.
Also, traffic may be marked with an appropriate DSCP. The first R bits Also, traffic may be marked with an appropriate DSCP. The first R bits
skipping to change at page 26, line 4 skipping to change at page 28, line 30
differ in that over short intervals they will order traffic differently. differ in that over short intervals they will order traffic differently.
In general, traffic classes that keep traffic in queue will tend to In general, traffic classes that keep traffic in queue will tend to
absorb latency from queues with lower mean occupancy, in exchange for absorb latency from queues with lower mean occupancy, in exchange for
which they make use of any available capacity. which they make use of any available capacity.
3.7.3. EF Implementation On an Egress Edge Interface 3.7.3. EF Implementation On an Egress Edge Interface
The EF class applies a Single Rate Two Color Meter, dividing traffic The EF class applies a Single Rate Two Color Meter, dividing traffic
into "conforming" and "excess" groups. The intent, on the egress into "conforming" and "excess" groups. The intent, on the egress
interface at the edge of the network, is to measure and appropriately interface at the edge of the network, is to measure and appropriately
mark conforming traffic and drop the excess. mark conforming traffic and drop the excess.
3.7.3.1. EF Metering On an Egress Edge Interface 3.7.3.1. EF Metering On an Egress Edge Interface
A single rate two color (SRTCM) meter requires one token bucket. It is A single rate two color (srTCM) meter requires one token bucket. It is
therefore configured using a single meter entry with a corresponding therefore configured using a single meter entry with a corresponding
Token Bucket Parameter Entry. Arriving traffic either "succeeds" or Token Bucket Parameter Entry. Arriving traffic either "succeeds" or
"fails". "fails".
3.7.3.2. EF Actions On an Egress Edge Interface 3.7.3.2. EF Actions On an Egress Edge Interface
For network planning and perhaps for billing purposes, departing traffic For network planning and perhaps for billing purposes, departing traffic
that conforms to the meter is normally counted. Therefore, a "count" that conforms to the meter is normally counted. Therefore, a "count"
action, consisting of an action table entry pointing to a count table action, consisting of an action table entry pointing to a count table
entry, is configured. entry, is configured.
Also, traffic is (re)marked with the EF DSCP. Therefore, a "mark" Also, traffic is (re)marked with the EF DSCP. Therefore, a "mark"
action, consisting of an action table entry pointing to a mark table action, consisting of an action table entry pointing to a mark table
entry, is configured. entry, is configured.
+-----------------------------------------------------+
| Classifier |
+-------------------------+---------------------------+
| Voice
|
+-------------+----------+
| Meter |
+----+-------------+-----+
| Succeed | Fail
| |
+----+----+ +----+----+
| Count | | Always |
| Action | | Drop |
+----+----+ | Action |
| +---------+
+----+---------+
| Algorithmic |
| Drop Action |
+----+---------+
|
+----------------+---------------+
| Queue |
+----------------+---------------+
|
+-----+-----+
| Priority |
| Scheduler |
+-----+-----+
Figure 11: Typical EF Edge (Policing) Configuration
+--------------------------------+
| Classifier |
+----------------+---------------+
| Voice
|
+----+----+
| Count |
| Action |
+----+----+
|
+------+-------+
| Algorithmic |
| Drop Action |
+------+-------+
|
+----------------+---------------+
| Queue |
+----------------+---------------+
|
+-----+-----+
| Priority |
| Scheduler |
+-----+-----+
Figure 12: Typical EF Core interface Configuration
At this point, the successful traffic is now queued for transmission, At this point, the successful traffic is now queued for transmission,
using a priority queue or perhaps a rate-based queue with significant using a priority queue or perhaps a rate-based queue with significant
over-provision. Since the amount of traffic present is known, one might over-provision. Since the amount of traffic present is known, one might
not drop from this queue at all. not drop from this queue at all.
Traffic that exceeded the policy, however, is dropped. A count action Traffic that exceeded the policy, however, is dropped. A count action
can be used on this traffic if the several counters are interesting. can be used on this traffic if the several counters are interesting.
However, since the drop counter in the Algorithmic Drop Entry will count However, since the drop counter in the Algorithmic Drop Entry will count
packets dropped, this is not clearly necessary. An Alorithmic Drop packets dropped, this is not clearly necessary. An Alorithmic Drop
Entry of the type "alwaysDrop" with no successor is sufficient. Entry of the type "alwaysDrop" with no successor is sufficient.
skipping to change at page 28, line 35 skipping to change at page 32, line 40
A number of conceptual tables defined in this MIB use as an index an A number of conceptual tables defined in this MIB use as an index an
arbitrary integer value, unique across the scope of the agent. In order arbitrary integer value, unique across the scope of the agent. In order
to help with multi-manager row-creation problems, a mechanism must be to help with multi-manager row-creation problems, a mechanism must be
provided to allow a manager to obtain unique values for such an index provided to allow a manager to obtain unique values for such an index
and to ensure that, when used, the manager knows whether it got what it and to ensure that, when used, the manager knows whether it got what it
wanted or not. wanted or not.
Typically, such a table has an associated NextFree variable e.g. Typically, such a table has an associated NextFree variable e.g.
diffServClfrNextFree which provides a suitable value for the index of diffServClfrNextFree which provides a suitable value for the index of
the next row to be created e.g. diffServClfrElementClfrId. The value the next row to be created e.g. diffServClfrId. The value zero is used
zero is used to indicate that the agent can configure no more entries. to indicate that the agent can configure no more entries. The table
The table also has a columnar Status attribute with RowStatus syntax also has a columnar Status attribute with RowStatus syntax [6].
[6].
Generally, if a manager attempts to create a row, using either Generally, if a manager attempts to create a row, the agent will create
createAndGo or createAndWait, the agent will create the row and return the row and return success. If the agent has insufficient resources or
success. If the agent has insufficient resources or such a row already such a row already exists, then it returns an error. A manager must be
exists, then it returns an error. A manager must be prepared to try prepared to try again in such circumstances, probably by re-reading the
again in such circumstances, probably by re-reading the NextFree to NextFree to obtain a new index value in case a second manager had got in
obtain a new index value in case a second manager had got in between the between the first manager's read of the NextFree value and the first
first manager's read of the NextFree value and the first manager's row- manager's row-creation attempt.
creation attempt. The use of RowStatus is covered in more detail in [6].
To simplify management creation and deletion of rows in this MIB, the
agent is expected to assist in maintaining its consistency. It may
accomplish this by maintaining internal usage counters for any row that
might be pointed to by a RowPointer, or by any equivalent means. When a
RowPointer is created or written, and the row it points to does not
exist, the SET returns an inconsistentValue error. When a RowStatus
variable is set to 'destroy' but the usage counter is non-zero, the SET
returns no error but the indicated row is left intact. The agent should
later remove the row in the event that the usage counter becomes zero.
The use of RowStatus is covered in more detail in [6].
5. Extending this MIB 5. Extending this MIB
With the structures of this MIB divided into data path linkage tables With the structures of this MIB divided into data path linkage tables
and parameterization tables, and with the use of RowPointer, new data and parameterization tables, and with the use of RowPointer, new data
path linkage and parameterization tables can be defined in other MIB path linkage and parameterization tables can be defined in other MIB
modules, and used with tables defined in this MIB. This MIB does not modules, and used with tables defined in this MIB. This MIB does not
limit on the type of entries its RowPointer attributes can point to, limit the type of entries its RowPointer attributes can point to, hence
hence new functional data path elements can be defined in other MIBs and new functional data path elements can be defined in other MIBs and
integrated with functional data path elements of this MIB. For example, integrated with functional data path elements of this MIB. For example,
new Action functional data path element can be defined for Traffic new Action functional data path element can be defined for Traffic
Engineering and be integrated with Differentiated Services functional Engineering and be integrated with Differentiated Services functional
data path elements, possibly used within the same data path sharing the data path elements, possibly used within the same data path sharing the
same classifiers and meters. same classifiers and meters.
It is more likely that new parameterization tables will be created in It is more likely that new parameterization tables will be created in
other MIBs as new methods or proprietary methods get deployed for other MIBs as new methods or proprietary methods get deployed for
existing Differentiated Services Functional Data Path Elements. For existing Differentiated Services Functional Data Path Elements. For
example, different kinds of filters can be defined by using new filter example, different kinds of filters can be defined by using new filter
skipping to change at page 30, line 16 skipping to change at page 34, line 16
DIFFSERV-DSCP-TC DEFINITIONS ::= BEGIN DIFFSERV-DSCP-TC DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Integer32, MODULE-IDENTITY, mib-2 Integer32, MODULE-IDENTITY, mib-2
FROM SNMPv2-SMI FROM SNMPv2-SMI
TEXTUAL-CONVENTION TEXTUAL-CONVENTION
FROM SNMPv2-TC; FROM SNMPv2-TC;
diffServDSCPTC MODULE-IDENTITY diffServDSCPTC MODULE-IDENTITY
LAST-UPDATED "200109130000Z" LAST-UPDATED "200110021231Z"
ORGANIZATION "IETF Differentiated Services WG" ORGANIZATION "IETF Differentiated Services WG"
CONTACT-INFO CONTACT-INFO
" Fred Baker " Fred Baker
Cisco Systems Cisco Systems
519 Lado Drive 519 Lado Drive
Santa Barbara, CA 93111, USA Santa Barbara, CA 93111, USA
E-mail: fred@cisco.com E-mail: fred@cisco.com
Kwok Ho Chan Kwok Ho Chan
Nortel Networks Nortel Networks
skipping to change at page 30, line 42 skipping to change at page 34, line 42
Allegro Networks Allegro Networks
6399 San Ignacio Ave 6399 San Ignacio Ave
San Jose, CA 95119, USA San Jose, CA 95119, USA
E-mail: andrew@allegronetworks.com E-mail: andrew@allegronetworks.com
Differentiated Services Working Group: Differentiated Services Working Group:
diffserv@ietf.org" diffserv@ietf.org"
DESCRIPTION DESCRIPTION
"The Textual Conventions defined in this module should be used "The Textual Conventions defined in this module should be used
whenever a Differentiated Services Code Point is used in a MIB." whenever a Differentiated Services Code Point is used in a MIB."
REVISION "200109130000Z" REVISION "200110021231Z"
DESCRIPTION DESCRIPTION
"Initial version, published as RFC xxxx." "Initial version, published as RFC xxxx."
::= { mib-2 xxx } -- to be assigned by IANA ::= { mib-2 xxx } -- to be assigned by IANA
Dscp ::= TEXTUAL-CONVENTION Dscp ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A Differentiated Services Code-Point that may be used for "A Differentiated Services Code-Point that may be used for
marking a traffic stream." marking a traffic stream."
skipping to change at page 32, line 8 skipping to change at page 36, line 8
used to indicate a wild card i.e. any value." used to indicate a wild card i.e. any value."
REFERENCE REFERENCE
"RFC 2474, RFC 2780" "RFC 2474, RFC 2780"
SYNTAX Integer32 (-1 | 0..63) SYNTAX Integer32 (-1 | 0..63)
END END
DIFFSERV-MIB DEFINITIONS ::= BEGIN DIFFSERV-MIB DEFINITIONS ::= BEGIN
IMPORTS IMPORTS
Unsigned32, Counter32, Counter64, Unsigned32, Counter64, MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
MODULE-IDENTITY, OBJECT-TYPE, OBJECT-IDENTITY,
zeroDotZero, mib-2 zeroDotZero, mib-2
FROM SNMPv2-SMI FROM SNMPv2-SMI
TEXTUAL-CONVENTION, RowStatus, RowPointer, TimeStamp, TEXTUAL-CONVENTION, RowStatus, RowPointer,
StorageType, AutonomousType StorageType, AutonomousType
FROM SNMPv2-TC FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF FROM SNMPv2-CONF
ifIndex, InterfaceIndexOrZero ifIndex, InterfaceIndexOrZero
FROM IF-MIB FROM IF-MIB
InetAddressType, InetAddress, InetAddressPrefixLength, InetAddressType, InetAddress, InetAddressPrefixLength,
InetPortNumber InetPortNumber
FROM INET-ADDRESS-MIB FROM INET-ADDRESS-MIB
BurstSize BurstSize
FROM INTEGRATED-SERVICES-MIB FROM INTEGRATED-SERVICES-MIB
Dscp, DscpOrAny Dscp, DscpOrAny
FROM DIFFSERV-DSCP-TC; FROM DIFFSERV-DSCP-TC;
diffServMib MODULE-IDENTITY diffServMib MODULE-IDENTITY
LAST-UPDATED "200109130000Z" LAST-UPDATED "200110021231Z"
ORGANIZATION "IETF Differentiated Services WG" ORGANIZATION "IETF Differentiated Services WG"
CONTACT-INFO CONTACT-INFO
" Fred Baker " Fred Baker
Cisco Systems Cisco Systems
519 Lado Drive 519 Lado Drive
Santa Barbara, CA 93111, USA Santa Barbara, CA 93111, USA
E-mail: fred@cisco.com E-mail: fred@cisco.com
Kwok Ho Chan Kwok Ho Chan
Nortel Networks Nortel Networks
skipping to change at page 33, line 8 skipping to change at page 37, line 7
San Jose, CA 95119, USA San Jose, CA 95119, USA
E-mail: andrew@allegronetworks.com E-mail: andrew@allegronetworks.com
Differentiated Services Working Group: Differentiated Services Working Group:
diffserv@ietf.org" diffserv@ietf.org"
DESCRIPTION DESCRIPTION
"This MIB defines the objects necessary to manage a device that "This MIB defines the objects necessary to manage a device that
uses the Differentiated Services Architecture described in RFC uses the Differentiated Services Architecture described in RFC
2475. The Conceptual Model of a Differentiated Services Router 2475. The Conceptual Model of a Differentiated Services Router
provides supporting information on how such a router is modeled." provides supporting information on how such a router is modeled."
REVISION "200109130000Z" REVISION "200110021231Z"
DESCRIPTION DESCRIPTION
"Initial version, published as RFC xxxx." "Initial version, published as RFC xxxx."
::= { mib-2 xxx } -- to be assigned by IANA ::= { mib-2 xxx } -- to be assigned by IANA
diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 } diffServMIBObjects OBJECT IDENTIFIER ::= { diffServMib 1 }
diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 } diffServMIBConformance OBJECT IDENTIFIER ::= { diffServMib 2 }
diffServMIBAdmin OBJECT IDENTIFIER ::= { diffServMib 3 } diffServMIBAdmin OBJECT IDENTIFIER ::= { diffServMib 3 }
IndexInteger ::= TEXTUAL-CONVENTION IndexInteger ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer which may be used as a table index." "An integer which may be used as a table index."
SYNTAX Unsigned32 (1..2147483647) SYNTAX Unsigned32 (1..4294967295)
IndexIntegerNextFree ::= TEXTUAL-CONVENTION IndexIntegerNextFree ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d" DISPLAY-HINT "d"
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An integer which may be used as a new Index in a table. "An integer which may be used as a new Index in a table.
The special value of 0 indicates that no more new entries can be The special value of 0 indicates that no more new entries can be
created in the relevant table. created in the relevant table.
skipping to change at page 34, line 4 skipping to change at page 37, line 50
(configuration entry) simultaneously and use the same value. If (configuration entry) simultaneously and use the same value. If
it is currently unused, the SET succeeds and the Command it is currently unused, the SET succeeds and the Command
Responder (agent) changes the value of this object, according to Responder (agent) changes the value of this object, according to
an implementation-specific algorithm. If the value is in use, an implementation-specific algorithm. If the value is in use,
however, the SET fails. The Network Management Application must however, the SET fails. The Network Management Application must
then re-read this variable to obtain a new usable value. then re-read this variable to obtain a new usable value.
An OBJECT-TYPE definition using this SYNTAX MUST specify the An OBJECT-TYPE definition using this SYNTAX MUST specify the
relevant table for which the object is providing this relevant table for which the object is providing this
functionality." functionality."
SYNTAX Unsigned32 (0..2147483647) SYNTAX Unsigned32 (0..4294967295)
IfDirection ::= TEXTUAL-CONVENTION IfDirection ::= TEXTUAL-CONVENTION
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"IfDirection specifies a direction of data travel on an "IfDirection specifies a direction of data travel on an
interface. 'inbound' traffic is operated on during reception from interface. 'inbound' traffic is operated on during reception from
the interface, while 'outbound' traffic is operated on prior to the interface, while 'outbound' traffic is operated on prior to
transmission on the interface." transmission on the interface."
SYNTAX INTEGER { SYNTAX INTEGER {
inbound(1), -- ingress interface inbound(1), -- ingress interface
skipping to change at page 35, line 46 skipping to change at page 39, line 46
in this device. These may merge, or be separated into parallel in this device. These may merge, or be separated into parallel
data paths." data paths."
::= { diffServDataPath 1 } ::= { diffServDataPath 1 }
diffServDataPathEntry OBJECT-TYPE diffServDataPathEntry OBJECT-TYPE
SYNTAX DiffServDataPathEntry SYNTAX DiffServDataPathEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the data path table indicates the start of a single "An entry in the data path table indicates the start of a single
Differentiated Services Functional Data Path in this device." Differentiated Services Functional Data Path in this device.
These are associated with individual interfaces, logical or
physical, and therefore are instantiated by ifIndex. Therefore,
the interface index must have been assigned, according to the
procedures applicable to that, before it can be meaningfully
used. Generally, this means that the interface must exist.
When diffServDataPathStorage is of type nonVolatile, however,
this may reflect the configuration for an interface whose ifIndex
has been assigned but for which the supporting implementation is
not currently present."
INDEX { ifIndex, diffServDataPathIfDirection } INDEX { ifIndex, diffServDataPathIfDirection }
::= { diffServDataPathTable 1 } ::= { diffServDataPathTable 1 }
DiffServDataPathEntry ::= SEQUENCE { DiffServDataPathEntry ::= SEQUENCE {
diffServDataPathIfDirection IfDirection, diffServDataPathIfDirection IfDirection,
diffServDataPathStart RowPointer, diffServDataPathStart RowPointer,
diffServDataPathStorage StorageType, diffServDataPathStorage StorageType,
diffServDataPathStatus RowStatus diffServDataPathStatus RowStatus
} }
skipping to change at page 36, line 37 skipping to change at page 40, line 48
diffServMeterEntry diffServMeterEntry
diffServActionEntry diffServActionEntry
diffServAlgDropEntry diffServAlgDropEntry
diffServQEntry diffServQEntry
A value of zeroDotZero in this attribute indicates that no A value of zeroDotZero in this attribute indicates that no
Differentiated Services treatment is performed on traffic of this Differentiated Services treatment is performed on traffic of this
data path. A pointer with the value zeroDotZero normally data path. A pointer with the value zeroDotZero normally
terminates a functional data path. terminates a functional data path.
If the row pointed to does not exist, the treatment is as if this 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." attribute contains a value of zeroDotZero."
::= { diffServDataPathEntry 2 } ::= { diffServDataPathEntry 2 }
diffServDataPathStorage OBJECT-TYPE diffServDataPathStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServDataPathEntry 3 } ::= { diffServDataPathEntry 3 }
diffServDataPathStatus OBJECT-TYPE diffServDataPathStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a row/entry. Any writable variable may be modified row may be modified at any time."
whether the row is active or notInService."
::= { diffServDataPathEntry 4 } ::= { diffServDataPathEntry 4 }
-- --
-- Classifiers -- Classifiers
-- --
diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 } diffServClassifier OBJECT IDENTIFIER ::= { diffServMIBObjects 2 }
-- --
-- Classifier Table -- Classifier Table
skipping to change at page 39, line 27 skipping to change at page 43, line 27
be created on the same SET as the diffServClfrElementEntry, or be created on the same SET as the diffServClfrElementEntry, or
before the diffServClfrElementEntry is created." before the diffServClfrElementEntry is created."
::= { diffServClassifier 2 } ::= { diffServClassifier 2 }
diffServClfrEntry OBJECT-TYPE diffServClfrEntry OBJECT-TYPE
SYNTAX DiffServClfrEntry SYNTAX DiffServClfrEntry
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the classifier table describes a single classifier. "An entry in the classifier table describes a single classifier.
All classifier elements belonging to the same classifier uses the All classifier elements belonging to the same classifier use the
classifier's diffServClfrId in their diffServClfrElementClfrId classifier's diffServClfrId as part of their index."
attribute."
INDEX { diffServClfrId } INDEX { diffServClfrId }
::= { diffServClfrTable 1 } ::= { diffServClfrTable 1 }
DiffServClfrEntry ::= SEQUENCE { DiffServClfrEntry ::= SEQUENCE {
diffServClfrId IndexInteger, diffServClfrId IndexInteger,
diffServClfrStorage StorageType, diffServClfrStorage StorageType,
diffServClfrStatus RowStatus diffServClfrStatus RowStatus
} }
diffServClfrId OBJECT-TYPE diffServClfrId OBJECT-TYPE
skipping to change at page 40, line 7 skipping to change at page 44, line 6
"An index that enumerates the classifier entries. Managers "An index that enumerates the classifier entries. Managers
should obtain new values for row creation in this table by should obtain new values for row creation in this table by
reading diffServClfrNextFree." reading diffServClfrNextFree."
::= { diffServClfrEntry 1 } ::= { diffServClfrEntry 1 }
diffServClfrStorage OBJECT-TYPE diffServClfrStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServClfrEntry 2 } ::= { diffServClfrEntry 2 }
diffServClfrStatus OBJECT-TYPE diffServClfrStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a classifier. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServClfrEntry 3 } ::= { diffServClfrEntry 3 }
-- --
-- Classifier Element Table -- Classifier Element Table
-- --
diffServClfrElementNextFree OBJECT-TYPE diffServClfrElementNextFree OBJECT-TYPE
SYNTAX IndexIntegerNextFree SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 42, line 26 skipping to change at page 46, line 26
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that enumerates the Classifier Element entries. "An index that enumerates the Classifier Element entries.
Managers obtain new values for row creation in this table by Managers obtain new values for row creation in this table by
reading diffServClfrElementNextFree." reading diffServClfrElementNextFree."
::= { diffServClfrElementEntry 1 } ::= { diffServClfrElementEntry 1 }
diffServClfrElementPrecedence OBJECT-TYPE diffServClfrElementPrecedence OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The relative order in which classifier elements are applied: "The relative order in which classifier elements are applied:
higher numbers represent classifier element with higher higher numbers represent classifier element with higher
precedence. Classifier elements with the same order must be precedence. Classifier elements with the same order must be
unambiguous i.e. they must define non-overlapping patterns, and unambiguous i.e. they must define non-overlapping patterns, and
are considered to be applied simultaneously to the traffic are considered to be applied simultaneously to the traffic
stream. Classifier elements with different order may overlap in stream. Classifier elements with different order may overlap in
their filters: the classifier element with the highest order their filters: the classifier element with the highest order
that matches is taken. that matches is taken.
On a given interface, there must be a complete classifier in On a given interface, there must be a complete classifier in
place at all times in the ingress direction. This means one or place at all times in the ingress direction. This means one or
more filters must match any possible pattern. There is no such more filters must match any possible pattern. There is no such
requirement in the egress direction." requirement in the egress direction."
DEFVAL { 0 }
::= { diffServClfrElementEntry 2 } ::= { diffServClfrElementEntry 2 }
diffServClfrElementNext OBJECT-TYPE diffServClfrElementNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This attribute provides one branch of the fan-out functionality "This attribute provides one branch of the fan-out functionality
of a classifier described in the Informal Differentiated Services of a classifier described in the Informal Differentiated Services
Model section 4.1. Model section 4.1.
skipping to change at page 43, line 22 skipping to change at page 47, line 21
diffServMeterEntry diffServMeterEntry
diffServActionEntry diffServActionEntry
diffServAlgDropEntry diffServAlgDropEntry
diffServQEntry diffServQEntry
A value of zeroDotZero in this attribute indicates no further A value of zeroDotZero in this attribute indicates no further
Differentiated Services treatment is performed on traffic of this Differentiated Services treatment is performed on traffic of this
data path. The use of zeroDotZero is the normal usage for the data path. The use of zeroDotZero is the normal usage for the
last functional data path element of the current data path. last functional data path element of the current data path.
If the row pointed to does not exist, the treatment is as if this 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." attribute contains a value of zeroDotZero."
::= { diffServClfrElementEntry 3 } ::= { diffServClfrElementEntry 3 }
diffServClfrElementSpecific OBJECT-TYPE diffServClfrElementSpecific OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A pointer to a valid entry in another table, filter table, that "A pointer to a valid entry in another table, filter table, that
describes the applicable classification parameters, e.g. an entry describes the applicable classification parameters, e.g. an entry
in diffServMultiFieldClfrTable. in diffServMultiFieldClfrTable.
If the row pointed to does not exist, the classifier element is
ignored.
The value zeroDotZero is interpreted to match anything not The value zeroDotZero is interpreted to match anything not
matched by another classifier element - only one such entry may matched by another classifier element - only one such entry may
exist for each classifier." exist for each classifier.
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 element is ignored."
::= { diffServClfrElementEntry 4 } ::= { diffServClfrElementEntry 4 }
diffServClfrElementStorage OBJECT-TYPE diffServClfrElementStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServClfrElementEntry 5 } ::= { diffServClfrElementEntry 5 }
diffServClfrElementStatus OBJECT-TYPE diffServClfrElementStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a classifier element. Any writable variable may be row may be modified at any time. Setting this variable to
modified whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServClfrElementEntry 6 } ::= { diffServClfrElementEntry 6 }
-- --
-- IP Multi-field Classification Table -- IP Multi-field Classification Table
-- --
-- Classification based on six different fields in the IP header. -- Classification based on six different fields in the IP header.
-- Functional Data Paths may share definitions by using the same entry. -- Functional Data Paths may share definitions by using the same entry.
-- --
diffServMultiFieldClfrNextFree OBJECT-TYPE diffServMultiFieldClfrNextFree OBJECT-TYPE
skipping to change at page 46, line 25 skipping to change at page 50, line 25
entries. Managers obtain new values for row creation in this entries. Managers obtain new values for row creation in this
table by reading diffServMultiFieldClfrNextFree." table by reading diffServMultiFieldClfrNextFree."
::= { diffServMultiFieldClfrEntry 1 } ::= { diffServMultiFieldClfrEntry 1 }
diffServMultiFieldClfrAddrType OBJECT-TYPE diffServMultiFieldClfrAddrType OBJECT-TYPE
SYNTAX InetAddressType SYNTAX InetAddressType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The type of IP address used by this classifier entry." "The type of IP address used by this classifier entry. While
other types of addresses are defined in the InetAddressType
textual convention, and DNS names, a classifier can only look at
packets on the wire. Therefore, this object is limited to IPv4
and IPv6 addresses."
::= { diffServMultiFieldClfrEntry 2 } ::= { diffServMultiFieldClfrEntry 2 }
diffServMultiFieldClfrDstAddr OBJECT-TYPE diffServMultiFieldClfrDstAddr OBJECT-TYPE
SYNTAX InetAddress SYNTAX InetAddress
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The IP address to match against the packet's destination IP "The IP address to match against the packet's destination IP
address. This may not be a DNS name, but may be an IPv4 or IPv6 address. This may not be a DNS name, but may be an IPv4 or IPv6
prefix. diffServMultiFieldClfrDstPrefixLength indicates the prefix. diffServMultiFieldClfrDstPrefixLength indicates the
skipping to change at page 49, line 18 skipping to change at page 53, line 23
value must be equal to or greater than the value specified for value must be equal to or greater than the value specified for
this entry in diffServMultiFieldClfrSrcL4PortMin." this entry in diffServMultiFieldClfrSrcL4PortMin."
DEFVAL { 65535 } DEFVAL { 65535 }
::= { diffServMultiFieldClfrEntry 13 } ::= { diffServMultiFieldClfrEntry 13 }
diffServMultiFieldClfrStorage OBJECT-TYPE diffServMultiFieldClfrStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServMultiFieldClfrEntry 14 } ::= { diffServMultiFieldClfrEntry 14 }
diffServMultiFieldClfrStatus OBJECT-TYPE diffServMultiFieldClfrStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a classifier. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServMultiFieldClfrEntry 15 } ::= { diffServMultiFieldClfrEntry 15 }
-- --
-- Meters -- Meters
-- --
diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 } diffServMeter OBJECT IDENTIFIER ::= { diffServMIBObjects 3 }
-- --
-- This MIB supports a variety of Meters. It includes a specific -- This MIB supports a variety of Meters. It includes a specific
skipping to change at page 52, line 25 skipping to change at page 56, line 25
diffServMeterEntry diffServMeterEntry
diffServActionEntry diffServActionEntry
diffServAlgDropEntry diffServAlgDropEntry
diffServQEntry diffServQEntry
A value of zeroDotZero in this attribute indicates that no A value of zeroDotZero in this attribute indicates that no
further Differentiated Services treatment is performed on traffic further Differentiated Services treatment is performed on traffic
of this data path. The use of zeroDotZero is the normal usage for of this data path. The use of zeroDotZero is the normal usage for
the last functional data path element of the current data path. the last functional data path element of the current data path.
If the row pointed to does not exist, the treatment is as if this 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." attribute contains a value of zeroDotZero."
DEFVAL { zeroDotZero } DEFVAL { zeroDotZero }
::= { diffServMeterEntry 2 } ::= { diffServMeterEntry 2 }
diffServMeterFailNext OBJECT-TYPE diffServMeterFailNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"If the traffic does not conform, this selects the next "If the traffic does not conform, this selects the next
skipping to change at page 52, line 50 skipping to change at page 57, line 5
diffServMeterEntry diffServMeterEntry
diffServActionEntry diffServActionEntry
diffServAlgDropEntry diffServAlgDropEntry
diffServQEntry diffServQEntry
A value of zeroDotZero in this attribute indicates no further A value of zeroDotZero in this attribute indicates no further
Differentiated Services treatment is performed on traffic of this Differentiated Services treatment is performed on traffic of this
data path. The use of zeroDotZero is the normal usage for the data path. The use of zeroDotZero is the normal usage for the
last functional data path element of the current data path. last functional data path element of the current data path.
If the row pointed to does not exist, the treatment is as if this 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." attribute contains a value of zeroDotZero."
DEFVAL { zeroDotZero } DEFVAL { zeroDotZero }
::= { diffServMeterEntry 3 } ::= { diffServMeterEntry 3 }
diffServMeterSpecific OBJECT-TYPE diffServMeterSpecific OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This indicates the behavior of the meter by pointing to an entry "This indicates the behavior of the meter by pointing to an entry
containing detailed parameters. Note that entries in that containing detailed parameters. Note that entries in that
specific table must be managed explicitly. specific table must be managed explicitly.
For example, diffServMeterSpecific may point to an entry in For example, diffServMeterSpecific may point to an entry in
diffServTBParamTable, which contains an instance of a single set diffServTBParamTable, which contains an instance of a single set
of Token Bucket parameters. of Token Bucket parameters.
If diffServMeterSpecific points to a row which is invalid, non- Setting this to point to a target that does not exist results in
existent, or notInService, the Meter always succeeds." an inconsistentValue error. If the row pointed to is removed or
becomes inactive by other means, the meter always succeeds."
::= { diffServMeterEntry 4 } ::= { diffServMeterEntry 4 }
diffServMeterStorage OBJECT-TYPE diffServMeterStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServMeterEntry 5 } ::= { diffServMeterEntry 5 }
diffServMeterStatus OBJECT-TYPE diffServMeterStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a meter. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServMeterEntry 6 } ::= { diffServMeterEntry 6 }
-- --
-- Token Bucket Parameter Table -- Token Bucket Parameter Table
-- --
diffServTBParam OBJECT IDENTIFIER ::= { diffServMIBObjects 4 } diffServTBParam OBJECT IDENTIFIER ::= { diffServMIBObjects 4 }
-- Each entry in the Token Bucket Parameter Table parameterize a single -- Each entry in the Token Bucket Parameter Table parameterize a single
-- token bucket. Multiple token buckets can be used together to -- token bucket. Multiple token buckets can be used together to
skipping to change at page 55, line 40 skipping to change at page 59, line 40
Standard values for generic algorithms: Standard values for generic algorithms:
diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate, diffServTBParamSimpleTokenBucket, diffServTBParamAvgRate,
diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware, diffServTBParamSrTCMBlind, diffServTBParamSrTCMAware,
diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and diffServTBParamTrTCMBlind, diffServTBParamTrTCMAware, and
diffServTBParamTswTCM are specified in this MIB as OBJECT- diffServTBParamTswTCM are specified in this MIB as OBJECT-
IDENTITYs; additional values may be further specified in other IDENTITYs; additional values may be further specified in other
MIBs." MIBs."
::= { diffServTBParamEntry 2 } ::= { diffServTBParamEntry 2 }
diffServTBParamRate OBJECT-TYPE diffServTBParamRate OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "kilobits per second" UNITS "kilobits per second"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The token-bucket rate, in kilobits per second (kbps). This "The token-bucket rate, in kilobits per second (kbps). This
attribute is used for: attribute is used for:
1. CIR in RFC 2697 for srTCM 1. CIR in RFC 2697 for srTCM
2. CIR and PIR in RFC 2698 for trTCM 2. CIR and PIR in RFC 2698 for trTCM
3. CTR and PTR in RFC 2859 for TSWTCM 3. CTR and PTR in RFC 2859 for TSWTCM
4. AverageRate in RFC XXXX." 4. AverageRate in RFC XXXX."
skipping to change at page 56, line 20 skipping to change at page 60, line 20
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum number of bytes in a single transmission burst. This "The maximum number of bytes in a single transmission burst. This
attribute is used for: attribute is used for:
1. CBS and EBS in RFC 2697 for srTCM 1. CBS and EBS in RFC 2697 for srTCM
2. CBS and PBS in RFC 2698 for trTCM 2. CBS and PBS in RFC 2698 for trTCM
3. Burst Size in RFC XXXX." 3. Burst Size in RFC XXXX."
::= { diffServTBParamEntry 4 } ::= { diffServTBParamEntry 4 }
diffServTBParamInterval OBJECT-TYPE diffServTBParamInterval OBJECT-TYPE
SYNTAX Unsigned32 (1..2147483647) SYNTAX Unsigned32 (1..4294967295)
UNITS "microseconds" UNITS "microseconds"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The time interval used with the token bucket. For: "The time interval used with the token bucket. For:
1. Average Rate Meter, the Informal Differentiated Services Model 1. Average Rate Meter, the Informal Differentiated Services Model
section 5.2.1, - Delta. section 5.2.1, - Delta.
2. Simple Token Bucket Meter, the Informal Differentiated 2. Simple Token Bucket Meter, the Informal Differentiated
Services Model section 5.1, - time interval t. Services Model section 5.1, - time interval t.
3. RFC 2859 TSWTCM, - AVG_INTERVAL. 3. RFC 2859 TSWTCM, - AVG_INTERVAL.
4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time 4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time
interval." interval."
::= { diffServTBParamEntry 5 } ::= { diffServTBParamEntry 5 }
diffServTBParamStorage OBJECT-TYPE diffServTBParamStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServTBParamEntry 6 } ::= { diffServTBParamEntry 6 }
diffServTBParamStatus OBJECT-TYPE diffServTBParamStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a meter. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." '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 } ::= { diffServTBParamEntry 7 }
-- --
-- OIDs for diffServTBParamType definitions. -- OIDs for diffServTBParamType definitions.
-- --
diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 } diffServTBMeters OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 }
diffServTBParamSimpleTokenBucket OBJECT-IDENTITY diffServTBParamSimpleTokenBucket OBJECT-IDENTITY
STATUS current STATUS current
skipping to change at page 61, line 30 skipping to change at page 65, line 30
diffServActionInterface OBJECT-TYPE diffServActionInterface OBJECT-TYPE
SYNTAX InterfaceIndexOrZero SYNTAX InterfaceIndexOrZero
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The interface index (value of ifIndex) that this action occurs "The interface index (value of ifIndex) that this action occurs
on. This may be derived from the diffServDataPathStartEntry's on. This may be derived from the diffServDataPathStartEntry's
index by extension through the various RowPointers. However, as index by extension through the various RowPointers. However, as
this may be difficult for a network management station, it is this may be difficult for a network management station, it is
placed here as well. If this is unspecified or unknown, the placed here as well. If this is indeterminate, the value is
value is zero. zero.
This is of especial relevance when reporting the counters which This is of especial relevance when reporting the counters which
may apply to traffic crossing an interface: may apply to traffic crossing an interface:
diffServCountActOctets, diffServCountActOctets,
diffServCountActHCOctets,
diffServCountActPkts, diffServCountActPkts,
diffServCountActHCPkts,
diffServAlgDropOctets, diffServAlgDropOctets,
diffServAlgDropHCOctets,
diffServAlgDropPkts, diffServAlgDropPkts,
diffServAlgDropHCPkts, diffServAlgRandomDropOctets, and
diffServAlgRandomDropOctets, diffServAlgRandomDropPkts.
diffServAlgRandomDropHCOctets,
diffServAlgRandomDropPkts, and
diffServAlgRandomDropHCPkts.
It is also especially relevant to the queue and scheduler which It is also especially relevant to the queue and scheduler which
may be subsequently applied." may be subsequently applied."
::= { diffServActionEntry 2 } ::= { diffServActionEntry 2 }
diffServActionNext OBJECT-TYPE diffServActionNext OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 62, line 24 skipping to change at page 66, line 18
diffServMeterEntry diffServMeterEntry
diffServActionEntry diffServActionEntry
diffServAlgDropEntry diffServAlgDropEntry
diffServQEntry diffServQEntry
A value of zeroDotZero in this attribute indicates no further A value of zeroDotZero in this attribute indicates no further
Differentiated Services treatment is performed on traffic of this Differentiated Services treatment is performed on traffic of this
data path. The use of zeroDotZero is the normal usage for the data path. The use of zeroDotZero is the normal usage for the
last functional data path element of the current data path. last functional data path element of the current data path.
If the row pointed to does not exist, the treatment is as if this 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." attribute contains a value of zeroDotZero."
DEFVAL { zeroDotZero } DEFVAL { zeroDotZero }
::= { diffServActionEntry 3 } ::= { diffServActionEntry 3 }
diffServActionSpecific OBJECT-TYPE diffServActionSpecific OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A pointer to an object instance providing additional information "A pointer to an object instance providing additional information
for the type of action indicated by this action table entry. for the type of action indicated by this action table entry.
For the standard actions defined by this MIB module, this should For the standard actions defined by this MIB module, this should
point to either a diffServDscpMarkActEntry or a point to either a diffServDscpMarkActEntry or a
diffServCountActEntry. For other actions, it may point to an diffServCountActEntry. For other actions, it may point to an
object instance defined in some other MIB. object instance defined in some other MIB.
If diffServActionSpecific points to a row which is invalid, non- Setting this to point to a target that does not exist results in
existent, or notInService, the Meter should be treated as if it an inconsistentValue error. If the row pointed to is removed or
were not present. This may lead to incorrect policy behavior." 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 } ::= { diffServActionEntry 4 }
diffServActionStorage OBJECT-TYPE diffServActionStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServActionEntry 5 } ::= { diffServActionEntry 5 }
diffServActionStatus OBJECT-TYPE diffServActionStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation or "The status of this conceptual row. All writable objects in this
deletion of an action element. Any writable variable may be row may be modified at any time. Setting this variable to
modified whether the row is active or notInService." '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 } ::= { diffServActionEntry 6 }
-- DSCP Mark Action Table -- DSCP Mark Action Table
-- --
-- Rows of this table are pointed to by diffServActionSpecific to -- Rows of this table are pointed to by diffServActionSpecific to
-- provide detailed parameters specific to the DSCP Mark action. -- provide detailed parameters specific to the DSCP Mark action.
-- --
-- A single entry in this table can be shared by multiple -- A single entry in this table can be shared by multiple
-- diffServActionTable entries. -- diffServActionTable entries.
-- --
skipping to change at page 65, line 48 skipping to change at page 69, line 48
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An entry in the count action table describes a single set of "An entry in the count action table describes a single set of
traffic counters." traffic counters."
INDEX { diffServCountActId } INDEX { diffServCountActId }
::= { diffServCountActTable 1 } ::= { diffServCountActTable 1 }
DiffServCountActEntry ::= SEQUENCE { DiffServCountActEntry ::= SEQUENCE {
diffServCountActId IndexInteger, diffServCountActId IndexInteger,
diffServCountActOctets Counter32, diffServCountActOctets Counter64,
diffServCountActHCOctets Counter64, diffServCountActPkts Counter64,
diffServCountActPkts Counter32,
diffServCountActHCPkts Counter64,
diffServCountActStorage StorageType, diffServCountActStorage StorageType,
diffServCountActStatus RowStatus diffServCountActStatus RowStatus
} }
diffServCountActId OBJECT-TYPE diffServCountActId OBJECT-TYPE
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that enumerates the Count Action entries. Managers "An index that enumerates the Count Action entries. Managers
obtain new values for row creation in this table by reading obtain new values for row creation in this table by reading
diffServCountActNextFree." diffServCountActNextFree."
skipping to change at page 66, line 19 skipping to change at page 70, line 18
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that enumerates the Count Action entries. Managers "An index that enumerates the Count Action entries. Managers
obtain new values for row creation in this table by reading obtain new values for row creation in this table by reading
diffServCountActNextFree." diffServCountActNextFree."
::= { diffServCountActEntry 1 } ::= { diffServCountActEntry 1 }
diffServCountActOctets OBJECT-TYPE diffServCountActOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets at the Action data path 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 ifCounterDiscontinuityTime on the
relevant interface."
::= { diffServCountActEntry 2 }
diffServCountActHCOctets OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of octets at the Action data path element. This "The number of octets at the Action data path element.
object should be used on high-speed interfaces.
Discontinuities in the value of this counter can occur at re- Discontinuities in the value of this counter can occur at re-
initialization of the management system and at other times as initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime on the indicated by the value of ifCounterDiscontinuityTime on the
relevant interface." relevant interface."
::= { diffServCountActEntry 3 } ::= { diffServCountActEntry 2 }
diffServCountActPkts OBJECT-TYPE diffServCountActPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets at the Action data path 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 ifCounterDiscontinuityTime on the
relevant interface."
::= { diffServCountActEntry 4 }
diffServCountActHCPkts OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets at the Action data path element. This "The number of packets at the Action data path element.
object should be used on high-speed interfaces.
Discontinuities in the value of this counter can occur at re- Discontinuities in the value of this counter can occur at re-
initialization of the management system and at other times as initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime on the indicated by the value of ifCounterDiscontinuityTime on the
relevant interface." relevant interface."
::= { diffServCountActEntry 5 } ::= { diffServCountActEntry 3 }
diffServCountActStorage OBJECT-TYPE diffServCountActStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServCountActEntry 6 } ::= { diffServCountActEntry 4 }
diffServCountActStatus OBJECT-TYPE diffServCountActStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of this entry." row may be modified at any time. Setting this variable to
::= { diffServCountActEntry 7 } '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 -- Algorithmic Drop Table
-- --
diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 } diffServAlgDrop OBJECT IDENTIFIER ::= { diffServMIBObjects 6 }
diffServAlgDropNextFree OBJECT-TYPE diffServAlgDropNextFree OBJECT-TYPE
SYNTAX IndexIntegerNextFree SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only MAX-ACCESS read-only
skipping to change at page 68, line 48 skipping to change at page 72, line 48
INDEX { diffServAlgDropId } INDEX { diffServAlgDropId }
::= { diffServAlgDropTable 1 } ::= { diffServAlgDropTable 1 }
DiffServAlgDropEntry ::= SEQUENCE { DiffServAlgDropEntry ::= SEQUENCE {
diffServAlgDropId IndexInteger, diffServAlgDropId IndexInteger,
diffServAlgDropType INTEGER, diffServAlgDropType INTEGER,
diffServAlgDropNext RowPointer, diffServAlgDropNext RowPointer,
diffServAlgDropQMeasure RowPointer, diffServAlgDropQMeasure RowPointer,
diffServAlgDropQThreshold Unsigned32, diffServAlgDropQThreshold Unsigned32,
diffServAlgDropSpecific RowPointer, diffServAlgDropSpecific RowPointer,
diffServAlgDropOctets Counter32, diffServAlgDropOctets Counter64,
diffServAlgDropHCOctets Counter64, diffServAlgDropPkts Counter64,
diffServAlgDropPkts Counter32, diffServAlgRandomDropOctets Counter64,
diffServAlgDropHCPkts Counter64, diffServAlgRandomDropPkts Counter64,
diffServAlgRandomDropOctets Counter32,
diffServAlgRandomDropHCOctets Counter64,
diffServAlgRandomDropPkts Counter32,
diffServAlgRandomDropHCPkts Counter64,
diffServAlgDropStorage StorageType, diffServAlgDropStorage StorageType,
diffServAlgDropStatus RowStatus diffServAlgDropStatus RowStatus
} }
diffServAlgDropId OBJECT-TYPE diffServAlgDropId OBJECT-TYPE
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that enumerates the Algorithmic Dropper entries. "An index that enumerates the Algorithmic Dropper entries.
skipping to change at page 70, line 37 skipping to change at page 74, line 32
diffServClfrEntry diffServClfrEntry
diffServMeterEntry diffServMeterEntry
diffServActionEntry diffServActionEntry
diffServQEntry diffServQEntry
A value of zeroDotZero in this attribute indicates no further A value of zeroDotZero in this attribute indicates no further
Differentiated Services treatment is performed on traffic of this Differentiated Services treatment is performed on traffic of this
data path. The use of zeroDotZero is the normal usage for the data path. The use of zeroDotZero is the normal usage for the
last functional data path element of the current data path. last functional data path element of the current data path.
If the row pointed to does not exist, the treatment is as if this When diffServAlgDropType is alwaysDrop(5), this object is
attribute contains a value of zeroDotZero, unless ignored.
diffServAlgDropType is alwaysDrop(5) where 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 } ::= { diffServAlgDropEntry 3 }
diffServAlgDropQMeasure OBJECT-TYPE diffServAlgDropQMeasure OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"Points to an entry in the diffServQTable to indicate the queue "Points to an entry in the diffServQTable to indicate the queue
that a drop algorithm is to monitor when deciding whether to drop that a drop algorithm is to monitor when deciding whether to drop
a packet. If the row pointed to does not exist, the algorithmic a packet. If the row pointed to does not exist, the algorithmic
dropper element is considered inactive." 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 } ::= { diffServAlgDropEntry 4 }
diffServAlgDropQThreshold OBJECT-TYPE diffServAlgDropQThreshold OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "Bytes" UNITS "Bytes"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A threshold on the depth in bytes of the queue being measured at "A threshold on the depth in bytes of the queue being measured at
which a trigger is generated to the dropping algorithm, unless which a trigger is generated to the dropping algorithm, unless
diffServAlgDropType is alwaysDrop(5) where this object is diffServAlgDropType is alwaysDrop(5) where this object is
ignored. ignored.
For the tailDrop(2) or headDrop(3) algorithms, this represents For the tailDrop(2) or headDrop(3) algorithms, this represents
skipping to change at page 71, line 42 skipping to change at page 75, line 47
point to a table defined in another MIB module. point to a table defined in another MIB module.
Entries with diffServAlgDropType equal to randomDrop(4) must have Entries with diffServAlgDropType equal to randomDrop(4) must have
this point to an entry in diffServRandomDropTable. this point to an entry in diffServRandomDropTable.
For all other algorithms specified in this MIB, this should take For all other algorithms specified in this MIB, this should take
the value zeroDotZero. the value zeroDotZero.
The diffServAlgDropType is authoritative for the type of the drop The diffServAlgDropType is authoritative for the type of the drop
algorithm and the specific parameters for the drop algorithm algorithm and the specific parameters for the drop algorithm
needs to be evaluated based on the diffServAlgDropType." 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 } ::= { diffServAlgDropEntry 6 }
diffServAlgDropOctets OBJECT-TYPE diffServAlgDropOctets OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of octets that have been deterministically 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 on the
relevant interface."
::= { diffServAlgDropEntry 7 }
diffServAlgDropHCOctets OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of octets that have been deterministically dropped by "The number of octets that have been deterministically dropped by
this drop process. This object should be used on high-speed this drop process.
interfaces.
Discontinuities in the value of this counter can occur at re- Discontinuities in the value of this counter can occur at re-
initialization of the management system and at other times as initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime on the indicated by the value of ifCounterDiscontinuityTime on the
relevant interface." relevant interface."
::= { diffServAlgDropEntry 8 } ::= { diffServAlgDropEntry 7 }
diffServAlgDropPkts OBJECT-TYPE diffServAlgDropPkts OBJECT-TYPE
SYNTAX Counter32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of packets that have been deterministically 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 on the
relevant interface."
::= { diffServAlgDropEntry 9 }
diffServAlgDropHCPkts OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets that have been deterministically dropped "The number of packets that have been deterministically dropped
by this drop process. This object should be used on high-speed by this drop process.
interfaces.
Discontinuities in the value of this counter can occur at re- Discontinuities in the value of this counter can occur at re-
initialization of the management system and at other times as initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime on the indicated by the value of ifCounterDiscontinuityTime on the
relevant interface." relevant interface."
::= { diffServAlgDropEntry 10 } ::= { diffServAlgDropEntry 8 }
diffServAlgRandomDropOctets OBJECT-TYPE diffServAlgRandomDropOctets OBJECT-TYPE
SYNTAX Counter32
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. On high-speed devices, this object implements the
least significant 32 bits of diffServAlgRandomDropHCOctets.
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 11 }
diffServAlgRandomDropHCOctets OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of octets that have been randomly dropped by this "The number of octets that have been randomly dropped by this
drop process. This counter applies, therefore, only to random drop process. This counter applies, therefore, only to random
droppers. This object should be used on high-speed interfaces. droppers.
Discontinuities in the value of this counter can occur at re- Discontinuities in the value of this counter can occur at re-
initialization of the management system and at other times as initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime on the indicated by the value of ifCounterDiscontinuityTime on the
relevant interface." relevant interface."
::= { diffServAlgDropEntry 12 } ::= { diffServAlgDropEntry 9 }
diffServAlgRandomDropPkts OBJECT-TYPE diffServAlgRandomDropPkts OBJECT-TYPE
SYNTAX Counter32
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. On high-speed devices, this object implements the
least significant 32 bits of diffServAlgRandomDropHCPkts.
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 13 }
diffServAlgRandomDropHCPkts OBJECT-TYPE
SYNTAX Counter64 SYNTAX Counter64
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The number of packets that have been randomly dropped by this "The number of packets that have been randomly dropped by this
drop process. This counter applies, therefore, only to random drop process. This counter applies, therefore, only to random
droppers. This object should be used on high-speed interfaces. droppers.
Discontinuities in the value of this counter can occur at re- Discontinuities in the value of this counter can occur at re-
initialization of the management system and at other times as initialization of the management system and at other times as
indicated by the value of ifCounterDiscontinuityTime on the indicated by the value of ifCounterDiscontinuityTime on the
relevant interface." relevant interface."
::= { diffServAlgDropEntry 14 } ::= { diffServAlgDropEntry 10 }
diffServAlgDropStorage OBJECT-TYPE diffServAlgDropStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServAlgDropEntry 15 } ::= { diffServAlgDropEntry 11 }
diffServAlgDropStatus OBJECT-TYPE diffServAlgDropStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of this entry. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
::= { diffServAlgDropEntry 16 } to it results in destruction being delayed until the row is no
longer used."
::= { diffServAlgDropEntry 12 }
-- --
-- Random Drop Table -- Random Drop Table
-- --
diffServRandomDropNextFree OBJECT-TYPE diffServRandomDropNextFree OBJECT-TYPE
SYNTAX IndexIntegerNextFree SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only MAX-ACCESS read-only
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 76, line 14 skipping to change at page 79, line 14
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that enumerates the Random Drop entries. Managers "An index that enumerates the Random Drop entries. Managers
obtain new values for row creation in this table by reading obtain new values for row creation in this table by reading
diffServRandomDropNextFree." diffServRandomDropNextFree."
::= { diffServRandomDropEntry 1 } ::= { diffServRandomDropEntry 1 }
diffServRandomDropMinThreshBytes OBJECT-TYPE diffServRandomDropMinThreshBytes OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "bytes" UNITS "bytes"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The average queue depth in bytes, beyond which traffic has a "The average queue depth in bytes, beyond which traffic has a
non-zero probability of being dropped. Changes in this variable non-zero probability of being dropped. Changes in this variable
may or may not be reflected in the reported value of may or may not be reflected in the reported value of
diffServRandomDropMinThreshPkts." diffServRandomDropMinThreshPkts."
::= { diffServRandomDropEntry 2 } ::= { diffServRandomDropEntry 2 }
diffServRandomDropMinThreshPkts OBJECT-TYPE diffServRandomDropMinThreshPkts OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "packets" UNITS "packets"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The average queue depth in packets, beyond which traffic has a "The average queue depth in packets, beyond which traffic has a
non-zero probability of being dropped. Changes in this variable non-zero probability of being dropped. Changes in this variable
may or may not be reflected in the reported value of may or may not be reflected in the reported value of
diffServRandomDropMinThreshBytes." diffServRandomDropMinThreshBytes."
::= { diffServRandomDropEntry 3 } ::= { diffServRandomDropEntry 3 }
diffServRandomDropMaxThreshBytes OBJECT-TYPE diffServRandomDropMaxThreshBytes OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "bytes" UNITS "bytes"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The average queue depth beyond which traffic has a probability "The average queue depth beyond which traffic has a probability
indicated by diffServRandomDropProbMax of being dropped or indicated by diffServRandomDropProbMax of being dropped or
marked. Note that this differs from the physical queue limit, marked. Note that this differs from the physical queue limit,
which is stored in diffServAlgDropQThreshold. Changes in this which is stored in diffServAlgDropQThreshold. Changes in this
variable may or may not be reflected in the reported value of variable may or may not be reflected in the reported value of
diffServRandomDropMaxThreshPkts." diffServRandomDropMaxThreshPkts."
::= { diffServRandomDropEntry 4 } ::= { diffServRandomDropEntry 4 }
diffServRandomDropMaxThreshPkts OBJECT-TYPE diffServRandomDropMaxThreshPkts OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "packets" UNITS "packets"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The average queue depth beyond which traffic has a probability "The average queue depth beyond which traffic has a probability
indicated by diffServRandomDropProbMax of being dropped or indicated by diffServRandomDropProbMax of being dropped or
marked. Note that this differs from the physical queue limit, marked. Note that this differs from the physical queue limit,
which is stored in diffServAlgDropQThreshold. Changes in this which is stored in diffServAlgDropQThreshold. Changes in this
variable may or may not be reflected in the reported value of variable may or may not be reflected in the reported value of
diffServRandomDropMaxThreshBytes." diffServRandomDropMaxThreshBytes."
skipping to change at page 78, line 22 skipping to change at page 81, line 22
average calculation. A value of zero is used to mean that the average calculation. A value of zero is used to mean that the
queue is sampled approximately each time a packet is enqueued (or queue is sampled approximately each time a packet is enqueued (or
dequeued)." dequeued)."
::= { diffServRandomDropEntry 8 } ::= { diffServRandomDropEntry 8 }
diffServRandomDropStorage OBJECT-TYPE diffServRandomDropStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServRandomDropEntry 9 } ::= { diffServRandomDropEntry 9 }
diffServRandomDropStatus OBJECT-TYPE diffServRandomDropStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of this entry. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." '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 } ::= { diffServRandomDropEntry 10 }
-- --
-- Queue Table -- Queue Table
-- --
diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 } diffServQueue OBJECT IDENTIFIER ::= { diffServMIBObjects 7 }
-- --
-- An entry of diffServQTable represents a FIFO queue Differentiated -- An entry of diffServQTable represents a FIFO queue Differentiated
skipping to change at page 80, line 47 skipping to change at page 83, line 47
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This selects the next Differentiated Services Scheduler. The "This selects the next Differentiated Services Scheduler. The
RowPointer must point to a diffServSchedulerEntry. RowPointer must point to a diffServSchedulerEntry.
A value of zeroDotZero in this attribute indicates an incomplete A value of zeroDotZero in this attribute indicates an incomplete
diffServQEntry instance. In such a case, the entry has no diffServQEntry instance. In such a case, the entry has no
operational effect, since it has no parameters to give it operational effect, since it has no parameters to give it
meaning. meaning.
If the row pointed to does not exist, the treatment is as if this 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." attribute contains a value of zeroDotZero."
::= { diffServQEntry 2 } ::= { diffServQEntry 2 }
diffServQMinRate OBJECT-TYPE diffServQMinRate OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This RowPointer indicates the diffServMinRateEntry that the "This RowPointer indicates the diffServMinRateEntry that the
scheduler, pointed to by diffServQNext, should use to service scheduler, pointed to by diffServQNext, should use to service
this queue. this queue.
If the row pointed to is zeroDotZero or does not exist, the If the row pointed to is zeroDotZero, the minimum rate and
minimum rate is unspecified." 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 } ::= { diffServQEntry 3 }
diffServQMaxRate OBJECT-TYPE diffServQMaxRate OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This RowPointer indicates the diffServMaxRateEntry that the "This RowPointer indicates the diffServMaxRateEntry that the
scheduler, pointed to by diffServQNext, should use to service scheduler, pointed to by diffServQNext, should use to service
this queue. this queue.
If the row pointed to does not exist or is zeroDotZero, the If the row pointed to is zeroDotZero, the maximum rate is the
maximum rate is the line speed of the interface." 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 } ::= { diffServQEntry 4 }
diffServQStorage OBJECT-TYPE diffServQStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServQEntry 5 } ::= { diffServQEntry 5 }
diffServQStatus OBJECT-TYPE diffServQStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a queue. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." '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 } ::= { diffServQEntry 6 }
-- --
-- Scheduler Table -- Scheduler Table
-- --
diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 } diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 }
-- --
-- A Scheduler Entry represents a packet scheduler, such as a priority -- A Scheduler Entry represents a packet scheduler, such as a priority
skipping to change at page 84, line 6 skipping to change at page 88, line 6
diffServActionEntry, diffServActionEntry,
diffServAlgDropEntry. diffServAlgDropEntry.
It would point another diffServSchedulerEntry when implementing It would point another diffServSchedulerEntry when implementing
multiple scheduler methods for the same data path, such as having multiple scheduler methods for the same data path, such as having
one set of queues scheduled by WRR and that group participating one set of queues scheduled by WRR and that group participating
in a priority scheduling system in which other queues compete in a priority scheduling system in which other queues compete
with it in that way. It might also point to a second scheduler with it in that way. It might also point to a second scheduler
in a hierarchical scheduling system. in a hierarchical scheduling system.
If the row pointed to does not exist or is zeroDotZero, no If the row pointed to is zeroDotZero, no further Differentiated
further Differentiated Services treatment is performed on traffic Services treatment is performed on traffic of this data path.
of this 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 } DEFVAL { zeroDotZero }
::= { diffServSchedulerEntry 2 } ::= { diffServSchedulerEntry 2 }
diffServSchedulerMethod OBJECT-TYPE diffServSchedulerMethod OBJECT-TYPE
SYNTAX AutonomousType SYNTAX AutonomousType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The scheduling algorithm used by this Scheduler. zeroDotZero "The scheduling algorithm used by this Scheduler. zeroDotZero
indicates that this is unknown. Standard values for generic indicates that this is unknown. Standard values for generic
skipping to change at page 84, line 32 skipping to change at page 88, line 36
::= { diffServSchedulerEntry 3 } ::= { diffServSchedulerEntry 3 }
diffServSchedulerMinRate OBJECT-TYPE diffServSchedulerMinRate OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This RowPointer indicates the entry in diffServMinRateTable "This RowPointer indicates the entry in diffServMinRateTable
which indicates the priority or minimum output rate from this which indicates the priority or minimum output rate from this
scheduler. This attribute is used only when there is more than scheduler. This attribute is used only when there is more than
one level of scheduler. It should have the value of zeroDotZero one level of scheduler.
when not used, and be treated as containing zeroDotZero if the
pointer is invalid." When it has the value zeroDotZero, it indicates that no minimum
rate or priority is imposed.
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 } DEFVAL { zeroDotZero }
::= { diffServSchedulerEntry 4 } ::= { diffServSchedulerEntry 4 }
diffServSchedulerMaxRate OBJECT-TYPE diffServSchedulerMaxRate OBJECT-TYPE
SYNTAX RowPointer SYNTAX RowPointer
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"This RowPointer indicates the entry in diffServMaxRateTable "This RowPointer indicates the entry in diffServMaxRateTable
which indicates the maximum output rate from this scheduler. This which indicates the maximum output rate from this scheduler.
attribute is used only when there is more than one level of When more than one maximum rate applies (eg, when a mulkti-rate
scheduler. It should have the value of zeroDotZero when not shaper is in view), it points to the first of those rate entries.
used, and treated as containing zeroDotZero if the pointer is This attribute is used only when there is more than one level of
invalid." scheduler.
When it has the value zeroDotZero, it indicates that no maximum
rate is imposed.
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 } DEFVAL { zeroDotZero }
::= { diffServSchedulerEntry 5 } ::= { diffServSchedulerEntry 5 }
diffServSchedulerStorage OBJECT-TYPE diffServSchedulerStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServSchedulerEntry 6 } ::= { diffServSchedulerEntry 6 }
diffServSchedulerStatus OBJECT-TYPE diffServSchedulerStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a scheduler. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServSchedulerEntry 7 } ::= { diffServSchedulerEntry 7 }
-- --
-- OIDs for diffServTBParamType definitions. -- OIDs for diffServTBParamType definitions.
-- --
diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 } diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 }
diffServSchedulerPriority OBJECT-IDENTITY diffServSchedulerPriority OBJECT-IDENTITY
STATUS current STATUS current
skipping to change at page 88, line 19 skipping to change at page 92, line 19
DESCRIPTION DESCRIPTION
"An entry in the Minimum Rate Parameters Table describes a single "An entry in the Minimum Rate Parameters Table describes a single
set of scheduling parameters for use by one or more queues or set of scheduling parameters for use by one or more queues or
schedulers." schedulers."
INDEX { diffServMinRateId } INDEX { diffServMinRateId }
::= { diffServMinRateTable 1 } ::= { diffServMinRateTable 1 }
DiffServMinRateEntry ::= SEQUENCE { DiffServMinRateEntry ::= SEQUENCE {
diffServMinRateId IndexInteger, diffServMinRateId IndexInteger,
diffServMinRatePriority Unsigned32, diffServMinRatePriority Unsigned32,
diffServMinRateAbs Unsigned32, diffServMinRateAbsolute Unsigned32,
diffServMinRateRel Unsigned32, diffServMinRateRelative Unsigned32,
diffServMinRateStorage StorageType, diffServMinRateStorage StorageType,
diffServMinRateStatus RowStatus diffServMinRateStatus RowStatus
} }
diffServMinRateId OBJECT-TYPE diffServMinRateId OBJECT-TYPE
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"An index that enumerates the Scheduler Parameter entries. "An index that enumerates the Scheduler Parameter entries.
Managers obtain new values for row creation in this table by Managers obtain new values for row creation in this table by
reading diffServMinRateNextFree." reading diffServMinRateNextFree."
::= { diffServMinRateEntry 1 } ::= { diffServMinRateEntry 1 }
diffServMinRatePriority OBJECT-TYPE diffServMinRatePriority OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The priority of this input to the associated scheduler, relative "The priority of this input to the associated scheduler, relative
to the scheduler's other inputs. A queue or scheduler with a to the scheduler's other inputs. A queue or scheduler with a
larger numeric value will be served before another with a smaller larger numeric value will be served before another with a smaller
numeric value." numeric value."
::= { diffServMinRateEntry 2 } ::= { diffServMinRateEntry 2 }
diffServMinRateAbs OBJECT-TYPE diffServMinRateAbsolute OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "kilobits per second" UNITS "kilobits per second"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The minimum absolute rate, in kilobits/sec, that a downstream "The minimum absolute rate, in kilobits/sec, that a downstream
scheduler element should allocate to this queue. If the value is scheduler element should allocate to this queue. If the value is
zero, then there is effectively no minimum rate guarantee. If the zero, then there is effectively no minimum rate guarantee. If the
value is non-zero, the scheduler will assure the servicing of value is non-zero, the scheduler will assure the servicing of
this queue to at least this rate. this queue to at least this rate.
Note that this attribute value and that of diffServMinRateRel are Note that this attribute value and that of
coupled: changes to one will affect the value of the other. They diffServMinRateRelative are coupled: changes to one will affect
are linked by the following equation, in that setting one will the value of the other. They are linked by the following
change the other: equation, in that setting one will change the other:
diffServMinRateRel = (diffServMinRateAbs*1000000)/ifSpeed diffServMinRateRelative =
(diffServMinRateAbsolute*1000000)/ifSpeed
or, if appropriate: or, if appropriate:
diffServMinRateRel = diffServMinRateAbs/ifHighSpeed" diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"
REFERENCE REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
::= { diffServMinRateEntry 3 } ::= { diffServMinRateEntry 3 }
diffServMinRateRel OBJECT-TYPE diffServMinRateRelative OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The minimum rate that a downstream scheduler element should "The minimum rate that a downstream scheduler element should
allocate to this queue, relative to the maximum rate of the allocate to this queue, relative to the maximum rate of the
interface as reported by ifSpeed or ifHighSpeed, in units of interface as reported by ifSpeed or ifHighSpeed, in units of
1/1000 of 1. If the value is zero, then there is effectively no 1/1000 of 1. If the value is zero, then there is effectively no
minimum rate guarantee. If the value is non-zero, the scheduler minimum rate guarantee. If the value is non-zero, the scheduler
will assure the servicing of this queue to at least this rate. will assure the servicing of this queue to at least this rate.
Note that this attribute value and that of diffServMinRateAbs are Note that this attribute value and that of
coupled: changes to one will affect the value of the other. They diffServMinRateAbsolute are coupled: changes to one will affect
are linked by the following equation, in that setting one will the value of the other. They are linked by the following
change the other: equation, in that setting one will change the other:
diffServMinRateRel = (diffServMinRateAbs*1000000)/ifSpeed diffServMinRateRelative =
(diffServMinRateAbsolute*1000000)/ifSpeed
or, if appropriate: or, if appropriate:
diffServMinRateRel = diffServMinRateAbs/ifHighSpeed" diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"
REFERENCE REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
::= { diffServMinRateEntry 4 } ::= { diffServMinRateEntry 4 }
diffServMinRateStorage OBJECT-TYPE diffServMinRateStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServMinRateEntry 5 } ::= { diffServMinRateEntry 5 }
diffServMinRateStatus OBJECT-TYPE diffServMinRateStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a queue. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServMinRateEntry 6 } ::= { diffServMinRateEntry 6 }
-- --
-- Maximum Rate Parameter Table -- Maximum Rate Parameter Table
-- --
-- The parameters used by a scheduler for its inputs or outputs are -- The parameters used by a scheduler for its inputs or outputs are
-- maintained separately from the Queue or Scheduler table entries for -- maintained separately from the Queue or Scheduler table entries for
-- reusability reasons and so that they may be used by both queues and -- reusability reasons and so that they may be used by both queues and
-- schedulers. This follows the approach for separation of data path -- schedulers. This follows the approach for separation of data path
-- elements from parameterization that is used throughout this MIB. -- elements from parameterization that is used throughout this MIB.
skipping to change at page 92, line 19 skipping to change at page 96, line 19
DESCRIPTION DESCRIPTION
"An entry in the Maximum Rate Parameter Table describes a single "An entry in the Maximum Rate Parameter Table describes a single
set of scheduling parameters for use by one or more queues or set of scheduling parameters for use by one or more queues or
schedulers." schedulers."
INDEX { diffServMaxRateId, diffServMaxRateLevel } INDEX { diffServMaxRateId, diffServMaxRateLevel }
::= { diffServMaxRateTable 1 } ::= { diffServMaxRateTable 1 }
DiffServMaxRateEntry ::= SEQUENCE { DiffServMaxRateEntry ::= SEQUENCE {
diffServMaxRateId IndexInteger, diffServMaxRateId IndexInteger,
diffServMaxRateLevel Unsigned32, diffServMaxRateLevel Unsigned32,
diffServMaxRateAbs Unsigned32, diffServMaxRateAbsolute Unsigned32,
diffServMaxRateRel Unsigned32, diffServMaxRateRelative Unsigned32,
diffServMaxRateThreshold BurstSize, diffServMaxRateThreshold BurstSize,
diffServMaxRateStorage StorageType, diffServMaxRateStorage StorageType,
diffServMaxRateStatus RowStatus diffServMaxRateStatus RowStatus
} }
diffServMaxRateId OBJECT-TYPE diffServMaxRateId OBJECT-TYPE
SYNTAX IndexInteger SYNTAX IndexInteger
MAX-ACCESS not-accessible MAX-ACCESS not-accessible
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 93, line 5 skipping to change at page 97, line 5
being given its parameters. A multi-rate shaper has some number being given its parameters. A multi-rate shaper has some number
of rate levels. Frame Relay's dual rate specification refers to a of rate levels. Frame Relay's dual rate specification refers to a
'committed' and an 'excess' rate; ATM's dual rate specification 'committed' and an 'excess' rate; ATM's dual rate specification
refers to a 'mean' and a 'peak' rate. This table is generalized refers to a 'mean' and a 'peak' rate. This table is generalized
to support an arbitrary number of rates. The committed or mean to support an arbitrary number of rates. The committed or mean
rate is level 1, the peak rate (if any) is the highest level rate rate is level 1, the peak rate (if any) is the highest level rate
configured, and if there are other rates they are distributed in configured, and if there are other rates they are distributed in
monotonically increasing order between them." monotonically increasing order between them."
::= { diffServMaxRateEntry 2 } ::= { diffServMaxRateEntry 2 }
diffServMaxRateAbs OBJECT-TYPE diffServMaxRateAbsolute OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
UNITS "kilobits per second" UNITS "kilobits per second"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum rate in kilobits/sec that a downstream scheduler "The maximum rate in kilobits/sec that a downstream scheduler
element should allocate to this queue. If the value is zero, then element should allocate to this queue. If the value is zero, then
there is effectively no maximum rate limit and that the scheduler there is effectively no maximum rate limit and that the scheduler
should attempt to be work conserving for this queue. If the value should attempt to be work conserving for this queue. If the value
is non-zero, the scheduler will limit the servicing of this queue is non-zero, the scheduler will limit the servicing of this queue
to, at most, this rate in a non-work-conserving manner. to, at most, this rate in a non-work-conserving manner.
Note that this attribute value and that of diffServMaxRateRel are Note that this attribute value and that of
coupled: changes to one will affect the value of the other. They diffServMaxRateRelative are coupled: changes to one will affect
are linked by the following equation, in that setting one will the value of the other. They are linked by the following
change the other: equation, in that setting one will change the other:
diffServMaxRateRel = (diffServMaxRateAbs*1000000)/ifSpeed diffServMaxRateRelative =
(diffServMaxRateAbsolute*1000000)/ifSpeed
or, if appropriate: or, if appropriate:
diffServMaxRateRel = diffServMaxRateAbs/ifHighSpeed" diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"
REFERENCE REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
::= { diffServMaxRateEntry 3 } ::= { diffServMaxRateEntry 3 }
diffServMaxRateRel OBJECT-TYPE diffServMaxRateRelative OBJECT-TYPE
SYNTAX Unsigned32 SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The maximum rate that a downstream scheduler element should "The maximum rate that a downstream scheduler element should
allocate to this queue, relative to the maximum rate of the allocate to this queue, relative to the maximum rate of the
interface as reported by ifSpeed or ifHighSpeed, in units of interface as reported by ifSpeed or ifHighSpeed, in units of
1/1000 of 1. If the value is zero, then there is effectively no 1/1000 of 1. If the value is zero, then there is effectively no
maximum rate limit and the scheduler should attempt to be work maximum rate limit and the scheduler should attempt to be work
conserving for this queue. If the value is non-zero, the conserving for this queue. If the value is non-zero, the
scheduler will limit the servicing of this queue to, at most, scheduler will limit the servicing of this queue to, at most,
this rate in a non-work-conserving manner. this rate in a non-work-conserving manner.
Note that this attribute value and that of diffServMaxRateAbs are Note that this attribute value and that of
coupled: changes to one will affect the value of the other. They diffServMaxRateAbsolute are coupled: changes to one will affect
are linked by the following equation, in that setting one will the value of the other. They are linked by the following
change the other: equation, in that setting one will change the other:
diffServMaxRateRelative =
(diffServMaxRateAbsolute*1000000)/ifSpeed
diffServMaxRateRel = (diffServMaxRateAbs*1000000)/ifSpeed
or, if appropriate: or, if appropriate:
diffServMaxRateRel = diffServMaxRateAbs/ifHighSpeed" diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"
REFERENCE REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC 2863" "ifSpeed, ifHighSpeed, Interface MIB, RFC 2863"
::= { diffServMaxRateEntry 4 } ::= { diffServMaxRateEntry 4 }
diffServMaxRateThreshold OBJECT-TYPE diffServMaxRateThreshold OBJECT-TYPE
SYNTAX BurstSize SYNTAX BurstSize
UNITS "Bytes" UNITS "Bytes"
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
skipping to change at page 94, line 30 skipping to change at page 98, line 34
ignored and by convention is zero." ignored and by convention is zero."
REFERENCE REFERENCE
"Adaptive rate Shaper, RFC 2963" "Adaptive rate Shaper, RFC 2963"
::= { diffServMaxRateEntry 5 } ::= { diffServMaxRateEntry 5 }
diffServMaxRateStorage OBJECT-TYPE diffServMaxRateStorage OBJECT-TYPE
SYNTAX StorageType SYNTAX StorageType
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The StorageType variable controls the type of memory in which "The storage type for this conceptual row. Conceptual rows
this row is stored; potentially, these include volatile, non- having the value 'permanent' need not allow write-access to any
volatile, and ROM memory, and in the last case may only partially columnar objects in the row."
be in ROM. If the row is stored in ROM, then every column in it
may be stored in ROM."
DEFVAL { nonVolatile } DEFVAL { nonVolatile }
::= { diffServMaxRateEntry 6 } ::= { diffServMaxRateEntry 6 }
diffServMaxRateStatus OBJECT-TYPE diffServMaxRateStatus OBJECT-TYPE
SYNTAX RowStatus SYNTAX RowStatus
MAX-ACCESS read-create MAX-ACCESS read-create
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The RowStatus variable controls the activation, deactivation, or "The status of this conceptual row. All writable objects in this
deletion of a queue. Any writable variable may be modified row may be modified at any time. Setting this variable to
whether the row is active or notInService." 'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServMaxRateEntry 7 } ::= { diffServMaxRateEntry 7 }
-- --
-- MIB Compliance statements. -- MIB Compliance statements.
-- --
diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 } diffServMIBCompliances OBJECT IDENTIFIER ::= { diffServMIBConformance 1 }
diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 } diffServMIBGroups OBJECT IDENTIFIER ::= { diffServMIBConformance 2 }
diffServMIBReadWriteCompliance MODULE-COMPLIANCE diffServMIBFullCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"When this MIB is implemented with support for read-create, then "When this MIB is implemented with support for read-create, then
such an implementation can claim read/write compliance. Such such an implementation can claim read/write compliance. Such
devices can then be both monitored and configured with this MIB." devices can then be both monitored and configured with this MIB."
MODULE IF-MIB -- The interfaces MIB, RFC2863
MANDATORY-GROUPS {
ifCounterDiscontinuityGroup
}
MODULE -- This Module MODULE -- This Module
MANDATORY-GROUPS { MANDATORY-GROUPS {
diffServMIBDataPathGroup, diffServMIBClfrGroup, diffServMIBDataPathGroup, diffServMIBClfrGroup,
diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup,
diffServMIBActionGroup, diffServMIBAlgDropGroup, diffServMIBActionGroup, diffServMIBAlgDropGroup,
diffServMIBQGroup, diffServMIBSchedulerGroup, diffServMIBQGroup, diffServMIBSchedulerGroup,
diffServMIBMaxRateGroup, diffServMIBMinRateGroup diffServMIBMaxRateGroup, diffServMIBMinRateGroup,
diffServMIBCounterGroup
} }
GROUP diffServMIBCounterGroup
DESCRIPTION
"This group is mandatory for table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is less
than or equal to 20,000,000 bits/second."
GROUP diffServMIBHCCounterGroup
DESCRIPTION
"This group is mandatory for table objects indexed by ifIndex 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 table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is
greater than 650,000,000 bits/second."
GROUP diffServMIBMeterGroup GROUP diffServMIBMeterGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices that implement metering "This group is mandatory for devices that implement metering
functions." functions."
GROUP diffServMIBTBParamGroup GROUP diffServMIBTBParamGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices that implement token-bucket "This group is mandatory for devices that implement token-bucket
metering functions." metering functions."
skipping to change at page 96, line 32 skipping to change at page 100, line 8
"This group is mandatory for devices that implement DSCP-Marking "This group is mandatory for devices that implement DSCP-Marking
functions." functions."
GROUP diffServMIBRandomDropGroup GROUP diffServMIBRandomDropGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices that implement Random Drop "This group is mandatory for devices that implement Random Drop
functions." functions."
OBJECT diffServDataPathStatus OBJECT diffServDataPathStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServClfrStatus OBJECT diffServClfrStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServClfrElementStatus OBJECT diffServClfrElementStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServMultiFieldClfrAddrType OBJECT diffServMultiFieldClfrAddrType
SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) } SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
DESCRIPTION DESCRIPTION
"An implementation is only required to support IPv4 and IPv6 "An implementation is only required to support IPv4 and IPv6
addresses." addresses."
OBJECT diffServMultiFieldClfrDstAddr OBJECT diffServMultiFieldClfrDstAddr
SYNTAX InetAddress (SIZE(0|4|16)) SYNTAX InetAddress (SIZE(0|4|16))
DESCRIPTION DESCRIPTION
"An implementation is only required to support IPv4 and globally "An implementation is only required to support IPv4 and globally
unique IPv6 addresses." unique IPv6 addresses."
OBJECT diffServAlgDropStatus OBJECT diffServAlgDropStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServRandomDropStatus OBJECT diffServRandomDropStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServQStatus OBJECT diffServQStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServSchedulerStatus OBJECT diffServSchedulerStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServMinRateStatus OBJECT diffServMinRateStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
OBJECT diffServMaxRateStatus OBJECT diffServMaxRateStatus
SYNTAX RowStatus { active(1) } SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { active(1), createAndGo(4), destroy(6) } WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION DESCRIPTION
"Support for createAndWait and notInService is not required." "Support for createAndWait and notInService is not required."
::= { diffServMIBCompliances 1 } ::= { diffServMIBCompliances 1 }
-- --
-- Read-Only Compliance -- Read-Only Compliance
-- --
diffServMIBReadOnlyCompliance MODULE-COMPLIANCE diffServMIBReadOnlyCompliance MODULE-COMPLIANCE
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"When this MIB is implemented without support for read-create "When this MIB is implemented without support for read-create
(i.e. in read-only mode), then such an implementation can claim (i.e. in read-only mode), then such an implementation can claim
read-only compliance. Such a device can then be monitored but can read-only compliance. Such a device can then be monitored but can
not be configured with this MIB." not be configured with this MIB."
MODULE IF-MIB -- The interfaces MIB, RFC2863
MANDATORY-GROUPS {
ifCounterDiscontinuityGroup
}
MODULE -- This Module MODULE -- This Module
MANDATORY-GROUPS { MANDATORY-GROUPS {
diffServMIBDataPathGroup, diffServMIBClfrGroup, diffServMIBDataPathGroup, diffServMIBClfrGroup,
diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup, diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup,
diffServMIBActionGroup, diffServMIBAlgDropGroup, diffServMIBActionGroup, diffServMIBAlgDropGroup,
diffServMIBQGroup, diffServMIBSchedulerGroup, diffServMIBQGroup, diffServMIBSchedulerGroup,
diffServMIBMaxRateGroup, diffServMIBMinRateGroup diffServMIBMaxRateGroup, diffServMIBMinRateGroup,
diffServMIBCounterGroup
} }
GROUP diffServMIBCounterGroup
DESCRIPTION
"This group is mandatory for table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is less
than or equal to 20,000,000 bits/second."
GROUP diffServMIBHCCounterGroup
DESCRIPTION
"This group is mandatory for table objects indexed by ifIndex 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 table objects indexed by ifIndex for
which the value of the corresponding instance of ifSpeed is
greater than 650,000,000 bits/second."
GROUP diffServMIBMeterGroup GROUP diffServMIBMeterGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices that implement metering "This group is mandatory for devices that implement metering
functions." functions."
GROUP diffServMIBTBParamGroup GROUP diffServMIBTBParamGroup
DESCRIPTION DESCRIPTION
"This group is mandatory for devices that implement token-bucket "This group is mandatory for devices that implement token-bucket
metering functions." metering functions."
skipping to change at page 104, line 15 skipping to change at page 107, line 42
DESCRIPTION DESCRIPTION
"Write access is not required, and active is the only status that "Write access is not required, and active is the only status that
needs to be supported." needs to be supported."
OBJECT diffServActionNextFree OBJECT diffServActionNextFree
MIN-ACCESS not-accessible MIN-ACCESS not-accessible
DESCRIPTION DESCRIPTION
"Object is not needed when diffServActionTable is implemented in "Object is not needed when diffServActionTable is implemented in
read-only mode." read-only mode."
OBJECT diffServActionNext OBJECT diffServActionInterface
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServActionNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionSpecific OBJECT diffServActionSpecific
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServActionStorage OBJECT diffServActionStorage
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
skipping to change at page 108, line 45 skipping to change at page 112, line 27
MIN-ACCESS not-accessible MIN-ACCESS not-accessible
DESCRIPTION DESCRIPTION
"Object is not needed when diffServMinRateTable is implemented in "Object is not needed when diffServMinRateTable is implemented in
read-only mode." read-only mode."
OBJECT diffServMinRatePriority OBJECT diffServMinRatePriority
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMinRateAbs OBJECT diffServMinRateAbsolute
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMinRateRel OBJECT diffServMinRateRelative
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMinRateStorage OBJECT diffServMinRateStorage
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMinRateStatus OBJECT diffServMinRateStatus
skipping to change at page 109, line 26 skipping to change at page 113, line 8
DESCRIPTION DESCRIPTION
"Write access is not required, and active is the only status that "Write access is not required, and active is the only status that
needs to be supported." needs to be supported."
OBJECT diffServMaxRateNextFree OBJECT diffServMaxRateNextFree
MIN-ACCESS not-accessible MIN-ACCESS not-accessible
DESCRIPTION DESCRIPTION
"Object is not needed when diffServMaxrateTable is implemented in "Object is not needed when diffServMaxrateTable is implemented in
read-only mode." read-only mode."
OBJECT diffServMaxRateAbs OBJECT diffServMaxRateAbsolute
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMaxRateRel OBJECT diffServMaxRateRelative
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMaxRateThreshold OBJECT diffServMaxRateThreshold
MIN-ACCESS read-only MIN-ACCESS read-only
DESCRIPTION DESCRIPTION
"Write access is not required." "Write access is not required."
OBJECT diffServMaxRateStorage OBJECT diffServMaxRateStorage
skipping to change at page 112, line 4 skipping to change at page 115, line 34
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Token-Bucket Meter Group defines the objects used in "The Token-Bucket Meter Group defines the objects used in
describing a token bucket meter element." describing a token bucket meter element."
::= { diffServMIBGroups 6 } ::= { diffServMIBGroups 6 }
diffServMIBActionGroup OBJECT-GROUP diffServMIBActionGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServActionNextFree, diffServActionNext, diffServActionNextFree, diffServActionNext,
diffServActionSpecific, diffServActionStorage, diffServActionSpecific, diffServActionStorage,
diffServActionStatus diffServActionInterface, diffServActionStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Action Group defines the objects used in describing a "The Action Group defines the objects used in describing a
generic action element." generic action element."
::= { diffServMIBGroups 7 } ::= { diffServMIBGroups 7 }
diffServMIBDscpMarkActGroup OBJECT-GROUP diffServMIBDscpMarkActGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServDscpMarkActDscp diffServDscpMarkActDscp
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The DSCP Mark Action Group defines the objects used in "The DSCP Mark Action Group defines the objects used in
describing a DSCP Marking Action element." describing a DSCP Marking Action element."
::= { diffServMIBGroups 8 } ::= { diffServMIBGroups 8 }
diffServMIBCounterGroup OBJECT-GROUP diffServMIBCounterGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServCountActNextFree, diffServCountActOctets, diffServCountActOctets, diffServCountActPkts,
diffServCountActPkts, diffServCountActStorage, diffServAlgDropOctets, diffServAlgDropPkts,
diffServCountActStatus, diffServAlgDropOctets, diffServAlgRandomDropOctets, diffServAlgRandomDropPkts,
diffServAlgDropPkts, diffServAlgRandomDropOctets,
diffServAlgRandomDropPkts
}
STATUS current
DESCRIPTION
"A 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."
::= { diffServMIBGroups 9 }
diffServMIBHCCounterGroup OBJECT-GROUP
OBJECTS {
diffServCountActOctets, diffServCountActHCOctets,
diffServCountActPkts, diffServCountActStorage,
diffServCountActStatus, diffServAlgDropOctets,
diffServAlgDropHCOctets, diffServAlgDropPkts,
diffServAlgRandomDropHCOctets,
diffServAlgRandomDropHCPkts
}
STATUS current
DESCRIPTION
"A collection of objects providing information specific to high
speed (high speed interfaces transmit and receive at speeds
greater than 20,000,000 but less than or equals to 650,000,000
bits/second) packet-oriented network interfaces."
::= { diffServMIBGroups 10 }
diffServMIBVHCCounterGroup OBJECT-GROUP
OBJECTS {
diffServCountActOctets, diffServCountActHCOctets,
diffServCountActPkts, diffServCountActHCPkts,
diffServCountActStorage, diffServCountActStatus, diffServCountActStorage, diffServCountActStatus,
diffServAlgDropOctets, diffServAlgDropHCOctets, diffServCountActNextFree
diffServAlgDropPkts, diffServAlgDropHCPkts
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"A collection of objects providing information specific to very- "A collection of objects providing information specific to
high speed (very-high speed interfaces transmit and receive at packet-oriented network interfaces."
speeds greater than 650,000,000 bits/second) packet-oriented ::= { diffServMIBGroups 9 }
network interfaces."
::= { diffServMIBGroups 11 }
diffServMIBAlgDropGroup OBJECT-GROUP diffServMIBAlgDropGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServAlgDropNextFree, diffServAlgDropType, diffServAlgDropNextFree, diffServAlgDropType,
diffServAlgDropNext, diffServAlgDropQMeasure, diffServAlgDropNext, diffServAlgDropQMeasure,
diffServAlgDropQThreshold, diffServAlgDropSpecific, diffServAlgDropQThreshold, diffServAlgDropSpecific,
diffServAlgDropStorage, diffServAlgDropStatus diffServAlgDropStorage, diffServAlgDropStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Algorithmic Drop Group contains the objects that describe "The Algorithmic Drop Group contains the objects that describe
algorithmic dropper operation and configuration." algorithmic dropper operation and configuration."
::= { diffServMIBGroups 12 } ::= { diffServMIBGroups 10 }
diffServMIBRandomDropGroup OBJECT-GROUP diffServMIBRandomDropGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServRandomDropNextFree, diffServRandomDropNextFree,
diffServRandomDropMinThreshBytes, diffServRandomDropMinThreshBytes,
diffServRandomDropMinThreshPkts, diffServRandomDropMinThreshPkts,
diffServRandomDropMaxThreshBytes, diffServRandomDropMaxThreshBytes,
diffServRandomDropMaxThreshPkts, diffServRandomDropMaxThreshPkts,
diffServRandomDropProbMax, diffServRandomDropProbMax,
diffServRandomDropWeight, diffServRandomDropWeight,
diffServRandomDropSamplingRate, diffServRandomDropSamplingRate,
diffServRandomDropStorage, diffServRandomDropStorage,
diffServRandomDropStatus diffServRandomDropStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Random Drop Group augments the Algorithmic Drop Group for "The Random Drop Group augments the Algorithmic Drop Group for
random dropper operation and configuration." random dropper operation and configuration."
::= { diffServMIBGroups 13 } ::= { diffServMIBGroups 11 }
diffServMIBQGroup OBJECT-GROUP diffServMIBQGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServQNextFree, diffServQNext, diffServQMinRate, diffServQNextFree, diffServQNext, diffServQMinRate,
diffServQMaxRate, diffServQStorage, diffServQStatus diffServQMaxRate, diffServQStorage, diffServQStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Queue Group contains the objects that describe an "The Queue Group contains the objects that describe an
interface's queues." interface's queues."
::= { diffServMIBGroups 14 } ::= { diffServMIBGroups 12 }
diffServMIBSchedulerGroup OBJECT-GROUP diffServMIBSchedulerGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServSchedulerNextFree, diffServSchedulerNext, diffServSchedulerNextFree, diffServSchedulerNext,
diffServSchedulerMethod, diffServSchedulerMinRate, diffServSchedulerMethod, diffServSchedulerMinRate,
diffServSchedulerMaxRate, diffServSchedulerStorage, diffServSchedulerMaxRate, diffServSchedulerStorage,
diffServSchedulerStatus diffServSchedulerStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Scheduler Group contains the objects that describe packet "The Scheduler Group contains the objects that describe packet
schedulers on interfaces." schedulers on interfaces."
::= { diffServMIBGroups 15 } ::= { diffServMIBGroups 13 }
diffServMIBMinRateGroup OBJECT-GROUP diffServMIBMinRateGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServMinRateNextFree, diffServMinRatePriority, diffServMinRateNextFree, diffServMinRatePriority,
diffServMinRateAbs, diffServMinRateRel, diffServMinRateAbsolute, diffServMinRateRelative,
diffServMinRateStorage, diffServMinRateStatus diffServMinRateStorage, diffServMinRateStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Minimum Rate Parameter Group contains the objects that "The Minimum Rate Parameter Group contains the objects that
describe packet schedulers' minimum rate or priority guarantees." describe packet schedulers' minimum rate or priority guarantees."
::= { diffServMIBGroups 16 } ::= { diffServMIBGroups 14 }
diffServMIBMaxRateGroup OBJECT-GROUP diffServMIBMaxRateGroup OBJECT-GROUP
OBJECTS { OBJECTS {
diffServMaxRateNextFree, diffServMaxRateAbs, diffServMaxRateNextFree, diffServMaxRateAbsolute,
diffServMaxRateRel, diffServMaxRateThreshold, diffServMaxRateRelative, diffServMaxRateThreshold,
diffServMaxRateStorage, diffServMaxRateStatus diffServMaxRateStorage, diffServMaxRateStatus
} }
STATUS current STATUS current
DESCRIPTION DESCRIPTION
"The Maximum Rate Parameter Group contains the objects that "The Maximum Rate Parameter Group contains the objects that
describe packet schedulers' maximum rate guarantees." describe packet schedulers' maximum rate guarantees."
::= { diffServMIBGroups 17 } ::= { diffServMIBGroups 15 }
END END
7. Acknowledgments 7. Acknowledgments
This MIB builds on all the work that has gone into the Informal This MIB builds on all the work that has gone into the Informal
Management Model for Differentiated Services Routers, Differentiated Management Model for Differentiated Services Routers, Differentiated
Services PIB, and Differentiated Services Policy MIB (SNMPCONF WG). Services PIB, and Differentiated Services Policy MIB (SNMPCONF WG).
It has been developed with the active involvement of many people, but It has been developed with the active involvement of many people, but
most notably Yoram Bernet, Steve Blake, Brian Carpenter, Dave Durham, most notably Yoram Bernet, Steve Blake, Brian Carpenter, Dave Durham,
Michael Fine, Victor Firoiu, Jeremy Greene, Dan Grossman, Roch Guerin, Michael Fine, Victor Firoiu, Jeremy Greene, Dan Grossman, Roch Guerin,
Scott Hahn, Joel Halpern, Van Jacobsen, Keith McCloghrie, Bob Moore, Scott Hahn, Joel Halpern, Van Jacobsen, Keith McCloghrie, Bob Moore,
Kathleen Nichols, Ping Pan, Nabil Seddigh, John Seligson, and Walter Kathleen Nichols, Ping Pan, Nabil Seddigh, John Seligson, and Walter
Weiss. Frank Strauss, Harrie Hazewinkel, and Bert Wijnen are especially Weiss.
to be noted for review comments on the structure and usage of the MIB
for network management purposes, and its compliance with SMIv2. Juergen Schoenwaelder, Dave Perkins, Frank Strauss, Harrie Hazewinkel,
and Bert Wijnen are especially to be noted for review comments on the
structure and usage of the MIB for network management purposes, and its
compliance with SMIv2.
8. Security Considerations 8. Security Considerations
It is clear that this MIB is potentially useful for configuration, and It is clear that this MIB is potentially useful for configuration.
anything that can be configured can be misconfigured, with potentially Anything that can be configured can be misconfigured, with potentially
disastrous effect. disastrous effect.
At this writing, no security holes have been identified beyond those At this writing, no security holes have been identified beyond those
that SNMP Security is itself intended to address. These relate primarily that SNMP Security is itself intended to address. These relate primarily
to controlled access to sensitive information and the ability to to controlled access to sensitive information and the ability to
configure a device - or which might result from operator error, which is configure a device - or which might result from operator error, which is
beyond the scope of any security architecture. beyond the scope of any security architecture.
There are many read-write and read-create management objects defined in There are many read-write and read-create management objects defined in
this MIB. Such objects are often sensitive or vulnerable in some network this MIB. Such objects are often sensitive or vulnerable in some network
skipping to change at page 120, line 16 skipping to change at page 123, line 21
[INTSERVMIB] [INTSERVMIB]
F. Baker, J. Krawczyk, A. Sastry, "Integrated Services Management F. Baker, J. Krawczyk, A. Sastry, "Integrated Services Management
Information Base using SMIv2", RFC 2213, September 1997. Information Base using SMIv2", RFC 2213, September 1997.
[MODEL] [MODEL]
Y. Bernet, S. Blake, A. Smith, D. Grossman, "An Informal Management Y. Bernet, S. Blake, A. Smith, D. Grossman, "An Informal Management
Model for Differentiated Services Routers", Internet Draft <draft- Model for Differentiated Services Routers", Internet Draft <draft-
ietf-Differentiated Services-model-06.txt>, ietf-Differentiated Services-model-06.txt>,
[POLTERM]
F. Reichmeyer, D. Grossman, J. Strassner, M. Condell, "A Common
Terminology for Policy Management", Internet Draft <draft-
[QUEUEMGMT]
B. Braden et al., "Recommendations on Queue Management and
Congestion Avoidance in the Internet", RFC 2309, April 1998.
[RED93] [RED93]
"Random Early Detection", 1993. "Random Early Detection", 1993.
[SRTCM] [srTCM]
J. Heinanen, R. Guerin, "A Single Rate Three Color Marker", RFC J. Heinanen, R. Guerin, "A Single Rate Three Color Marker", RFC
2697, September 1999. 2697, September 1999.
[TRTCM] [trTCM]
J. Heinanen, R. Guerin, "A Two Rate Three Color Marker", RFC 2698, J. Heinanen, R. Guerin, "A Two Rate Three Color Marker", RFC 2698,
September 1999. September 1999.
[TSWTCM] [TSWTCM]
W. Fang, N. Seddigh, B. Nandy "A Time Sliding Window Three Color W. Fang, N. Seddigh, B. Nandy "A Time Sliding Window Three Color
Marker", RFC 2859, June 2000. Marker", RFC 2859, June 2000.
[SHAPER] [SHAPER]
"A Rate Adaptive Shaper for Differentiated Services" FC 2963, "A Rate Adaptive Shaper for Differentiated Services" FC 2963,
October 2000. October 2000.
skipping to change at page 121, line 34 skipping to change at page 124, line 29
2.1 Relationship to the Informal Management Model for 2.1 Relationship to the Informal Management Model for
Differentiated Services Router ............................... 3 Differentiated Services Router ............................... 3
2.2 Relationship to other MIBs and Policy Management .............. 4 2.2 Relationship to other MIBs and Policy Management .............. 4
3 MIB Overview .................................................... 4 3 MIB Overview .................................................... 4
3.1 Processing Path ............................................... 5 3.1 Processing Path ............................................... 5
3.1.1 diffServDataPathTable - The Data Path Table ................. 6 3.1.1 diffServDataPathTable - The Data Path Table ................. 6
3.2 Classifier .................................................... 6 3.2 Classifier .................................................... 6
3.2.1 diffServClfrElementTable - The Classifier Element Table ..... 7 3.2.1 diffServClfrElementTable - The Classifier Element Table ..... 7
3.2.2 diffServMultiFieldClfrTable - The Multi-field Classifier 3.2.2 diffServMultiFieldClfrTable - The Multi-field Classifier
Table ........................................................ 8 Table ........................................................ 8
3.3 Metering Traffic .............................................. 9 3.3 Metering Traffic .............................................. 8
3.3.1 diffServMeterTable - The Meter Table ........................ 10 3.3.1 diffServMeterTable - The Meter Table ........................ 9
3.3.2 diffServTBParamTable - The Token Bucket Parameters Table 3.3.2 diffServTBParamTable - The Token Bucket Parameters Table
.............................................................. 10 .............................................................. 10
3.4 Actions applied to packets .................................... 11 3.4 Actions applied to packets .................................... 10
3.4.1 diffServActionTable - The Action Table ...................... 11 3.4.1 diffServActionTable - The Action Table ...................... 11
3.4.2 diffServCountActTable - The Count Action Table .............. 11 3.4.2 diffServCountActTable - The Count Action Table .............. 11
3.4.3 diffServDscpMarkActTable - The Mark Action Table ............ 12 3.4.3 diffServDscpMarkActTable - The Mark Action Table ............ 12
3.4.4 diffServAlgDropTable - The Algorithmic Drop Table ........... 12 3.4.4 diffServAlgDropTable - The Algorithmic Drop Table ........... 12
3.4.5 diffServRandomDropTable - The Random Drop Parameters Table 3.4.5 diffServRandomDropTable - The Random Drop Parameters Table
.............................................................. 12 .............................................................. 12
3.5 Queuing and Scheduling of Packets ............................. 14 3.5 Queuing and Scheduling of Packets ............................. 14
3.5.1 diffServQTable - The Class or Queue Table ................... 14 3.5.1 diffServQTable - The Class or Queue Table ................... 14
3.5.2 diffServSchedulerTable - The Scheduler Table ................ 15 3.5.2 diffServSchedulerTable - The Scheduler Table ................ 15
3.5.3 diffServMinRateTable - The Minimum Rate Table ............... 15 3.5.3 diffServMinRateTable - The Minimum Rate Table ............... 15
skipping to change at page 122, line 4 skipping to change at page 124, line 45
3.4.2 diffServCountActTable - The Count Action Table .............. 11 3.4.2 diffServCountActTable - The Count Action Table .............. 11
3.4.3 diffServDscpMarkActTable - The Mark Action Table ............ 12 3.4.3 diffServDscpMarkActTable - The Mark Action Table ............ 12
3.4.4 diffServAlgDropTable - The Algorithmic Drop Table ........... 12 3.4.4 diffServAlgDropTable - The Algorithmic Drop Table ........... 12
3.4.5 diffServRandomDropTable - The Random Drop Parameters Table 3.4.5 diffServRandomDropTable - The Random Drop Parameters Table
.............................................................. 12 .............................................................. 12
3.5 Queuing and Scheduling of Packets ............................. 14 3.5 Queuing and Scheduling of Packets ............................. 14
3.5.1 diffServQTable - The Class or Queue Table ................... 14 3.5.1 diffServQTable - The Class or Queue Table ................... 14
3.5.2 diffServSchedulerTable - The Scheduler Table ................ 15 3.5.2 diffServSchedulerTable - The Scheduler Table ................ 15
3.5.3 diffServMinRateTable - The Minimum Rate Table ............... 15 3.5.3 diffServMinRateTable - The Minimum Rate Table ............... 15
3.5.4 diffServMaxRateTable - The Maximum Rate Table ............... 16 3.5.4 diffServMaxRateTable - The Maximum Rate Table ............... 16
3.5.5 Using queues and schedulers together ........................ 16 3.5.5 Using queues and schedulers together ........................ 16
3.6 Example configuration for AF and EF ........................... 19 3.6 Example configuration for AF and EF ........................... 19
3.6.1 AF and EF Ingress Interface Configuration ................... 19 3.6.1 AF and EF Ingress Interface Configuration ................... 19
3.6.1.1 Classification In The Example ............................. 20 3.6.1.1 Classification In The Example ............................. 20
3.6.1.2 AF Implementation On an Ingress Edge Interface ............ 21 3.6.1.2 AF Implementation On an Ingress Edge Interface ............ 21
3.6.1.2.1 AF Metering On an Ingress Edge Interface ................ 21 3.6.1.2.1 AF Metering On an Ingress Edge Interface ................ 21
3.6.1.2.2 AF Actions On an Ingress Edge Interface ................. 21 3.6.1.2.2 AF Actions On an Ingress Edge Interface ................. 21
3.6.1.3 EF Implementation On an Ingress Edge Interface ............ 22 3.6.1.3 EF Implementation On an Ingress Edge Interface ............ 22
3.6.1.3.1 EF Metering On an Ingress Edge Interface ................ 22 3.6.1.3.1 EF Metering On an Ingress Edge Interface ................ 22
3.6.1.3.2 EF Actions On an Ingress Edge Interface ................. 22 3.6.1.3.2 EF Actions On an Ingress Edge Interface ................. 22
3.7 AF and EF Egress Edge Interface Configuration ................. 23 3.7 AF and EF Egress Edge Interface Configuration ................. 23
3.7.1 Classification On an Egress Edge Interface .................. 23 3.7.1 Classification On an Egress Edge Interface .................. 23
3.7.2 AF Implementation On an Egress Edge Interface ............... 24 3.7.2 AF Implementation On an Egress Edge Interface ............... 24
3.7.2.1 AF Metering On an Egress Edge Interface ................... 24 3.7.2.1 AF Metering On an Egress Edge Interface ................... 24
3.7.2.2 AF Actions On an Egress Edge Interface .................... 25 3.7.2.2 AF Actions On an Egress Edge Interface .................... 27
3.7.2.3 AF Rate-based Queuing On an Egress Edge Interface ......... 25 3.7.2.3 AF Rate-based Queuing On an Egress Edge Interface ......... 28
3.7.3 EF Implementation On an Egress Edge Interface ............... 25 3.7.3 EF Implementation On an Egress Edge Interface ............... 28
3.7.3.1 EF Metering On an Egress Edge Interface ................... 26 3.7.3.1 EF Metering On an Egress Edge Interface ................... 28
3.7.3.2 EF Actions On an Egress Edge Interface .................... 26 3.7.3.2 EF Actions On an Egress Edge Interface .................... 28
3.7.3.3 EF Priority Queuing On an Egress Edge Interface ........... 26 3.7.3.3 EF Priority Queuing On an Egress Edge Interface ........... 30
4 Conventions used in this MIB .................................... 26 4 Conventions used in this MIB .................................... 31
4.1 The use of RowPointer to indicate data path linkage ........... 26 4.1 The use of RowPointer to indicate data path linkage ........... 31
4.2 The use of RowPointer to indicate parameters .................. 28 4.2 The use of RowPointer to indicate parameters .................. 32
4.3 Conceptual row creation and deletion .......................... 28 4.3 Conceptual row creation and deletion .......................... 32
5 Extending this MIB .............................................. 29 5 Extending this MIB .............................................. 33
6 MIB Definition .................................................. 30 6 MIB Definition .................................................. 34
7 Acknowledgments ................................................. 116 7 Acknowledgments ................................................. 119
8 Security Considerations ......................................... 116 8 Security Considerations ......................................... 119
9 References ...................................................... 117 9 References ...................................................... 120
10 Authors' Addresses ............................................. 120 10 Authors' Addresses ............................................. 123
11. Full Copyright 11. Full Copyright
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2001). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
 End of changes. 192 change blocks. 
547 lines changed or deleted 620 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/