tech-invite   World Map     

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

RFC 3317

 
 
 

Differentiated Services Quality of Service Policy Information Base

Part 3 of 4, p. 54 to 90
Prev RFC Part       Next RFC Part

 


prevText      Top      Up      ToC       Page 54 
dsTBParamBurstSize OBJECT-TYPE
    SYNTAX       BurstSize
    UNITS        "Bytes"
    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, section 5."
    ::= { dsTBParamEntry 4 }

dsTBParamInterval OBJECT-TYPE
    SYNTAX       Unsigned32  (1..4294967295)
    UNITS        "microseconds"
    STATUS       current
    DESCRIPTION
       "The time interval used with the token bucket.  For:
       1. Average Rate Meter, RFC 3290, section 5.1.1,
         -Delta.
       2. Simple Token Bucket Meter, RFC 3290, section
          5.1.3, - time interval t.
       3. RFC 2859  TSWTCM, -  AVG_INTERVAL.
       4. RFC 2697 srTCM, RFC 2698 trTCM, - token
          bucket update time interval."
    ::= { dsTBParamEntry 5 }

--
-- Actions
--

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

dsActionTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsActionEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The Action Table enumerates actions that can be per-
       formed to a stream of traffic.  Multiple actions can
       be concatenated.

       Specific actions are indicated by dsAction-
       Specific which points to an entry of a specific
       action type parameterizing the action in detail."

Top      Up      ToC       Page 55 
    REFERENCE
        "An Informal Management Model for Diffserv Routers,
        RFC 3290, section 6."
    ::= { dsPolicyClasses 6 }

dsActionEntry OBJECT-TYPE
    SYNTAX       DsActionEntry
    STATUS       current
    DESCRIPTION
       "Each entry in the action table allows description of
       one specific action to be applied to traffic."
    PIB-INDEX { dsActionPrid }
    UNIQUENESS { dsActionNext,
                 dsActionSpecific }
    ::= { dsActionTable 1 }

DsActionEntry ::= SEQUENCE  {
    dsActionPrid              InstanceId,
    dsActionNext              Prid,
    dsActionSpecific          Prid
}

dsActionPrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
       "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsActionEntry 1 }

dsActionNext OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "This selects the next diffserv functional datapath
       element to handle traffic for this data path.

       The value zeroDotZero in this variable indicates no
       further DiffServ treatment is performed on traffic of
       this datapath.  Any other value must point to a valid
       (pre-existing) instance of one of:
         dsClfrEntry
         dsMeterEntry
         dsActionEntry
         dsAlgDropEntry
         dsQEntry."
    DEFVAL      { zeroDotZero }
    ::= { dsActionEntry 2 }

Top      Up      ToC       Page 56 
dsActionSpecific OBJECT-TYPE
    SYNTAX       Prid
    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 PIB module,
       this should point to an instance of dsDscpMarkActEntry.
       For other actions, it may point to an instance of a
       PRC defined in some other PIB.

       The PRI pointed to must exist prior to installing this
       action datapath entry."
    ::= { dsActionEntry 3 }

-- DSCP Mark Action Table
--
-- Rows of this class are pointed to by dsActionSpecific
-- to provide detailed parameters specific to the DSCP
-- Mark action.
-- This class should at most contain one entry for each supported
-- DSCP value.  These entries should be reused by different
-- dsActionEntry in same or different data paths.
--

dsDscpMarkActTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsDscpMarkActEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "This class enumerates specific DSCPs used for marking or
       remarking the DSCP field of IP packets. The entries of this
       table may be referenced by a dsActionSpecific attribute."
    REFERENCE
        "An Informal Management Model for Diffserv Routers,
        RFC 3290, section 6.1"
    ::= { dsPolicyClasses 7 }

dsDscpMarkActEntry OBJECT-TYPE
    SYNTAX       DsDscpMarkActEntry
    STATUS       current
    DESCRIPTION
      "An entry in the DSCP mark action table that describes a
      single DSCP used for marking."
    PIB-INDEX { dsDscpMarkActPrid }

Top      Up      ToC       Page 57 
    UNIQUENESS { dsDscpMarkActDscp }
    ::= { dsDscpMarkActTable 1 }

DsDscpMarkActEntry ::= SEQUENCE  {
    dsDscpMarkActPrid          InstanceId,
    dsDscpMarkActDscp          Dscp
}

dsDscpMarkActPrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
       "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsDscpMarkActEntry 1 }

dsDscpMarkActDscp OBJECT-TYPE
    SYNTAX       Dscp
    STATUS       current
    DESCRIPTION
       "The DSCP that this Action uses for marking/remarking
       traffic.  Note that a DSCP value of -1 is not permit-
       ted in this class.  It is quite possible that the
       only packets subject to this Action are already
       marked with this DSCP.  Note also that DiffServ may
       result in packet remarking both on ingress to a net-
       work and on egress from it and it is quite possible
       that ingress and egress would occur in the same
       router."
    ::= { dsDscpMarkActEntry 2 }

--
-- Algorithmic Drop Table
--

-- Algorithmic Drop Table is the entry point for the Algorithmic
-- Dropper functional data path element.

-- For a simple algorithmic dropper, a single algorithmic drop entry
-- will be sufficient to parameterize the dropper.

-- For more complex algorithmic dropper, the dsAlgDropSpecific
-- attribute can be used to reference an entry in a parameter table,
-- e.g., dsRandomDropTable for random dropper.

-- For yet more complex dropper, for example, dropper that measures
-- multiple queues, each queue with its own algorithm, can use a
-- dsAlgDropTable entry as the entry point for Algorithmic Dropper

Top      Up      ToC       Page 58 
-- functional data path element, leaving the dropper parameters
-- for each queue be specified by entries of dsMQAlgDropTable.
-- In such usage, the anchoring dsAlgDropEntry's dsAlgDropType
-- should be mQDrop, and its dsAlgDropQMeasure should reference
-- the subsequent dsMQAlgDropEntry's, its dsAlgDropSpecific
-- should be used to reference parameters applicable to all the
-- queues being measured.
-- The subsequent dsMQAlgDropEntry's will provide the parameters,
-- one for each queue being measured.  The dsMQAlgDropEntry's are
-- chained using their dsMQAlgDropNext attributes.
--

dsAlgDropTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsAlgDropEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The algorithmic drop table contains entries describ-
       ing a functional data path element that drops
       packets according to some algorithm."
    REFERENCE
        "An Informal Management Model for Diffserv Routers,
        RFC 3290, section 7.1.3"
    ::= { dsPolicyClasses 8 }

dsAlgDropEntry OBJECT-TYPE
    SYNTAX       DsAlgDropEntry
    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 dsAlgDropType
       and with more detail parameter entry pointed to by
       dsAlgDropSpecific when necessary."
    PIB-INDEX { dsAlgDropPrid }
    UNIQUENESS { dsAlgDropType,
                 dsAlgDropNext,
                 dsAlgDropQMeasure,
                 dsAlgDropQThreshold,
                 dsAlgDropSpecific }
    ::= { dsAlgDropTable 1 }

DsAlgDropEntry ::= SEQUENCE  {
    dsAlgDropPrid             InstanceId,
    dsAlgDropType             INTEGER,
    dsAlgDropNext             Prid,
    dsAlgDropQMeasure         Prid,
    dsAlgDropQThreshold       Unsigned32,

Top      Up      ToC       Page 59 
    dsAlgDropSpecific         Prid
}

dsAlgDropPrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
       "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsAlgDropEntry 1 }

dsAlgDropType OBJECT-TYPE
    SYNTAX       INTEGER {
                     other(1),
                     tailDrop(2),
                     headDrop(3),
                     randomDrop(4),
                     alwaysDrop(5),
                     mQDrop(6)
                 }
    STATUS       current
    DESCRIPTION
       "The type of algorithm used by this dropper. A value
       of tailDrop(2), headDrop(3), or alwaysDrop(5) represents
       an algorithm that is completely specified by this PIB.

       A value of other(1) indicates that the specifics of
       the drop algorithm are specified in some other PIB
       module, and that the dsAlgDropSpecific attribute
       points to an instance of a PRC in that PIB that
       specifies the information necessary to implement the
       algorithm.

       The tailDrop(2) algorithm is described as follows:
       dsAlgDropQThreshold represents the depth of the
       queue, pointed to by dsAlgDropQMeasure, at
       which all newly arriving packets will be dropped.

       The headDrop(3) algorithm is described as follows: if
       a packet arrives when the current depth of the queue,
       pointed to by dsAlgDropQMeasure, is at
       dsAlgDropQThreshold, 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.

       The randomDrop(4) algorithm is described as follows:
       on packet arrival, an algorithm is executed which may
       randomly drop the packet, or drop other packet(s)

Top      Up      ToC       Page 60 
       from the queue in its place.  The specifics of the
       algorithm may be proprietary.  For this algorithm,
       dsAlgDropSpecific points to a dsRandomDropEntry
       that describes the algorithm.  For this
       algorithm, dsAlgQThreshold is understood to be
       the absolute maximum size of the queue and additional
       parameters are described in dsRandomDropTable.

       The alwaysDrop(5) algorithm always drops packets. In
       this case, the other configuration values in this Entry
       are not meaningful; The queue is not used, therefore,
       dsAlgDropNext, dsAlgDropQMeasure, and
       dsAlgDropSpecific should be all set to zeroDotZero.

       The mQDrop(6) algorithm measures multiple queues for
       the drop algorithm.  The queues measured are represented
       by having dsAlgDropQMeasure referencing a dsMQAlgDropEntry.
       Each of the chained dsMQAlgDropEntry is used to describe
       the drop algorithm for one of the measured queues."

    ::= { dsAlgDropEntry 2 }

dsAlgDropNext OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "This selects the next diffserv functional datapath
       element to handle traffic for this data path.

       The value zeroDotZero in this attribute indicates no
       further DiffServ treatment is performed on traffic of
       this datapath.  Any other value must point to a valid
       (pre-existing) instance of one of:
         dsClfrEntry
         dsMeterEntry
         dsActionEntry
         dsAlgDropEntry
         dsQEntry.

       When dsAlgDropType is alwaysDrop(5), this attribute is
       Ignored."
    DEFVAL      { zeroDotZero }
    ::= { dsAlgDropEntry 3 }

dsAlgDropQMeasure OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION

Top      Up      ToC       Page 61 
       "Points to a PRI to indicate the queues that a drop algorithm
       is to monitor when deciding whether to drop a packet.

       For alwaysDrop(5), this attribute should be zeroDotZero.
       For tailDrop(2), headDrop(3), randomDrop(4), this should
       point to an entry in the dsQTable.
       For mQDrop(6), this should point to a dsMQAlgDropEntry that
       Describe one of the queues being measured for multiple
       queue dropper.

       The PRI pointed to must exist prior to installing
       this dropper element."
    ::= { dsAlgDropEntry 4 }

dsAlgDropQThreshold OBJECT-TYPE
    SYNTAX       Unsigned32  (1..4294967295)
    UNITS        "Bytes"
    STATUS       current
    DESCRIPTION
       "A threshold on the depth in bytes of the queue being
       measured at which a trigger is generated to the drop-
       ping algorithm, unless dsAlgDropType is alwaysDrop(5)
       where this attribute is ignored.

       For the tailDrop(2) or headDrop(3) algorithms, this
       represents the depth of the queue, pointed to by
       dsAlgDropQMeasure, at which the drop action
       will take place. Other algorithms will need to define
       their own semantics for this threshold."
    ::= { dsAlgDropEntry 5 }

dsAlgDropSpecific OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "Points to a table entry that provides further detail
       regarding a drop algorithm.  The PRI pointed to
       must exist prior to installing this dropper element.

       Entries with dsAlgDropType equal to other(1) must
       have this point to an instance of a PRC defined
       in another PIB module.

       Entries with dsAlgDropType equal to random-
       Drop(4) must have this point to an entry in
       dsRandomDropTable.

       Entries with dsAlgDropType equal to mQDrop(6) can use this

Top      Up      ToC       Page 62 
       attribute to reference parameters that is used by all the
       queues of the multiple queues being measured.

       For all other algorithms, this should take the value
       zeroDotZero."
    ::= { dsAlgDropEntry 6 }

