tech-invite   World Map     

IETF     RFCs     Groups     SIP     ABNFs    |    3GPP     Specs     Glossaries     Architecture     IMS     UICC    |    search

RFC 3289

 
 
 

Management Information Base for the Differentiated Services Architecture

Part 4 of 6, p. 57 to 79
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 57 
    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

Top      Up      ToC       Page 58 
    DESCRIPTION
       "The token-bucket rate, in kilobits per second (kbps). This
       attribute is used for:
       1. CIR in RFC 2697 for srTCM
       2. CIR and PIR in RFC 2698 for trTCM
       3. CTR and PTR in RFC 2859 for TSWTCM
       4. AverageRate in RFC 3290."
    ::= { diffServTBParamEntry 3 }

diffServTBParamBurstSize OBJECT-TYPE
    SYNTAX       BurstSize
    UNITS        "Bytes"
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
       "The maximum number of bytes in a single transmission burst. This
       attribute is used for:
       1. CBS and EBS in RFC 2697 for srTCM
       2. CBS and PBS in RFC 2698 for trTCM
       3. Burst Size in RFC 3290."
    ::= { diffServTBParamEntry 4 }

diffServTBParamInterval OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    UNITS        "microseconds"
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
       "The time interval used with the token bucket.  For:
       1. Average Rate Meter, the Informal Differentiated Services Model
          section 5.2.1, - Delta.
       2. Simple Token Bucket Meter, the Informal Differentiated
          Services Model section 5.1, - time interval t.
       3. RFC 2859 TSWTCM, - AVG_INTERVAL.
       4. RFC 2697 srTCM, RFC 2698 trTCM, - token bucket update time
          interval."
    ::= { diffServTBParamEntry 5 }

diffServTBParamStorage OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
       "The storage type for this conceptual row.  Conceptual rows
       having the value 'permanent' need not allow write-access to any
       columnar objects in the row."
    DEFVAL { nonVolatile }
    ::= { diffServTBParamEntry 6 }

Top      Up      ToC       Page 59 
diffServTBParamStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
       "The status of this conceptual row. All writable objects in this
       row may be modified at any time. Setting this variable to
       'destroy' when the MIB contains one or more RowPointers pointing
       to it results in destruction being delayed until the row is no
       longer used."
    ::= { diffServTBParamEntry 7 }

--
-- OIDs for diffServTBParamType definitions.
--

diffServTBMeters  OBJECT IDENTIFIER ::= { diffServMIBAdmin 1 }

diffServTBParamSimpleTokenBucket OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Two Parameter Token Bucket Meter as described in the Informal
       Differentiated Services Model section 5.2.3."
    ::= { diffServTBMeters 1 }

diffServTBParamAvgRate OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Average Rate Meter as described in the Informal Differentiated
       Services Model section 5.2.1."
    ::= { diffServTBMeters 2 }

diffServTBParamSrTCMBlind OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Single Rate Three Color Marker Metering as defined by RFC 2697,
       in the `Color Blind' mode as described by the RFC."
    REFERENCE
        "RFC 2697"
    ::= { diffServTBMeters 3 }

diffServTBParamSrTCMAware OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Single Rate Three Color Marker Metering as defined by RFC 2697,
       in the `Color Aware' mode as described by the RFC."
    REFERENCE
        "RFC 2697"

Top      Up      ToC       Page 60 
    ::= { diffServTBMeters 4 }

diffServTBParamTrTCMBlind OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Two Rate Three Color Marker Metering as defined by RFC 2698, in
       the `Color Blind' mode as described by the RFC."
    REFERENCE
        "RFC 2698"
    ::= { diffServTBMeters 5 }

diffServTBParamTrTCMAware OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Two Rate Three Color Marker Metering as defined by RFC 2698, in
       the `Color Aware' mode as described by the RFC."
    REFERENCE
        "RFC 2698"
    ::= { diffServTBMeters 6 }

diffServTBParamTswTCM OBJECT-IDENTITY
    STATUS       current
    DESCRIPTION
       "Time Sliding Window Three Color Marker Metering as defined by
       RFC 2859."
    REFERENCE
        "RFC 2859"
    ::= { diffServTBMeters 7 }

--
-- Actions
--

diffServAction         OBJECT IDENTIFIER ::= { diffServMIBObjects 5 }

--
-- The Action Table allows enumeration of the different types of
-- actions to be applied to a traffic flow.
--

diffServActionNextFree OBJECT-TYPE
    SYNTAX       IndexIntegerNextFree
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
       "This object contains an unused value for diffServActionId, or a
       zero to indicate that none exist."
    ::= { diffServAction 1 }

Top      Up      ToC       Page 61 
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

Top      Up      ToC       Page 62 
     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

Top      Up      ToC       Page 63 
    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

Top      Up      ToC       Page 64 
-- 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

Top      Up      ToC       Page 65 
-- 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

Top      Up      ToC       Page 66 
       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

Top      Up      ToC       Page 67 
       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,

Top      Up      ToC       Page 68 
    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,

Top      Up      ToC       Page 69 
       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.

Top      Up      ToC       Page 70 
       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."

Top      Up      ToC       Page 71 
    ::= { 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

Top      Up      ToC       Page 72 
    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 }

Top      Up      ToC       Page 73 
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

Top      Up      ToC       Page 74 
    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

Top      Up      ToC       Page 75 
    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

Top      Up      ToC       Page 76 
    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

Top      Up      ToC       Page 77 
    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

Top      Up      ToC       Page 78 
    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.

Top      Up      ToC       Page 79 
       Setting this to point to a target that does not exist results in
       an inconsistentValue error.  If the row pointed to is removed or
       becomes inactive by other means, the treatment is as if this
       attribute contains a value of zeroDotZero."
    ::= { diffServQEntry 4 }

diffServQStorage OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
       "The storage type for this conceptual row.  Conceptual rows
       having the value 'permanent' need not allow write-access to any
       columnar objects in the row."
    DEFVAL { nonVolatile }
    ::= { diffServQEntry 5 }

diffServQStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
       "The status of this conceptual row. All writable objects in this
       row may be modified at any time. Setting this variable to
       'destroy' when the MIB contains one or more RowPointers pointing
       to it results in destruction being delayed until the row is no
       longer used."
    ::= { diffServQEntry 6 }

--
-- Scheduler Table
--

diffServScheduler      OBJECT IDENTIFIER ::= { diffServMIBObjects 8 }

--
-- A Scheduler Entry represents a packet scheduler, such as a priority
-- scheduler or a WFQ scheduler. It provides flexibility for multiple
-- scheduling algorithms, each servicing multiple queues, to be used on
-- the same logical/physical interface.
--
-- Note that upstream queues or schedulers specify several of the
-- scheduler's parameters. These must be properly specified if the
-- scheduler is to behave as expected.
--
-- The diffServSchedulerMaxRate attribute specifies the parameters when
-- a scheduler's output is sent to another scheduler. This is used in
-- building hierarchical queues or schedulers.


Next RFC Part