MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row. Conceptual rows
having the value 'permanent' need not allow write-access to any
columnar objects in the row."
DEFVAL { nonVolatile }
::= { diffServQEntry 5 }
diffServQStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row. All writable objects in this
row may be modified at any time. Setting this variable to
'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServQEntry 6 }
--
-- Scheduler Table
--
diffServScheduler OBJECT IDENTIFIER ::= { diffServMIBObjects 8 }
--
-- A Scheduler Entry represents a packet scheduler, such as a priority
-- scheduler or a WFQ scheduler. It provides flexibility for multiple
-- scheduling algorithms, each servicing multiple queues, to be used on
-- the same logical/physical interface.
--
-- Note that upstream queues or schedulers specify several of the
-- scheduler's parameters. These must be properly specified if the
-- scheduler is to behave as expected.
--
-- The diffServSchedulerMaxRate attribute specifies the parameters when
-- a scheduler's output is sent to another scheduler. This is used in
-- building hierarchical queues or schedulers.
--
-- More discussion of the scheduler functional data path element is in
-- the Informal Differentiated Services Model section 7.1.2.
--
diffServSchedulerNextFree OBJECT-TYPE
SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains an unused value for diffServSchedulerId, or
a zero to indicate that none exist."
::= { diffServScheduler 1 }
diffServSchedulerTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServSchedulerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Scheduler Table enumerates packet schedulers. Multiple
scheduling algorithms can be used on a given data path, with each
algorithm described by one diffServSchedulerEntry."
::= { diffServScheduler 2 }
diffServSchedulerEntry OBJECT-TYPE
SYNTAX DiffServSchedulerEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the Scheduler Table describing a single instance of
a scheduling algorithm."
INDEX { diffServSchedulerId }
::= { diffServSchedulerTable 1 }
DiffServSchedulerEntry ::= SEQUENCE {
diffServSchedulerId IndexInteger,
diffServSchedulerNext RowPointer,
diffServSchedulerMethod AutonomousType,
diffServSchedulerMinRate RowPointer,
diffServSchedulerMaxRate RowPointer,
diffServSchedulerStorage StorageType,
diffServSchedulerStatus RowStatus
}
diffServSchedulerId OBJECT-TYPE
SYNTAX IndexInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that enumerates the Scheduler entries. Managers obtain
new values for row creation in this table by reading
diffServSchedulerNextFree."
::= { diffServSchedulerEntry 1 }
diffServSchedulerNext OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This selects the next Differentiated Services Functional Data
Path Element to handle traffic for this data path. This normally
is null (zeroDotZero), or points to a diffServSchedulerEntry or a
diffServQEntry.
However, this RowPointer may also point to an instance of:
diffServClfrEntry,
diffServMeterEntry,
diffServActionEntry,
diffServAlgDropEntry.
It would point another diffServSchedulerEntry when implementing
multiple scheduler methods for the same data path, such as having
one set of queues scheduled by WRR and that group participating
in a priority scheduling system in which other queues compete
with it in that way. It might also point to a second scheduler
in a hierarchical scheduling system.
If the row pointed to is zeroDotZero, no further Differentiated
Services treatment is performed on traffic 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 }
::= { diffServSchedulerEntry 2 }
diffServSchedulerMethod OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The scheduling algorithm used by this Scheduler. zeroDotZero
indicates that this is unknown. Standard values for generic
algorithms: diffServSchedulerPriority, diffServSchedulerWRR, and
diffServSchedulerWFQ are specified in this MIB; additional values
may be further specified in other MIBs."
::= { diffServSchedulerEntry 3 }
diffServSchedulerMinRate OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This RowPointer indicates the entry in diffServMinRateTable
which indicates the priority or minimum output rate from this
scheduler. This attribute is used only when there is more than
one level of scheduler.
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 }
::= { diffServSchedulerEntry 4 }
diffServSchedulerMaxRate OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This RowPointer indicates the entry in diffServMaxRateTable
which indicates the maximum output rate from this scheduler.
When more than one maximum rate applies (eg, when a multi-rate
shaper is in view), it points to the first of those rate entries.
This attribute is used only when there is more than one level of
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 }
::= { diffServSchedulerEntry 5 }
diffServSchedulerStorage OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row. Conceptual rows
having the value 'permanent' need not allow write-access to any
columnar objects in the row."
DEFVAL { nonVolatile }
::= { diffServSchedulerEntry 6 }
diffServSchedulerStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row. All writable objects in this
row may be modified at any time. Setting this variable to
'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServSchedulerEntry 7 }
--
-- OIDs for diffServTBParamType definitions.
--
diffServSchedulers OBJECT IDENTIFIER ::= { diffServMIBAdmin 2 }
diffServSchedulerPriority OBJECT-IDENTITY
STATUS current
DESCRIPTION
"For use with diffServSchedulerMethod to indicate the Priority
scheduling method. This is defined as an algorithm in which the
presence of data in a queue or set of queues absolutely precludes
dequeue from another queue or set of queues of lower priority.
Note that attributes from diffServMinRateEntry of the
queues/schedulers feeding this scheduler are used when
determining the next packet to schedule."
::= { diffServSchedulers 1 }
diffServSchedulerWRR OBJECT-IDENTITY
STATUS current
DESCRIPTION
"For use with diffServSchedulerMethod to indicate the Weighted
Round Robin scheduling method, defined as any algorithm in which
a set of queues are visited in a fixed order, and varying amounts
of traffic are removed from each queue in turn to implement an
average output rate by class. Notice attributes from
diffServMinRateEntry of the queues/schedulers feeding this
scheduler are used when determining the next packet to schedule."
::= { diffServSchedulers 2 }
diffServSchedulerWFQ OBJECT-IDENTITY
STATUS current
DESCRIPTION
"For use with diffServSchedulerMethod to indicate the Weighted
Fair Queuing scheduling method, defined as any algorithm in which
a set of queues are conceptually visited in some order, to
implement an average output rate by class. Notice attributes from
diffServMinRateEntry of the queues/schedulers feeding this
scheduler are used when determining the next packet to schedule."
::= { diffServSchedulers 3 }
--
-- Minimum Rate Parameters Table
--
-- The parameters used by a scheduler for its inputs or outputs are
-- maintained separately from the Queue or Scheduler table entries for
-- reusability reasons and so that they may be used by both queues and
-- schedulers. This follows the approach for separation of data path
-- elements from parameterization that is used throughout this MIB.
-- Use of these Minimum Rate Parameter Table entries by Queues and
-- Schedulers allows the modeling of hierarchical scheduling systems.
--
-- Specifically, a Scheduler has one or more inputs and one output.
-- Any queue feeding a scheduler, or any scheduler which feeds a second
-- scheduler, might specify a minimum transfer rate by pointing to an
-- Minimum Rate Parameter Table entry.
--
-- The diffServMinRatePriority/Abs/Rel attributes are used as
-- parameters to the work-conserving portion of a scheduler:
-- "work-conserving" implies that the scheduler can continue to emit
-- data as long as there is data available at its input(s). This has
-- the effect of guaranteeing a certain priority relative to other
-- scheduler inputs and/or a certain minimum proportion of the
-- available output bandwidth. Properly configured, this means a
-- certain minimum rate, which may be exceeded should traffic be
-- available should there be spare bandwidth after all other classes
-- have had opportunities to consume their own minimum rates.
--
diffServMinRateNextFree OBJECT-TYPE
SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains an unused value for diffServMinRateId, or a
zero to indicate that none exist."
::= { diffServScheduler 3 }
diffServMinRateTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServMinRateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Minimum Rate Parameters Table enumerates individual sets of
scheduling parameter that can be used/reused by Queues and
Schedulers."
::= { diffServScheduler 4 }
diffServMinRateEntry OBJECT-TYPE
SYNTAX DiffServMinRateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the Minimum Rate Parameters Table describes a single
set of scheduling parameters for use by one or more queues or
schedulers."
INDEX { diffServMinRateId }
::= { diffServMinRateTable 1 }
DiffServMinRateEntry ::= SEQUENCE {
diffServMinRateId IndexInteger,
diffServMinRatePriority Unsigned32,
diffServMinRateAbsolute Unsigned32,
diffServMinRateRelative Unsigned32,
diffServMinRateStorage StorageType,
diffServMinRateStatus RowStatus
}
diffServMinRateId OBJECT-TYPE
SYNTAX IndexInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that enumerates the Scheduler Parameter entries.
Managers obtain new values for row creation in this table by
reading diffServMinRateNextFree."
::= { diffServMinRateEntry 1 }
diffServMinRatePriority OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The priority of this input to the associated scheduler, relative
to the scheduler's other inputs. A queue or scheduler with a
larger numeric value will be served before another with a smaller
numeric value."
::= { diffServMinRateEntry 2 }
diffServMinRateAbsolute OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "kilobits per second"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The minimum absolute rate, in kilobits/sec, that a downstream
scheduler element should allocate to this queue. If the value is
zero, then there is effectively no minimum rate guarantee. If the
value is non-zero, the scheduler will assure the servicing of
this queue to at least this rate.
Note that this attribute value and that of
diffServMinRateRelative are coupled: changes to one will affect
the value of the other. They are linked by the following
equation, in that setting one will change the other:
diffServMinRateRelative =
(diffServMinRateAbsolute*1000000)/ifSpeed
or, if appropriate:
diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC2863"
::= { diffServMinRateEntry 3 }
diffServMinRateRelative OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The minimum rate that a downstream scheduler element should
allocate to this queue, relative to the maximum rate of the
interface as reported by ifSpeed or ifHighSpeed, in units of
1/1000 of 1. If the value is zero, then there is effectively no
minimum rate guarantee. If the value is non-zero, the scheduler
will assure the servicing of this queue to at least this rate.
Note that this attribute value and that of
diffServMinRateAbsolute are coupled: changes to one will affect
the value of the other. They are linked by the following
equation, in that setting one will change the other:
diffServMinRateRelative =
(diffServMinRateAbsolute*1000000)/ifSpeed
or, if appropriate:
diffServMinRateRelative = diffServMinRateAbsolute/ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC2863"
::= { diffServMinRateEntry 4 }
diffServMinRateStorage OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row. Conceptual rows
having the value 'permanent' need not allow write-access to any
columnar objects in the row."
DEFVAL { nonVolatile }
::= { diffServMinRateEntry 5 }
diffServMinRateStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row. All writable objects in this
row may be modified at any time. Setting this variable to
'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServMinRateEntry 6 }
--
-- Maximum Rate Parameter Table
--
-- The parameters used by a scheduler for its inputs or outputs are
-- maintained separately from the Queue or Scheduler table entries for
-- reusability reasons and so that they may be used by both queues and
-- schedulers. This follows the approach for separation of data path
-- elements from parameterization that is used throughout this MIB.
-- Use of these Maximum Rate Parameter Table entries by Queues and
-- Schedulers allows the modeling of hierarchical scheduling systems.
--
-- Specifically, a Scheduler has one or more inputs and one output.
-- Any queue feeding a scheduler, or any scheduler which feeds a second
-- scheduler, might specify a maximum transfer rate by pointing to a
-- Maximum Rate Parameter Table entry. Multi-rate shapers, such as a
-- Dual Leaky Bucket algorithm, specify their rates using multiple
-- Maximum Rate Parameter Entries with the same diffServMaxRateId but
-- different diffServMaxRateLevels.
--
-- The diffServMaxRateLevel/Abs/Rel attributes are used as
-- parameters to the non-work-conserving portion of a scheduler:
-- non-work-conserving implies that the scheduler may sometimes not
-- emit a packet, even if there is data available at its input(s).
-- This has the effect of limiting the servicing of the queue/scheduler
-- input or output, in effect performing shaping of the packet stream
-- passing through the queue/scheduler, as described in the Informal
-- Differentiated Services Model section 7.2.
--
diffServMaxRateNextFree OBJECT-TYPE
SYNTAX IndexIntegerNextFree
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains an unused value for diffServMaxRateId, or a
zero to indicate that none exist."
::= { diffServScheduler 5 }
diffServMaxRateTable OBJECT-TYPE
SYNTAX SEQUENCE OF DiffServMaxRateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Maximum Rate Parameter Table enumerates individual sets of
scheduling parameter that can be used/reused by Queues and
Schedulers."
::= { diffServScheduler 6 }
diffServMaxRateEntry OBJECT-TYPE
SYNTAX DiffServMaxRateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry in the Maximum Rate Parameter Table describes a single
set of scheduling parameters for use by one or more queues or
schedulers."
INDEX { diffServMaxRateId, diffServMaxRateLevel }
::= { diffServMaxRateTable 1 }
DiffServMaxRateEntry ::= SEQUENCE {
diffServMaxRateId IndexInteger,
diffServMaxRateLevel Unsigned32,
diffServMaxRateAbsolute Unsigned32,
diffServMaxRateRelative Unsigned32,
diffServMaxRateThreshold BurstSize,
diffServMaxRateStorage StorageType,
diffServMaxRateStatus RowStatus
}
diffServMaxRateId OBJECT-TYPE
SYNTAX IndexInteger
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that enumerates the Maximum Rate Parameter entries.
Managers obtain new values for row creation in this table by
reading diffServMaxRateNextFree."
::= { diffServMaxRateEntry 1 }
diffServMaxRateLevel OBJECT-TYPE
SYNTAX Unsigned32 (1..32)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An index that indicates which level of a multi-rate shaper is
being given its parameters. A multi-rate shaper has some number
of rate levels. Frame Relay's dual rate specification refers to a
'committed' and an 'excess' rate; ATM's dual rate specification
refers to a 'mean' and a 'peak' rate. This table is generalized
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
configured, and if there are other rates they are distributed in
monotonically increasing order between them."
::= { diffServMaxRateEntry 2 }
diffServMaxRateAbsolute OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
UNITS "kilobits per second"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum rate in kilobits/sec that a downstream scheduler
element should allocate to this queue. If the value is zero, then
there is effectively no maximum rate limit and that the scheduler
should attempt to be work conserving for this queue. If the value
is non-zero, the scheduler will limit the servicing of this queue
to, at most, this rate in a non-work-conserving manner.
Note that this attribute value and that of
diffServMaxRateRelative are coupled: changes to one will affect
the value of the other. They are linked by the following
equation, in that setting one will change the other:
diffServMaxRateRelative =
(diffServMaxRateAbsolute*1000000)/ifSpeed
or, if appropriate:
diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC2863"
::= { diffServMaxRateEntry 3 }
diffServMaxRateRelative OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The maximum rate that a downstream scheduler element should
allocate to this queue, relative to the maximum rate of the
interface as reported by ifSpeed or ifHighSpeed, in units of
1/1000 of 1. If the value is zero, then there is effectively no
maximum rate limit and the scheduler should attempt to be work
conserving for this queue. If the value is non-zero, the
scheduler will limit the servicing of this queue to, at most,
this rate in a non-work-conserving manner.
Note that this attribute value and that of
diffServMaxRateAbsolute are coupled: changes to one will affect
the value of the other. They are linked by the following
equation, in that setting one will change the other:
diffServMaxRateRelative =
(diffServMaxRateAbsolute*1000000)/ifSpeed
or, if appropriate:
diffServMaxRateRelative = diffServMaxRateAbsolute/ifHighSpeed"
REFERENCE
"ifSpeed, ifHighSpeed, Interface MIB, RFC2863"
::= { diffServMaxRateEntry 4 }
diffServMaxRateThreshold OBJECT-TYPE
SYNTAX BurstSize
UNITS "Bytes"
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The number of bytes of queue depth at which the rate of a
multi-rate scheduler will increase to the next output rate. In
the last conceptual row for such a shaper, this threshold is
ignored and by convention is zero."
REFERENCE
"Adaptive rate Shaper, RFC2963"
::= { diffServMaxRateEntry 5 }
diffServMaxRateStorage OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this conceptual row. Conceptual rows
having the value 'permanent' need not allow write-access to any
columnar objects in the row."
DEFVAL { nonVolatile }
::= { diffServMaxRateEntry 6 }
diffServMaxRateStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The status of this conceptual row. All writable objects in this
row may be modified at any time. Setting this variable to
'destroy' when the MIB contains one or more RowPointers pointing
to it results in destruction being delayed until the row is no
longer used."
::= { diffServMaxRateEntry 7 }
--
-- MIB Compliance statements.
--
diffServMIBCompliances OBJECT IDENTIFIER ::=
{ diffServMIBConformance 1 }
diffServMIBGroups OBJECT IDENTIFIER ::=
{ diffServMIBConformance 2 }
diffServMIBFullCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"When this MIB is implemented with support for read-create, then
such an implementation can claim full compliance. Such devices
can then be both monitored and configured with this MIB."
MODULE IF-MIB -- The interfaces MIB, RFC2863
MANDATORY-GROUPS {
ifCounterDiscontinuityGroup
}
MODULE -- This Module
MANDATORY-GROUPS {
diffServMIBDataPathGroup, diffServMIBClfrGroup,
diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup,
diffServMIBActionGroup, diffServMIBAlgDropGroup,
diffServMIBQGroup, diffServMIBSchedulerGroup,
diffServMIBMaxRateGroup, diffServMIBMinRateGroup,
diffServMIBCounterGroup
}
GROUP diffServMIBMeterGroup
DESCRIPTION
"This group is mandatory for devices that implement metering
functions."
GROUP diffServMIBTBParamGroup
DESCRIPTION
"This group is mandatory for devices that implement token-bucket
metering functions."
GROUP diffServMIBDscpMarkActGroup
DESCRIPTION
"This group is mandatory for devices that implement DSCP-Marking
functions."
GROUP diffServMIBRandomDropGroup
DESCRIPTION
"This group is mandatory for devices that implement Random Drop
functions."
OBJECT diffServDataPathStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServClfrStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServClfrElementStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServMultiFieldClfrAddrType
SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
DESCRIPTION
"An implementation is only required to support IPv4 and IPv6
addresses."
OBJECT diffServMultiFieldClfrDstAddr
SYNTAX InetAddress (SIZE(0|4|16))
DESCRIPTION
"An implementation is only required to support IPv4 and globally
unique IPv6 addresses."
OBJECT diffServAlgDropStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServRandomDropStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServQStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServSchedulerStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServMinRateStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
OBJECT diffServMaxRateStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION
"Support for createAndWait and notInService is not required."
::= { diffServMIBCompliances 1 }
--
-- Read-Only Compliance
--
diffServMIBReadOnlyCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"When this MIB is implemented without support for read-create
(i.e. in read-only mode), then such an implementation can claim
read-only compliance. Such a device can then be monitored but can
not be configured with this MIB."
MODULE IF-MIB -- The interfaces MIB, RFC2863
MANDATORY-GROUPS {
ifCounterDiscontinuityGroup
}
MODULE -- This Module
MANDATORY-GROUPS {
diffServMIBDataPathGroup, diffServMIBClfrGroup,
diffServMIBClfrElementGroup, diffServMIBMultiFieldClfrGroup,
diffServMIBActionGroup, diffServMIBAlgDropGroup,
diffServMIBQGroup, diffServMIBSchedulerGroup,
diffServMIBMaxRateGroup, diffServMIBMinRateGroup,
diffServMIBCounterGroup
}
GROUP diffServMIBMeterGroup
DESCRIPTION
"This group is mandatory for devices that implement metering
functions."
GROUP diffServMIBTBParamGroup
DESCRIPTION
"This group is mandatory for devices that implement token-bucket
metering functions."
GROUP diffServMIBDscpMarkActGroup
DESCRIPTION
"This group is mandatory for devices that implement DSCP-Marking
functions."
GROUP diffServMIBRandomDropGroup
DESCRIPTION
"This group is mandatory for devices that implement Random Drop
functions."
OBJECT diffServDataPathStart
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServDataPathStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServDataPathStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServClfrNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object not needed when diffServClfrTable is implemented read-
only"
OBJECT diffServClfrStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClfrStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServClfrElementNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object not needed when diffServClfrelementTable is implemented
read-only"
OBJECT diffServClfrElementPrecedence
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClfrElementNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClfrElementSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClfrElementStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServClfrElementStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServMultiFieldClfrNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServMultiFieldClfrTable is
implemented in read-only mode."
OBJECT diffServMultiFieldClfrAddrType
SYNTAX InetAddressType { unknown(0), ipv4(1), ipv6(2) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required. An implementation is only required
to support IPv4 and IPv6 addresses."
OBJECT diffServMultiFieldClfrDstAddr
SYNTAX InetAddress (SIZE(0|4|16))
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required. An implementation is only required
to support IPv4 and globally unique IPv6 addresses."
OBJECT diffServMultiFieldClfrDstPrefixLength
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrSrcAddr
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required. An implementation is only required
to support IPv4 and globally unique IPv6 addresses."
OBJECT diffServMultiFieldClfrSrcPrefixLength
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrDscp
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrFlowId
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrProtocol
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrDstL4PortMin
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrDstL4PortMax
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrSrcL4PortMin
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrSrcL4PortMax
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMultiFieldClfrStatus
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, createAndWait and notInService
support is not required."
OBJECT diffServMeterNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServMultiFieldClfrTable is
implemented in read-only mode."
OBJECT diffServMeterSucceedNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMeterFailNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMeterSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMeterStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMeterStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServTBParamNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServTBParamTable is implemented in
read-only mode."
OBJECT diffServTBParamType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBParamRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBParamBurstSize
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBParamInterval
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBParamStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServTBParamStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServActionNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServActionTable is implemented in
read-only mode."
OBJECT diffServActionInterface
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServActionStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServCountActNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServCountActTable is implemented
in read-only mode."
OBJECT diffServCountActStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServCountActStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServAlgDropNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServAlgDropTable is implemented in
read-only mode."
OBJECT diffServAlgDropType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServAlgDropNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServAlgDropQMeasure
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServAlgDropQThreshold
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServAlgDropSpecific
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServAlgDropStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServAlgDropStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServRandomDropNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServRandomDropTable is implemented
in read-only mode."
OBJECT diffServRandomDropMinThreshBytes
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropMinThreshPkts
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropMaxThreshBytes
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropMaxThreshPkts
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropProbMax
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropWeight
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropSamplingRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServRandomDropStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServQNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServQTable is implemented in
read-only mode."
OBJECT diffServQNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQMinRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQMaxRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServQStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServSchedulerNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServSchedulerTable is implemented
in read-only mode."
OBJECT diffServSchedulerNext
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServSchedulerMethod
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServSchedulerMinRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServSchedulerMaxRate
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServSchedulerStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServSchedulerStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServMinRateNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServMinRateTable is implemented in
read-only mode."
OBJECT diffServMinRatePriority
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMinRateAbsolute
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMinRateRelative
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMinRateStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMinRateStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
OBJECT diffServMaxRateNextFree
MIN-ACCESS not-accessible
DESCRIPTION
"Object is not needed when diffServMaxrateTable is implemented in
read-only mode."
OBJECT diffServMaxRateAbsolute
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMaxRateRelative
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMaxRateThreshold
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMaxRateStorage
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT diffServMaxRateStatus
SYNTAX RowStatus { active(1) }
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required, and active is the only status that
needs to be supported."
::= { diffServMIBCompliances 2 }
diffServMIBDataPathGroup OBJECT-GROUP
OBJECTS {
diffServDataPathStart, diffServDataPathStorage,
diffServDataPathStatus
}
STATUS current
DESCRIPTION
"The Data Path Group defines the MIB Objects that describe a
functional data path."
::= { diffServMIBGroups 1 }
diffServMIBClfrGroup OBJECT-GROUP
OBJECTS {
diffServClfrNextFree, diffServClfrStorage,
diffServClfrStatus
}
STATUS current
DESCRIPTION
"The Classifier Group defines the MIB Objects that describe the
list the starts of individual classifiers."
::= { diffServMIBGroups 2 }
diffServMIBClfrElementGroup OBJECT-GROUP
OBJECTS {
diffServClfrElementNextFree,
diffServClfrElementPrecedence, diffServClfrElementNext,
diffServClfrElementSpecific, diffServClfrElementStorage,
diffServClfrElementStatus
}
STATUS current
DESCRIPTION
"The Classifier Element Group defines the MIB Objects that
describe the classifier elements that make up a generic
classifier."
::= { diffServMIBGroups 3 }
diffServMIBMultiFieldClfrGroup OBJECT-GROUP
OBJECTS {
diffServMultiFieldClfrNextFree,
diffServMultiFieldClfrAddrType,
diffServMultiFieldClfrDstAddr,
diffServMultiFieldClfrDstPrefixLength,
diffServMultiFieldClfrFlowId,
diffServMultiFieldClfrSrcAddr,
diffServMultiFieldClfrSrcPrefixLength,
diffServMultiFieldClfrDscp,
diffServMultiFieldClfrProtocol,
diffServMultiFieldClfrDstL4PortMin,
diffServMultiFieldClfrDstL4PortMax,
diffServMultiFieldClfrSrcL4PortMin,
diffServMultiFieldClfrSrcL4PortMax,
diffServMultiFieldClfrStorage,
diffServMultiFieldClfrStatus
}
STATUS current
DESCRIPTION
"The Multi-field Classifier Group defines the MIB Objects that
describe a classifier element for matching on various fields of
an IP and upper-layer protocol header."
::= { diffServMIBGroups 4 }
diffServMIBMeterGroup OBJECT-GROUP
OBJECTS {
diffServMeterNextFree, diffServMeterSucceedNext,
diffServMeterFailNext, diffServMeterSpecific,
diffServMeterStorage, diffServMeterStatus
}
STATUS current
DESCRIPTION
"The Meter Group defines the objects used in describing a generic
meter element."
::= { diffServMIBGroups 5 }
diffServMIBTBParamGroup OBJECT-GROUP
OBJECTS {
diffServTBParamNextFree, diffServTBParamType,
diffServTBParamRate, diffServTBParamBurstSize,
diffServTBParamInterval, diffServTBParamStorage,
diffServTBParamStatus
}
STATUS current
DESCRIPTION
"The Token-Bucket Meter Group defines the objects used in
describing a token bucket meter element."
::= { diffServMIBGroups 6 }
diffServMIBActionGroup OBJECT-GROUP
OBJECTS {
diffServActionNextFree, diffServActionNext,
diffServActionSpecific, diffServActionStorage,
diffServActionInterface, diffServActionStatus
}
STATUS current
DESCRIPTION
"The Action Group defines the objects used in describing a
generic action element."
::= { diffServMIBGroups 7 }
diffServMIBDscpMarkActGroup OBJECT-GROUP
OBJECTS {
diffServDscpMarkActDscp
}
STATUS current
DESCRIPTION
"The DSCP Mark Action Group defines the objects used in
describing a DSCP Marking Action element."
::= { diffServMIBGroups 8 }
diffServMIBCounterGroup OBJECT-GROUP
OBJECTS {
diffServCountActOctets, diffServCountActPkts,
diffServAlgDropOctets, diffServAlgDropPkts,
diffServAlgRandomDropOctets, diffServAlgRandomDropPkts,
diffServCountActStorage, diffServCountActStatus,
diffServCountActNextFree
}
STATUS current
DESCRIPTION
"A collection of objects providing information specific to
packet-oriented network interfaces."
::= { diffServMIBGroups 9 }
diffServMIBAlgDropGroup OBJECT-GROUP
OBJECTS {
diffServAlgDropNextFree, diffServAlgDropType,
diffServAlgDropNext, diffServAlgDropQMeasure,
diffServAlgDropQThreshold, diffServAlgDropSpecific,
diffServAlgDropStorage, diffServAlgDropStatus
}
STATUS current
DESCRIPTION
"The Algorithmic Drop Group contains the objects that describe
algorithmic dropper operation and configuration."
::= { diffServMIBGroups 10 }
diffServMIBRandomDropGroup OBJECT-GROUP
OBJECTS {
diffServRandomDropNextFree,
diffServRandomDropMinThreshBytes,
diffServRandomDropMinThreshPkts,
diffServRandomDropMaxThreshBytes,
diffServRandomDropMaxThreshPkts,
diffServRandomDropProbMax,
diffServRandomDropWeight,
diffServRandomDropSamplingRate,
diffServRandomDropStorage,
diffServRandomDropStatus
}
STATUS current
DESCRIPTION
"The Random Drop Group augments the Algorithmic Drop Group for
random dropper operation and configuration."
::= { diffServMIBGroups 11 }
diffServMIBQGroup OBJECT-GROUP
OBJECTS {
diffServQNextFree, diffServQNext, diffServQMinRate,
diffServQMaxRate, diffServQStorage, diffServQStatus
}
STATUS current
DESCRIPTION
"The Queue Group contains the objects that describe an
interface's queues."
::= { diffServMIBGroups 12 }
diffServMIBSchedulerGroup OBJECT-GROUP
OBJECTS {
diffServSchedulerNextFree, diffServSchedulerNext,
diffServSchedulerMethod, diffServSchedulerMinRate,
diffServSchedulerMaxRate, diffServSchedulerStorage,
diffServSchedulerStatus
}
STATUS current
DESCRIPTION
"The Scheduler Group contains the objects that describe packet
schedulers on interfaces."
::= { diffServMIBGroups 13 }
diffServMIBMinRateGroup OBJECT-GROUP
OBJECTS {
diffServMinRateNextFree, diffServMinRatePriority,
diffServMinRateAbsolute, diffServMinRateRelative,
diffServMinRateStorage, diffServMinRateStatus
}
STATUS current
DESCRIPTION
"The Minimum Rate Parameter Group contains the objects that
describe packet schedulers' minimum rate or priority guarantees."
::= { diffServMIBGroups 14 }
diffServMIBMaxRateGroup OBJECT-GROUP
OBJECTS {
diffServMaxRateNextFree, diffServMaxRateAbsolute,
diffServMaxRateRelative, diffServMaxRateThreshold,
diffServMaxRateStorage, diffServMaxRateStatus
}
STATUS current
DESCRIPTION
"The Maximum Rate Parameter Group contains the objects that
describe packet schedulers' maximum rate guarantees."
::= { diffServMIBGroups 15 }
END
7. Acknowledgments
This MIB builds on all the work that has gone into the Informal
Management Model for Differentiated Services Routers, Differentiated
Services PIB, and Differentiated Services Policy MIB (SNMPCONF WG).
It has been developed with the active involvement of many people, but
most notably Yoram Bernet, Steve Blake, Brian Carpenter, Dave Durham,
Michael Fine, Victor Firoiu, Jeremy Greene, Dan Grossman, Roch
Guerin, Scott Hahn, Joel Halpern, Van Jacobsen, Keith McCloghrie, Bob
Moore, Kathleen Nichols, Ping Pan, Nabil Seddigh, John Seligson, and
Walter Weiss.
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
It is clear that this MIB is potentially useful for configuration.
Anything that can be configured can be misconfigured, with
potentially disastrous effects.
At this writing, no security holes have been identified beyond those
that SNMP Security is itself intended to address. These relate
primarily to controlled access to sensitive information and the
ability to configure a device - or which might result from operator
error, which is beyond the scope of any security architecture.
There are many read-write and read-create management objects defined
in this MIB. Such objects are often sensitive or vulnerable in some
network environments. The support for SET operations in a non-secure
environment without proper protection can have a negative effect on
network operations. The use of SNMP Version 3 is recommended over
prior versions for configuration control as its security model is
improved.
There are a number of managed objects in this MIB that may contain
information that may be sensitive from a business perspective, in
that they may represent a customer's service contract or the filters
that the service provider chooses to apply to a customer's ingress or
egress traffic. There are no objects which are sensitive in their
own right, such as passwords or monetary amounts.