--
-- Multiple Queue Algorithmic Drop Table
--
-- Entries of this table should be referenced by dsAlgDropQMeasure
-- when dsAlgDropType is mQDrop(6) for droppers measuring multiple
-- queues for its drop algorithm.
-- Each entry of the table is used to describe the drop algorithm
-- for a single queue within the multiple queues being measured.
--
-- Entries of this table, dsMQAlgDropEntry, is extended from
-- dsAlgDropEntry, with usage of corresponding parameters the same
-- except:
--   dsAlgDropNext is used to point to the next diffserv
--     functional data path element when the packet is not dropped.
--   dsMQAlgDropExceedNext is used to point to the next
--     dsMQAlgDropEntry for chaining together the multiple
--     dsMQAlgDropEntry's for the multiple queues being measured.
--

dsMQAlgDropTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsMQAlgDropEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The multiple queue algorithmic drop table contains entries
       describing each queue being measured for the multiple queue
       algorithmic dropper."
    ::= { dsPolicyClasses 9 }

dsMQAlgDropEntry OBJECT-TYPE
    SYNTAX       DsMQAlgDropEntry
    STATUS       current
    DESCRIPTION
       "An entry describes a process that drops packets
       according to some algorithm.  Each entry is used for
       each of the multiple queues being measured.  Each entry
       extends the basic dsAlgDropEntry with adding of a
       dsMQAlgDropExceedNext attribute.

       Further details of the algorithm type are to be found in
       dsAlgDropType and with more detail parameter entry pointed

Top      Up      ToC       Page 63 
       to by dsMQAlgDropSpecific when necessary."
    EXTENDS { dsAlgDropEntry }
    UNIQUENESS { dsMQAlgDropExceedNext }
    ::= { dsMQAlgDropTable 1 }

DsMQAlgDropEntry ::= SEQUENCE  {
    dsMQAlgDropExceedNext     Prid
}

dsMQAlgDropExceedNext OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "Used for linking of multiple dsMQAlgDropEntry for mQDrop.
       A value of zeroDotZero indicates this is the last of a
       chain of dsMQAlgDropEntry."
    DEFVAL      { zeroDotZero }
    ::= { dsMQAlgDropEntry 1 }

--
-- Random Drop Table
--

dsRandomDropTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsRandomDropEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The random drop table contains entries describing a
       process that drops packets randomly. Entries in this
       table is intended to be pointed to by dsAlgDropSpecific
       when dsAlgDropType is randomDrop(4)."
    REFERENCE
        "An Informal Management Model for Diffserv Routers,
        RFC 3290, section 7.1.3"
    ::= { dsPolicyClasses 10 }

dsRandomDropEntry OBJECT-TYPE
    SYNTAX       DsRandomDropEntry
    STATUS       current
    DESCRIPTION
       "An entry describes a process that drops packets
       according to a random algorithm."
    PIB-INDEX { dsRandomDropPrid }
    UNIQUENESS { dsRandomDropMinThreshBytes,
                 dsRandomDropMinThreshPkts,
                 dsRandomDropMaxThreshBytes,
                 dsRandomDropMaxThreshPkts,

Top      Up      ToC       Page 64 
                 dsRandomDropProbMax,
                 dsRandomDropWeight,
                 dsRandomDropSamplingRate
               }
    ::= { dsRandomDropTable 1 }

DsRandomDropEntry ::= SEQUENCE  {
    dsRandomDropPrid             InstanceId,
    dsRandomDropMinThreshBytes   Unsigned32,
    dsRandomDropMinThreshPkts    Unsigned32,
    dsRandomDropMaxThreshBytes   Unsigned32,
    dsRandomDropMaxThreshPkts    Unsigned32,
    dsRandomDropProbMax          Unsigned32,
    dsRandomDropWeight           Unsigned32,
    dsRandomDropSamplingRate     Unsigned32
}

dsRandomDropPrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
       "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsRandomDropEntry 1 }

dsRandomDropMinThreshBytes OBJECT-TYPE
    SYNTAX       Unsigned32  (1..4294967295)
    UNITS        "bytes"
    STATUS       current
    DESCRIPTION
       "The average queue depth in bytes, beyond which traffic has a
       non-zero probability of being dropped."
     ::= { dsRandomDropEntry 2 }

dsRandomDropMinThreshPkts OBJECT-TYPE
    SYNTAX       Unsigned32  (1..4294967295)
    UNITS        "packets"
    STATUS       current
    DESCRIPTION
      "The average queue depth in packets, beyond which traffic has
      a non-zero probability of being dropped."
    ::= { dsRandomDropEntry 3 }

dsRandomDropMaxThreshBytes OBJECT-TYPE
    SYNTAX       Unsigned32  (1..4294967295)
    UNITS        "bytes"
    STATUS       current
    DESCRIPTION

Top      Up      ToC       Page 65 
      "The average queue depth beyond which traffic has a
      probability indicated by dsRandomDropProbMax of being dropped
      or marked.  Note that this differs from the physical queue
      limit, which is stored in dsAlgDropQThreshold."
    ::= { dsRandomDropEntry 4 }

dsRandomDropMaxThreshPkts OBJECT-TYPE
    SYNTAX       Unsigned32  (1..4294967295)
    UNITS        "packets"
    STATUS       current
    DESCRIPTION
      "The average queue depth beyond which traffic has a
      probability indicated by dsRandomDropProbMax of being dropped
      or marked.  Note that this differs from the physical queue
      limit, which is stored in dsAlgDropQThreshold."
    ::= { dsRandomDropEntry 5 }

dsRandomDropProbMax OBJECT-TYPE
    SYNTAX       Unsigned32  (0..1000)
    STATUS       current
    DESCRIPTION
      "The worst case random drop probability, expressed in drops
      per thousand packets.

      For example, if every packet may be dropped in the worst case
      (100%), this has the value 1000. Alternatively, if in the
      worst case one percent (1%) of traffic may be dropped, it has
      the value 10."
    ::= { dsRandomDropEntry 6 }

dsRandomDropWeight OBJECT-TYPE
    SYNTAX       Unsigned32  (0..4294967295)
    STATUS       current
    DESCRIPTION
      "The weighting of past history in affecting the Exponentially
      Weighted Moving Average function which calculates the current
      average queue depth.  The equation uses
      dsRandomDropWeight/MaxValue as the coefficient for the new
      sample in the equation, and
      (MaxValue - dsRandomDropWeight)/MaxValue as the coefficient
      of the old value, where, MaxValue is determined via capability
      reported by the PEP.

      Implementations may further limit the values of
      dsRandomDropWeight via the capability tables."
    ::= { dsRandomDropEntry 7 }

