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