dsRandomDropSamplingRate OBJECT-TYPE

Top      Up      ToC       Page 66 
    SYNTAX       Unsigned32  (0..1000000)
    STATUS       current
    DESCRIPTION
      "The number of times per second the queue is sampled for queue
      average calculation. A value of zero means the queue is
      sampled approximately each time a packet is enqueued (or
      dequeued)."
    ::= { dsRandomDropEntry 8 }

--
-- Queue Table
--

--
-- An entry of dsQTable represents a FIFO queue diffserv
-- functional data path element as described in [MODEL] section
-- 7.1.1.
-- Notice the specification of scheduling parameters for a queue
-- as part of the input to a scheduler functional data path
-- element as described in [MODEL] section 7.1.2.  This allows
-- building of hierarchical queuing/scheduling.
-- A queue therefore is parameterized by:
-- 1. Which scheduler will service this queue, dsQNext.
-- 2. How the scheduler will service this queue, with respect
--    to all the other queues the same scheduler needs to service,
--    dsQMinRate and dsQMaxRate.
--
-- Notice one or more upstream diffserv functional data path element
-- may share, point to, a dsQTable entry as described in [MODEL]
-- section 7.1.1.
--

dsQTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsQEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
    "The Queue Table enumerates the queues."
    ::= { dsPolicyClasses 11 }

dsQEntry OBJECT-TYPE
    SYNTAX       DsQEntry
    STATUS       current
    DESCRIPTION
       "An entry in the Queue Table describes a single queue
       as a functional data path element."
    PIB-INDEX { dsQPrid }
    UNIQUENESS { dsQNext,

Top      Up      ToC       Page 67 
                 dsQMinRate,
                 dsQMaxRate }
    ::= { dsQTable 1 }

DsQEntry ::= SEQUENCE  {
    dsQPrid                    InstanceId,
    dsQNext                    Prid,
    dsQMinRate                 Prid,
    dsQMaxRate                 Prid
}

dsQPrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
        "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsQEntry 1 }

dsQNext OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "This selects the next diffserv scheduler.  This must point
       to a dsSchedulerEntry.

       A value of zeroDotZero in this attribute indicates an
       incomplete dsQEntry instance.  In such a case, the entry
       has no operational effect, since it has no parameters to
       give it meaning."
    ::= { dsQEntry 2 }

dsQMinRate OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "This Prid indicates the entry in dsMinRateTable
       the scheduler, pointed to by dsQNext, should use to service
       this queue.
       If this value is zeroDotZero
       then minimum rate and priority is unspecified.
       If this value is not zeroDotZero then the instance pointed to
       must exist prior to installing this entry."
    ::= { dsQEntry 3 }

dsQMaxRate OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current

Top      Up      ToC       Page 68 
    DESCRIPTION
       "This Prid indicates the entry in dsMaxRateTable
       the scheduler, pointed to by dsQNext, should use to service
       this queue.
       If this value is zeroDotZero, then the maximum rate is the
       line speed of the interface.
       If this value is not zeroDotZero, then the instance pointed
       to must exist prior to installing this entry."
    ::= { dsQEntry 4 }

--
-- Scheduler Table
--
--
-- The Scheduler Table is used for representing packet schedulers:
-- it provides flexibility for multiple scheduling algorithms, each
-- servicing multiple queues, to be used on the same
-- logical/physical interface of a data path.
--
-- Notice the servicing parameters the scheduler uses is
-- specified by each of its upstream functional data path elements,
-- queues or schedulers of this PIB.
-- The coordination and coherency between the servicing parameters
-- of the scheduler's upstream functional data path elements must
-- be maintained for the scheduler to function correctly.
--
-- The dsSchedulerMinRate and dsSchedulerMaxRate attributes are
-- used for specifying the servicing parameters for output of a
-- scheduler when its downstream functional data path element
-- is another scheduler.
-- This is used for building hierarchical queue/scheduler.
--
-- More discussion of the scheduler functional data path element
-- is in [MODEL] section 7.1.2.
--

dsSchedulerTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsSchedulerEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The Scheduler Table enumerates packet schedulers.
       Multiple scheduling algorithms can be used on a given
       datapath, with each algorithm described by one
       dsSchedulerEntry."
    REFERENCE
        "An Informal Management Model for Diffserv Routers,
        RFC 3290, section 7.1.2"

Top      Up      ToC       Page 69 
    ::= { dsPolicyClasses 12 }

dsSchedulerEntry OBJECT-TYPE
    SYNTAX       DsSchedulerEntry
    STATUS       current
    DESCRIPTION
       "An entry in the Scheduler Table describing a single
       instance of a scheduling algorithm."
    PIB-INDEX { dsSchedulerPrid }
    UNIQUENESS { dsSchedulerNext,
                 dsSchedulerMethod,
                 dsSchedulerMinRate,
                 dsSchedulerMaxRate }
    ::= { dsSchedulerTable 1 }

DsSchedulerEntry ::= SEQUENCE  {
    dsSchedulerPrid                 InstanceId,
    dsSchedulerNext                 Prid,
    dsSchedulerMethod               AutonomousType,
    dsSchedulerMinRate              Prid,
    dsSchedulerMaxRate              Prid
}

dsSchedulerPrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
        "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsSchedulerEntry 1 }

dsSchedulerNext OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
       "This selects the next diffserv functional datapath
       element to handle traffic for this data path.

       This attribute normally have a value of zeroDotZero to
       indicate no further DiffServ treatment is performed on
       traffic of this datapath.  The use of zeroDotZero is the
       normal usage for the last functional datapath element.
       Any value other than zeroDotZero must point to a valid
       (pre-existing) instance of one of:
         dsSchedulerEntry
         dsQEntry,

       or:

Top      Up      ToC       Page 70 
         dsClfrEntry
         dsMeterEntry
         dsActionEntry
         dsAlgDropEntry

       This points to another dsSchedulerEntry
       for implementation of multiple scheduler methods for
       the same data path, and for implementation of
       hierarchical schedulers."
    DEFVAL       { zeroDotZero }
    ::= { dsSchedulerEntry 2 }

dsSchedulerMethod OBJECT-TYPE
    SYNTAX       AutonomousType
    STATUS       current
    DESCRIPTION
      "The scheduling algorithm used by this Scheduler.
      Standard values for generic algorithms:
        diffServSchedulerPriority,
        diffServSchedulerWRR,
        diffServSchedulerWFQ
      are specified in the DiffServ MIB.
      Additional values may be further specified in other PIBs.
      A value of zeroDotZero indicates this is unknown."
    REFERENCE
        "An Informal Management Model for Diffserv Routers,
        RFC 3290, section 7.1.2"
    ::= { dsSchedulerEntry 3 }

dsSchedulerMinRate OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
      "This Prid indicates the entry in dsMinRateTable
       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."
    DEFVAL      { zeroDotZero }
    ::= { dsSchedulerEntry 4 }

dsSchedulerMaxRate OBJECT-TYPE
    SYNTAX       Prid
    STATUS       current
    DESCRIPTION
      "This Prid indicates the entry in dsMaxRateTable

Top      Up      ToC       Page 71 
       which indicates the maximum output rate from this scheduler.
       When more than one maximum rate applies (e.g., a multi-rate
       shaper is used), it points to the first of the rate entries.
       This attribute is only used when there is more than one level
       of scheduler.

       When it has the value zeroDotZero, it indicates that no
       Maximum rate is imposed."
     DEFVAL      { zeroDotZero }
    ::= { dsSchedulerEntry 5 }

--
-- 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 PIB.
-- 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 a Minimum Rate Parameter Table entry.
--
-- The dsMinRatePriority/Absolute/Relative 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.
--

dsMinRateTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsMinRateEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The Minimum Rate Table enumerates individual
       sets of scheduling parameter that can be used/reused

Top      Up      ToC       Page 72 
       by Queues and Schedulers."
    ::= { dsPolicyClasses 13 }

dsMinRateEntry OBJECT-TYPE
    SYNTAX       DsMinRateEntry
    STATUS       current
    DESCRIPTION
       "An entry in the Minimum Rate Table describes
       a single set of scheduling parameter for use by
       queues and schedulers."
    PIB-INDEX { dsMinRatePrid }
    UNIQUENESS { dsMinRatePriority,
                 dsMinRateAbsolute,
                 dsMinRateRelative }
    ::= { dsMinRateTable 1 }

DsMinRateEntry ::= SEQUENCE  {
    dsMinRatePrid            InstanceId,
    dsMinRatePriority        Unsigned32,
    dsMinRateAbsolute        Unsigned32,
    dsMinRateRelative        Unsigned32
}

dsMinRatePrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION
        "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsMinRateEntry 1 }

dsMinRatePriority OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    STATUS       current
    DESCRIPTION
      "The priority of this input to the associated scheduler,
      relative to the scheduler's other inputs. Higher Priority
      value indicates the associated queue/scheduler will get
      service first before others with lower Priority values."
    ::= { dsMinRateEntry 2 }

dsMinRateAbsolute OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    UNITS        "kilobits per second"
    STATUS       current
    DESCRIPTION
      "The minimum absolute rate, in kilobits/sec, that a downstream
      scheduler element should allocate to this queue. If the value

Top      Up      ToC       Page 73 
      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's value is coupled to that
      of dsMinRateRelative:  changes to one will affect the value
      of the other.

      [IFMIB] defines ifSpeed as Gauge32 in units of bits per
      second, and ifHighSpeed as Gauge32 in units of 1,000,000 bits
      per second.
      This yields the following equations:

      RateRelative  = [ (RateAbsolute * 1000) / ifSpeed ] * 1,000

      Where, 1000 is for converting kbps used by RateAbsolute to bps
      used by ifSpeed, 1,000 is for 'in units of 1/1,000 of 1' for
      RateRelative.

      or, if appropriate:

      RateRelative  =
         { [ (RateAbsolute * 1000) / 1,000,000 ] / ifHIghSpeed } *
         1,000

      Where, 1000 and 1,000,000 is for converting kbps used by
      RateAbsolute to 1 million bps used by ifHighSpeed, 1,000 is
      for 'in units of 1/1,000 of 1' for RateRelative."
    REFERENCE
        "ifSpeed, ifHighSpeed from the IF-MIB, RFC 2863."
    ::= { dsMinRateEntry 3 }

dsMinRateRelative OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    STATUS       current
    DESCRIPTION
      "The minimum rate that a downstream scheduler element
      should allocate to this queue, relative to the max-
      imum rate of the interface as reported by ifSpeed or
      ifHighSpeed, in units of 1/1,000 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's value is coupled to that
      of dsMinRateAbsolute:  changes to one will
      affect the value of the other.

Top      Up      ToC       Page 74 
      [IFMIB] defines ifSpeed as Gauge32 in units of bits per
      second, and ifHighSpeed as Gauge32 in units of 1,000,000 bits
      per second.
      This yields the following equations:

      RateRelative  = [ (RateAbsolute * 1000) / ifSpeed ] * 1,000

      Where, 1000 is for converting kbps used by RateAbsolute to bps
      used by ifSpeed, 1,000 is for 'in units of 1/1,000 of 1' for
      RateRelative.

      or, if appropriate:

      RateRelative  =
         { [ (RateAbsolute * 1000) / 1,000,000 ] / ifHIghSpeed } *
         1,000

      Where, 1000 and 1,000,000 is for converting kbps used by
      RateAbsolute to 1 million bps used by ifHighSpeed, 1,000 is
      for 'in units of 1/1,000 of 1' for RateRelative."
    REFERENCE
        "ifSpeed, ifHighSpeed from the IF-MIB, RFC 2863."
    ::= { dsMinRateEntry 4 }

--
-- Maximum 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 PIB.
--
-- 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
-- dsMaxRateId but different dsMaxRateLevels.
--
-- The dsMaxRateLevel/Absolute/Relative attributes are used as

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

dsMaxRateTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF DsMaxRateEntry
    PIB-ACCESS   install
    STATUS       current
    DESCRIPTION
       "The Maximum Rate Table enumerates individual
       sets of scheduling parameter that can be used/reused
       by Queues and Schedulers."
    ::= { dsPolicyClasses 14 }

dsMaxRateEntry OBJECT-TYPE
    SYNTAX       DsMaxRateEntry
    STATUS       current
    DESCRIPTION
       "An entry in the Maximum Rate Table describes
       a single set of scheduling parameter for use by
       queues and schedulers."
    PIB-INDEX { dsMaxRatePrid }
    UNIQUENESS { dsMaxRateId,
                 dsMaxRateLevel,
                 dsMaxRateAbsolute,
                 dsMaxRateRelative,
                 dsMaxRateThreshold }
    ::= { dsMaxRateTable 1 }

DsMaxRateEntry ::= SEQUENCE  {
    dsMaxRatePrid            InstanceId,
    dsMaxRateId              Unsigned32,
    dsMaxRateLevel           Unsigned32,
    dsMaxRateAbsolute        Unsigned32,
    dsMaxRateRelative        Unsigned32,
    dsMaxRateThreshold       BurstSize
}

dsMaxRatePrid OBJECT-TYPE
    SYNTAX       InstanceId
    STATUS       current
    DESCRIPTION

Top      Up      ToC       Page 76 
        "An arbitrary integer index that uniquely identifies an
        instance of the class."
    ::= { dsMaxRateEntry 1 }

dsMaxRateId OBJECT-TYPE
    SYNTAX       Unsigned32  (0..4294967295)
    STATUS       current
    DESCRIPTION
      "An identifier used together with dsMaxRateLevel for
      representing a multi-rate shaper.  This attribute is used for
      associating all the rate attributes of a multi-rate shaper.
      Each dsMaxRateEntry of a multi-rate shaper must have the same
      value in this attribute.  The different rates of a multi-rate
      shaper is identified using dsMaxRateLevel.
      This attribute uses the value of zero to indicate this
      attribute is not used, for single rate shaper."
    DEFVAL { 0 }
    ::= { dsMaxRateEntry 2 }

dsMaxRateLevel OBJECT-TYPE
    SYNTAX       Unsigned32 (1..32)
    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.
      When the entry is used for a single rate shaper, this
      attribute contains a value of one."
    DEFVAL { 1 }
    ::= { dsMaxRateEntry 3 }

dsMaxRateAbsolute OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    UNITS        "kilobits per second"
    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 max-
      imum rate limit and that the scheduler should attempt
      to be work-conserving for this queue.  If the value

Top      Up      ToC       Page 77 
      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's value is coupled to that
      of dsMaxRateRelative:  changes to one will
      affect the value of the other.

      [IFMIB] defines ifSpeed as Gauge32 in units of bits per
      second, and ifHighSpeed as Gauge32 in units of 1,000,000 bits
      per second.
      This yields the following equations:

      RateRelative  = [ (RateAbsolute * 1000) / ifSpeed ] * 1,000

      Where, 1000 is for converting kbps used by RateAbsolute to bps
      used by ifSpeed, 1,000 is for 'in units of 1/1,000 of 1'
      for RateRelative.

      or, if appropriate:

      RateRelative  =
         { [ (RateAbsolute * 1000) / 1,000,000 ] / ifHIghSpeed } *
         1,000

      Where, 1000 and 1,000,000 is for converting kbps used by
      RateAbsolute to 1 million bps used by ifHighSpeed, 1,000 is
      for 'in units of 1/1,000 of 1' for RateRelative."
    ::= { dsMaxRateEntry 4 }

dsMaxRateRelative OBJECT-TYPE
    SYNTAX       Unsigned32 (1..4294967295)
    STATUS       current
    DESCRIPTION
      "The maximum rate that a downstream scheduler element
      should allocate to this queue, relative to the max-
      imum rate of the interface as reported by ifSpeed or
      ifHighSpeed, in units of 1/1,000 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's value is coupled to that
      of dsMaxRateAbsolute:  changes to one will
      affect the value of the other.

Top      Up      ToC       Page 78 
      [IFMIB] defines ifSpeed as Gauge32 in units of bits per
      second, and ifHighSpeed as Gauge32 in units of 1,000,000 bits
      per second.
      This yields the following equations:

      RateRelative  = [ (RateAbsolute * 1000) / ifSpeed ] * 1,000

      Where, 1000 is for converting kbps used by RateAbsolute to bps
      used by ifSpeed, 1,000 is for 'in units of 1/1,000 of 1' for
      RateRelative.

      or, if appropriate:

      RateRelative  =
         { [ (RateAbsolute * 1000) / 1,000,000 ] / ifHIghSpeed } *
         1,000

      Where, 1000 and 1,000,000 is for converting kbps used by
      RateAbsolute to 1 million bps used by ifHighSpeed, 1,000 is
      for 'in units of 1/1,000 of 1' for RateRelative."
    REFERENCE
        "ifSpeed, ifHighSpeed from the IF-MIB, RFC 2863."
    ::= { dsMaxRateEntry 5 }

dsMaxRateThreshold OBJECT-TYPE
    SYNTAX       BurstSize
    UNITS        "Bytes"
    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 PRI for such a shaper, this threshold is
      ignored and by convention is zero."
    REFERENCE
        "Adaptive Rate Shaper, RFC 2963"
 ::= { dsMaxRateEntry 6 }

--
-- Conformance Section
--

dsPolicyPibCompliances
                OBJECT IDENTIFIER ::= { dsPolicyPibConformance 1 }
dsPolicyPibGroups
                OBJECT IDENTIFIER ::= { dsPolicyPibConformance 2 }

dsPolicyPibCompliance MODULE-COMPLIANCE

Top      Up      ToC       Page 79 
    STATUS  current
    DESCRIPTION
            "Describes the requirements for conformance to the
            QoS Policy PIB."

    MODULE FRAMEWORK-PIB
        MANDATORY-GROUPS {
            frwkPrcSupportGroup,
            frwkPibIncarnationGroup,
            frwkDeviceIdGroup,
            frwkCompLimitsGroup,
            frwkCapabilitySetGroup,
            frwkRoleComboGroup,
            frwkIfRoleComboGroup,
            frwkBaseFilterGroup,
            frwkIpFilterGroup }

    OBJECT frwkPibIncarnationLongevity
    PIB-MIN-ACCESS  notify
    DESCRIPTION
       "Install support is required if policy expiration is to
       be supported."

    OBJECT frwkPibIncarnationTtl
    PIB-MIN-ACCESS  notify
    DESCRIPTION
       "Install support is required if policy expiration is to
       be supported."

    MODULE DIFFSERV-PIB -- this module
        MANDATORY-GROUPS {
            dsPibBaseIfCapsGroup,
            dsPibIfClassificationCapsGroup,
            dsPibIfAlgDropCapsGroup,
            dsPibIfQueueCapsGroup,
            dsPibIfSchedulerCapsGroup,
            dsPibIfMaxRateCapsGroup,
            dsPibIfElmDepthCapsGroup,
            dsPibIfElmLinkCapsGroup,
            dsPibDataPathGroup,
            dsPibClfrGroup,
            dsPibClfrElementGroup,
            dsPibActionGroup,
            dsPibAlgDropGroup,
            dsPibQGroup,
            dsPibSchedulerGroup,
            dsPibMinRateGroup,
            dsPibMaxRateGroup }

Top      Up      ToC       Page 80 
    GROUP dsPibIfMeteringCapsGroup
    DESCRIPTION
       "This group is mandatory for devices that implement
       metering functions."

    GROUP dsPibMeterGroup
    DESCRIPTION
       "This group is mandatory for devices that implement
       metering functions."

    GROUP dsPibTBParamGroup
    DESCRIPTION
       "This group is mandatory for devices that implement
       token-bucket metering functions."

    GROUP dsPibDscpMarkActGroup
    DESCRIPTION
       "This group is mandatory for devices that implement
       DSCP-Marking functions."

    GROUP dsPibMQAlgDropGroup
    DESCRIPTION
       "This group is mandatory for devices that implement
       Multiple Queue Measured Algorithmic Drop functions."

    GROUP dsPibRandomDropGroup
    DESCRIPTION
       "This group is mandatory for devices that implement
       Random Drop functions."

    OBJECT dsClfrId
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsClfrElementClfrId
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsClfrElementPrecedence
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsClfrElementNext
    PIB-MIN-ACCESS not-accessible

Top      Up      ToC       Page 81 
    DESCRIPTION
       "Install support is not required."

    OBJECT dsClfrElementSpecific
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMeterSucceedNext
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMeterFailNext
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMeterSpecific
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsTBParamType
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsTBParamRate
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsTBParamBurstSize
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsTBParamInterval
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsActionNext
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

Top      Up      ToC       Page 82 
    OBJECT dsActionSpecific
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsAlgDropType
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsAlgDropNext
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsAlgDropQMeasure
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsAlgDropQThreshold
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsAlgDropSpecific
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsRandomDropMinThreshBytes
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsRandomDropMinThreshPkts
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsRandomDropMaxThreshBytes
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsRandomDropMaxThreshPkts
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION

Top      Up      ToC       Page 83 
       "Install support is not required."

    OBJECT dsRandomDropProbMax
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsRandomDropWeight
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsRandomDropSamplingRate
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsQNext
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsQMinRate
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsQMaxRate
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsSchedulerNext
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsSchedulerMethod
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsSchedulerMinRate
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsSchedulerMaxRate

Top      Up      ToC       Page 84 
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMinRatePriority
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMinRateAbsolute
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMinRateRelative
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMaxRateId
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMaxRateLevel
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMaxRateAbsolute
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMaxRateRelative
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    OBJECT dsMaxRateThreshold
    PIB-MIN-ACCESS not-accessible
    DESCRIPTION
       "Install support is not required."

    ::= { dsPolicyPibCompliances 1 }

dsPibBaseIfCapsGroup OBJECT-GROUP
    OBJECTS {

Top      Up      ToC       Page 85 
        dsBaseIfCapsPrid, dsBaseIfCapsDirection
    }
    STATUS current
    DESCRIPTION
       "The Base Interface Capability Group defines the PIB
       Objects that describe the base for interface capabilities."
    ::= { dsPolicyPibGroups 1 }

dsPibIfClassificationCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfClassificationCapsSpec
    }
    STATUS current
    DESCRIPTION
       "The Classification Capability Group defines the PIB
       Objects that describe the classification capabilities."
    ::= { dsPolicyPibGroups 2 }

dsPibIfMeteringCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfMeteringCapsSpec
    }
    STATUS current
    DESCRIPTION
       "The Metering Capability Group defines the PIB
       Objects that describe the metering capabilities."
    ::= { dsPolicyPibGroups 3 }

dsPibIfAlgDropCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfAlgDropCapsType, dsIfAlgDropCapsMQCount
    }
    STATUS current
    DESCRIPTION
       "The Algorithmic Dropper Capability Group defines the
       PIB Objects that describe the algorithmic dropper
       capabilities."
    ::= { dsPolicyPibGroups 4 }

dsPibIfQueueCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfQueueCapsMinQueueSize, dsIfQueueCapsMaxQueueSize,
        dsIfQueueCapsTotalQueueSize
    }
    STATUS current
    DESCRIPTION
       "The Queueing Capability Group defines the PIB
       Objects that describe the queueing capabilities."

Top      Up      ToC       Page 86 
    ::= { dsPolicyPibGroups 5 }

dsPibIfSchedulerCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfSchedulerCapsServiceDisc, dsIfSchedulerCapsMaxInputs,
        dsIfSchedulerCapsMinMaxRate
    }
    STATUS current
    DESCRIPTION
       "The Scheduler Capability Group defines the PIB
       Objects that describe the scheduler capabilities."
    ::= { dsPolicyPibGroups 6 }

dsPibIfMaxRateCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfMaxRateCapsMaxLevels
    }
    STATUS current
    DESCRIPTION
       "The Max Rate Capability Group defines the PIB
       Objects that describe the max rate capabilities."
    ::= { dsPolicyPibGroups 7 }

dsPibIfElmDepthCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfElmDepthCapsPrc, dsIfElmDepthCapsCascadeMax
    }
    STATUS current
    DESCRIPTION
       "The DataPath Element Depth Capability Group defines the PIB
       Objects that describe the datapath element depth
       capabilities."
    ::= { dsPolicyPibGroups 8 }

dsPibIfElmLinkCapsGroup OBJECT-GROUP
    OBJECTS {
        dsIfElmLinkCapsPrc, dsIfElmLinkCapsAttr,
        dsIfElmLinkCapsNextPrc
    }
    STATUS current
    DESCRIPTION
       "The DataPath Element Linkage Capability Group defines the
       PIB Objects that describe the datapath element linkage
       capabilities."
    ::= { dsPolicyPibGroups 9 }

dsPibDataPathGroup OBJECT-GROUP
    OBJECTS {

Top      Up      ToC       Page 87 
        dsDataPathPrid, dsDataPathCapSetName,
        dsDataPathRoles, dsDataPathIfDirection,
        dsDataPathStart
    }
    STATUS current
    DESCRIPTION
       "The Data Path Group defines the PIB Objects that
       describe a data path."
    ::= { dsPolicyPibGroups 10 }

dsPibClfrGroup OBJECT-GROUP
    OBJECTS {
        dsClfrPrid, dsClfrId
    }
    STATUS current
    DESCRIPTION
       "The Classifier Group defines the PIB Objects that
       describe a generic classifier."
    ::= { dsPolicyPibGroups 11 }

dsPibClfrElementGroup OBJECT-GROUP
    OBJECTS {
        dsClfrElementPrid, dsClfrElementClfrId,
        dsClfrElementPrecedence, dsClfrElementNext,
        dsClfrElementSpecific
    }
    STATUS current
    DESCRIPTION
       "The Classifier Group defines the PIB Objects that
       describe a generic classifier."
    ::= { dsPolicyPibGroups 12 }

dsPibMeterGroup OBJECT-GROUP
    OBJECTS {
        dsMeterPrid, dsMeterSucceedNext,
        dsMeterFailNext, dsMeterSpecific
    }
    STATUS current
    DESCRIPTION
       "The Meter Group defines the objects used in describ-
       ing a generic meter element."
    ::= { dsPolicyPibGroups 13 }

dsPibTBParamGroup OBJECT-GROUP
    OBJECTS {
        dsTBParamPrid, dsTBParamType, dsTBParamRate,
        dsTBParamBurstSize, dsTBParamInterval
    }

Top      Up      ToC       Page 88 
    STATUS current
    DESCRIPTION
       "The Token-Bucket Parameter Group defines the objects
       used in describing a single-rate token bucket meter
       element."
    ::= { dsPolicyPibGroups 14 }

dsPibActionGroup OBJECT-GROUP
    OBJECTS {
        dsActionPrid, dsActionNext, dsActionSpecific
    }
    STATUS current
    DESCRIPTION
       "The  Action Group defines the objects used in
       describing a generic action element."
    ::= { dsPolicyPibGroups 15 }

dsPibDscpMarkActGroup OBJECT-GROUP
    OBJECTS {
        dsDscpMarkActPrid, dsDscpMarkActDscp
    }
    STATUS current
    DESCRIPTION
       "The DSCP Mark Action Group defines the objects used
       in describing a DSCP Marking Action element."
    ::= { dsPolicyPibGroups 16 }

dsPibAlgDropGroup OBJECT-GROUP
    OBJECTS {
        dsAlgDropPrid, dsAlgDropType, dsAlgDropNext,
        dsAlgDropQMeasure, dsAlgDropQThreshold,
        dsAlgDropSpecific
    }
    STATUS current
    DESCRIPTION
       "The Algorithmic Drop Group contains the objects that
       describe algorithmic dropper operation and configura-
       tion."
    ::= { dsPolicyPibGroups 17 }

dsPibMQAlgDropGroup OBJECT-GROUP
    OBJECTS {
        dsMQAlgDropExceedNext
    }
    STATUS current
    DESCRIPTION
       "The Multiple Queue Measured Algorithmic Drop Group
       contains the objects that describe multiple queue

Top      Up      ToC       Page 89 
       measured algorithmic dropper operation and configuration."
    ::= { dsPolicyPibGroups 18 }

dsPibRandomDropGroup OBJECT-GROUP
    OBJECTS {
        dsRandomDropPrid,
        dsRandomDropMinThreshBytes,
        dsRandomDropMinThreshPkts,
        dsRandomDropMaxThreshBytes,
        dsRandomDropMaxThreshPkts,
        dsRandomDropProbMax,
        dsRandomDropWeight,
        dsRandomDropSamplingRate
    }
    STATUS current
    DESCRIPTION
       "The Random Drop Group augments the Algorithmic Drop Group
       for random dropper operation and configuration."
    ::= { dsPolicyPibGroups 19 }

dsPibQGroup OBJECT-GROUP
    OBJECTS {
        dsQPrid, dsQNext, dsQMinRate, dsQMaxRate
    }
    STATUS current
    DESCRIPTION
       "The Queue Group contains the objects that describe
       an interface type's queues."
    ::= { dsPolicyPibGroups 20 }

dsPibSchedulerGroup OBJECT-GROUP
    OBJECTS {
        dsSchedulerPrid, dsSchedulerNext, dsSchedulerMethod,
        dsSchedulerMinRate, dsSchedulerMaxRate
    }
    STATUS current
    DESCRIPTION
       "The Scheduler Group contains the objects that
       describe packet schedulers on interface types."
    ::= { dsPolicyPibGroups 21 }

dsPibMinRateGroup OBJECT-GROUP
    OBJECTS {
        dsMinRatePrid, dsMinRatePriority,
        dsMinRateAbsolute, dsMinRateRelative
    }
    STATUS current
    DESCRIPTION

Top      Up      ToC       Page 90 
       "The Minimum Rate Group contains the objects
       that describe packet schedulers' parameters on interface
       types."
    ::= { dsPolicyPibGroups 22 }

dsPibMaxRateGroup OBJECT-GROUP
    OBJECTS {
        dsMaxRatePrid, dsMaxRateId, dsMaxRateLevel,
        dsMaxRateAbsolute, dsMaxRateRelative,
        dsMaxRateThreshold
    }
    STATUS current
    DESCRIPTION
       "The Maximum Rate Group contains the objects
       that describe packet schedulers' parameters on interface
       types."
    ::= { dsPolicyPibGroups 23 }

END



(page 90 continued on part 4)

Next RFC Part