Ethereal-dev: RE: [Ethereal-dev] COPS-PR extension patch for packet-cops.c

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

Date: Tue, 26 Feb 2002 12:44:54 +0200
Sorry guys,

Coding all day long really makes Kari a dull boy,
here is the *working* version of the DiffServ-PIB
converted to MIB, for testing purposes. 
The earlier file was missing the top level definitions:

pib OBJECT IDENTIFIER ::= { mgmt 2 }
qosPolicyPib OBJECT IDENTIFIER ::= { pib 2 }

Best Regards,
Kari








DIFFSERV-PIB DEFINITIONS ::= BEGIN 


pib OBJECT IDENTIFIER ::= { mgmt 2 }

qosPolicyPib OBJECT IDENTIFIER ::= { pib 2 }


qosPolicyPib OBJECT IDENTIFIER ::= { 1 }
-- textual conventions
  Unsigned32 ::= INTEGER
  PolicyInstanceId ::= INTEGER
  PolicyReferenceId ::= INTEGER
  TruthValue ::= INTEGER
  RoleCombination ::= OCTET STRING

    
BurstSize ::= TEXTUAL-CONVENTION
  DISPLAY-HINT "d"
  STATUS   current
  DESCRIPTION
"The number of octets of IP Data, including IP Headers, that a stream may send without concern for policing."
  SYNTAX   INTEGER (0..'7FFFFFFF'h)
    
SnmpAdminString ::= TEXTUAL-CONVENTION
  DISPLAY-HINT "255a"
  STATUS       current
  DESCRIPTION "An octet string containing administrative information, preferably in human-readable form. To facilitate 
internationalization, this information is represented using the ISO/IEC IS 10646-1 character set, encoded as an octet string using 
the UTF-8 transformation format described in [RFC2279]. Since additional code points are added by amendments to the 10646 standard 
from time to time, implementations must be prepared to encounter any code point from 0x00000000 to 0x7fffffff. Byte sequences that 
do not correspond to the valid UTF-8 encoding of a code point or are outside this range are prohibited. The use of control codes 
should be avoided. When it is necessary to represent a newline, the control code sequence CR LF should be used. The use of leading 
or trailing white space should be avoided. For code points not directly supported by user interface hardware or software, an 
alternative means of entry and display, such as hexadecimal, may be provided. For information encoded in 7-bit US-ASCII, the UTF-8 
encoding is identical to the US-ASCII encoding. UTF-8 may require multiple bytes to represent a single character / code point; thus 
the length of this object in octets may be different from the number of characters encoded. Similarly, size constraints refer to the 
number of encoded octets, not the number of characters represented by an encoding. Note that when this TC is used for an object that 
is used or envisioned to be used as an index, then a SIZE restriction MUST be specified so that the number of sub-identifiers for 
any object instance does not exceed the limit of 128, as defined by [RFC1905]. Note that the size of an SnmpAdminString object is
measured in octets, not characters."
  SYNTAX       OCTET STRING (SIZE (0..255))    
    
Prid ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
"Represents a pointer to a PRI, i.e,. to an instance of a PRC. The value is the OID name of the PRC's row definition, appended with 
one sub-identifier containing the value of the InstanceId value for the referenced instance. The definition of an attribute with 
this syntax can permit the attribute to have a value of 0.0 to indicate that it is not currently pointing to a PRI."
  SYNTAX       OBJECT IDENTIFIER
  
TagId ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
"Represents a tag value, such that all instances of a particular PRC having the same tag value form a tag list. A tag list is 
identified by the tag value shared by all instances in that tag list."
  SYNTAX       Unsigned32 (1..4294967295)
    
TagReferenceId ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
"Represents a reference to a tag list of instances of a particular PRC. The particular PRC must have an attribute with the syntax of 
TagId. The tag list consists of all instances which have the same value of the TagId attribute. Reference to the tag list is via the 
attribute with the syntax of TagReferenceId containing the tag value which identifies the tag list. The definition of an attribute 
with this syntax can permit the attribute to have a value of 0 to indicate that it is not currently referencing a tag list."
  SYNTAX       Unsigned32
    
Integer32 ::= INTEGER (-2147483648..2147483647)
    
InstanceId ::= TEXTUAL-CONVENTION
  STATUS       current
  DESCRIPTION
"The textual convention for use by an attribute which is used as the instance-identifying index of a PRC, i.e., an attribute named 
in a PIB-INDEX clause. The value of an attribute with this syntax is always greater than zero. PRIs of the same PRC need not have 
contiguous values for their instance-identifying attribute."
  SYNTAX       Unsigned32 (1..4294967295)
    
PrcIdentifier ::= TEXTUAL-CONVENTION 
  STATUS       current 
  DESCRIPTION 
"An OID that identifies a PRC. The value MUST be an OID assigned to a PRC's row definition. An attribute with this syntax can have 
the value 0.0 (zeroDotZero) to indicate that it currently does not identify a PRC." 
  SYNTAX    OBJECT IDENTIFIER 
    
Dscp ::= TEXTUAL-CONVENTION
  DISPLAY-HINT "d"
  STATUS   current
  DESCRIPTION
"A Differentiated Services Code-Point that may be used for marking a traffic stream."
  REFERENCE
"RFC 2474, RFC 2780"
  SYNTAX   Integer32 (0..63)    
    
IfDirection ::= TEXTUAL-CONVENTION
  STATUS current
  DESCRIPTION
"IfDirection specifies a direction of data travel on an interface. 'inbound' traffic is operated on during reception from the 
interface, while 'outbound' traffic is operated on prior to transmission on the interface."
  SYNTAX  INTEGER {
    inbound(1),     -- ingress interface
    outbound(2)     -- egress interface
  }    
    
AttrIdentifier ::= TEXTUAL-CONVENTION 
  STATUS       current 
  DESCRIPTION 
"A Unsigned32 value that identifies an attribute in a PRC. A AttrIdentifier value is always interpreted within the context of a 
PrcIdentifier value. The PrcIdentifier object which defines the context must be registered immediately before the object which uses 
the AttrIdentifier textual convention. An attribute with this syntax can have the value 0 to indicate that it currently does not 
identify a PRC attribute." 
  SYNTAX    Unsigned32 
    
qosCapabilityClasses    OBJECT IDENTIFIER ::= { qosPolicyPib 1 } 

qosPolicyClasses        OBJECT IDENTIFIER ::= { qosPolicyPib 2 } 

qosPolicyParameters     OBJECT IDENTIFIER ::= { qosPolicyPib 3 } 

qosPolicyPibConformance OBJECT IDENTIFIER ::= { qosPolicyPib 4 } 
    
qosBaseIfCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosBaseIfCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The Base Interface Capability class.  This class represents a generic capability supported by a device in the ingress, egress 
or both directions." 
  ::= { qosCapabilityClasses 1 } 
    
qosBaseIfCapsEntry OBJECT-TYPE 
  SYNTAX         QosBaseIfCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the qosBaseIfCaps class." 
  INDEX { qosBaseIfCapsPrid }
  ::= { qosBaseIfCapsTable 1 } 
    
QosBaseIfCapsEntry ::= SEQUENCE { 
  qosBaseIfCapsPrid           InstanceId, 
  qosBaseIfCapsDirection      Integer32 
} 
    
qosBaseIfCapsPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosBaseIfCapsEntry 1 } 
       
qosBaseIfCapsDirection OBJECT-TYPE 
  SYNTAX         Integer32 {
    inbound(1), 
    outbound(2), 
    inAndOut(3) 
  } 
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This object specifies the direction(s) for which the capability applies. A value of 'inbound(1)' means the capability applies 
only to the ingress direction. A value of 'outbound(2)' means the capability applies only to the egress direction.  A value of 
'inAndOut(3)' means the capability applies to both directions." 
  ::= { qosBaseIfCapsEntry 2 } 
      
qosIfClassificationCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfClassificationCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the classification capabilities of an interface type" 
  ::= { qosCapabilityClasses 2 } 
      
qosIfClassificationCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfClassificationCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the classification capabilities of an interface." 
  ::= { qosIfClassificationCapsTable 1 } 
      
QosIfClassificationCapsEntry ::= SEQUENCE { 
  qosIfClassificationCapsSpec BITS 
} 

qosIfClassificationCapsSpec OBJECT-TYPE 
  SYNTAX         BITS {
    ipSrcAddrClassification(1), 
    ipDstAddrClassification(2), 
    ipProtoClassification(3), 
    ipDscpClassification(4), 
    ipL4Classification(5), 
    ipV6FlowID(6) 
  } 
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Bit set of supported classification capabilities. In addition to these capabilities, other PIBs may define other capabilities 
that can then be specified in addition to the ones specified here (or instead of the ones specified here if none of these are 
specified)." 
  ::= { qosIfClassificationCapsEntry 1 } 
    
qosIfMeteringCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfMeteringCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the metering capabilities of an interface type" 
  ::= { qosCapabilityClasses 3 }   
    
qosIfMeteringCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfMeteringCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the classification capabilities of an interface." 
  ::= { qosIfMeteringCapsTable 1 }   
    
QosIfMeteringCapsEntry ::= SEQUENCE { 
  qosIfMeteringCapsSpec INTEGER 
}    

qosIfMeteringCapsSpec OBJECT-TYPE 
  SYNTAX         BITS
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Bit set of supported metering capabilities. As with classification capabilities, these metering capabilities may be augmented 
by capabilities specified in other PRCs (in other PIBs)." 
       ::= { qosIfMeteringCapsEntry 1 } 
    
qosIfAlgDropCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfAlgDropCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the algorithmic dropper capabilities of an interface type" 
  ::= { qosCapabilityClasses 4 } 
      
qosIfAlgDropCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfAlgDropCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the algorithm dropper capabilities of an interface." 
  ::= { qosIfAlgDropCapsTable 1 } 
    
QosIfAlgDropCapsEntry ::= SEQUENCE { 
  qosIfAlgDropCapsType                BITS, 
  qosIfAlgDropCapsMQCount             Unsigned32 
} 
    
qosIfAlgDropCapsType OBJECT-TYPE 
  SYNTAX         BITS {
    tailDrop(2), 
    headDrop(3), 
    randomDrop(4), 
    alwaysDrop(5), 
    mQDrop(6) } 
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The type of algorithm that droppers associated with queues may use. The tailDrop(2) algorithm means that packets are dropped 
from the tail of the queue when the associated queue's MaxQueueSize is exceeded.  The headDrop(3) algorithm means that packets 
are dropped from the head of the queue when the associated queue's MaxQueueSize is exceeded. The randomDrop(4) algorithm means 
that an algorithm is executed which may randomly drop the packet, or drop other packet(s) from the queue in its place. The 
specifics of the algorithm may be proprietary. However, parameters would be specified in the qosRandomDropTable. The 
alwaysDrop(5) will drop every packet presented to it. The mQDrop(6) algorithm will drop packets based on measurement from 
multiple queues." 
  ::= { qosIfAlgDropCapsEntry 1 } 
    
qosIfAlgDropCapsMQCount OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Indicates the number of queues measured for the drop algorithm. This attribute is ignored when alwaysDrop(5) algorithm is used. 
This attribute contains the value of 1 for all drop algorithm types except for mQDrop(6), where this attribute is used to 
indicate the maximum number of qosMQAlgDropEntry that can be chained together." 
  DEFVAL   { 1 } 
  ::= { qosIfAlgDropCapsEntry 2 } 
    
qosIfQueueCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfQueueCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the scheduling capabilities of an interface type" 
  ::= { qosCapabilityClasses 5 } 
    
qosIfQueueCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfQueueCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the queue capabilities of an interface type." 
  ::= { qosIfQueueCapsTable 1 } 
    
QosIfQueueCapsEntry ::= SEQUENCE { 
  qosIfQueueCapsMinQueueSize          Unsigned32, 
  qosIfQueueCapsMaxQueueSize          Unsigned32, 
  qosIfQueueCapsTotalQueueSize        Unsigned32 
} 
    
qosIfQueueCapsMinQueueSize OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Some interfaces may allow the size of a queue to be configured. This attribute specifies the minimum size that can be configured 
for a queue, specified in bytes." 
  ::= { qosIfQueueCapsEntry 1 } 
    
qosIfQueueCapsMaxQueueSize OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Some interfaces may allow the size of a queue to be configured. This attribute specifies the maximum size that can be configured 
for a queue, specified in bytes." 
  ::= { qosIfQueueCapsEntry 2 } 
    
qosIfQueueCapsTotalQueueSize OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Some interfaces may have a limited buffer space to be shared amongst all queues of that interface while also allowing the size 
of each queue to be configurable. To prevent the situation where the PDP configures the sizes of the queues in excess of the 
total buffer available to the interface, the PEP can report the total buffer space in bytes available with this capability." 
  ::= { qosIfQueueCapsEntry 3 } 
    
qosIfSchedulerCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfSchedulerCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the scheduler capabilities of an interface type" 
  ::= { qosCapabilityClasses 6 } 
    
qosIfSchedulerCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfSchedulerCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the scheduler capabilities of an interface type." 
  ::= { qosIfSchedulerCapsTable 1 } 
    
QosIfSchedulerCapsEntry ::= SEQUENCE { 
  qosIfSchedulerCapsServiceDisc      OBJECT IDENTIFIER, 
  qosIfSchedulerCapsMaxInputs        Unsigned32, 
  qosIfSchedulerCapsMinMaxRate       BITS 
} 
    
qosIfSchedulerCapsServiceDisc OBJECT-TYPE 
  SYNTAX         OBJECT IDENTIFIER
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The scheduling discipline for which the set of capabilities specified in this object apply. Object identifiers for several 
general purpose and well-known scheduling disciplines are defined in the Scheduler Method Parameters section of this PIB. These 
include Priority, WRR, WFQ." 
  ::= { qosIfSchedulerCapsEntry 1 } 
    
qosIfSchedulerCapsMaxInputs OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The maximum number of queues and/or schedulers that can feed into a scheduler indicated by this capability entry for this 
interface type. A value of zero means there is no maximum." 
  ::= { qosIfSchedulerCapsEntry 2 } 
    
qosIfSchedulerCapsMinMaxRate OBJECT-TYPE 
  SYNTAX         BITS
  MAX-ACCESS     read-create
  STATUS         current
    DESCRIPTION 
"Scheduler capability indicating ability to handle inputs with minimum rate, maximum rate, or both."   
  ::= { qosIfSchedulerCapsEntry 3 } 
    
qosIfMaxRateCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfMaxRateCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the maximum rate capabilities of an interface type" 
  ::= { qosCapabilityClasses 7 } 
    
qosIfMaxRateCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfMaxRateCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the maximum rate capabilities of an interface type." 
  ::= { qosIfMaxRateCapsTable 1 } 
    
QosIfMaxRateCapsEntry ::= SEQUENCE { 
  qosIfMaxRateCapsMaxLevels           Unsigned32 
} 
    
qosIfMaxRateCapsMaxLevels OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The maximum number of levels a maximum rate specification may have for this interface type and flow direction." 
  ::= { qosIfMaxRateCapsEntry 1 } 
    
qosIfElmDepthCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfElmDepthCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies the number of elements of the same type that can be cascaded together in a data path." 
  ::= { qosCapabilityClasses 8 }   
    
qosIfElmDepthCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfElmDepthCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class describes the cascade depth for a particular functional datapath element PRC. A functional datapath 
element not represented in this table can be assumed to have no specific maximum depth." 
  ::= { qosIfElmDepthCapsTable 1 }   
    
QosIfElmDepthCapsEntry ::= SEQUENCE { 
  qosIfElmDepthCapsPrc                PrcIdentifier, 
  qosIfElmDepthCapsCascadeMax         Unsigned32 
}     
    
qosIfElmDepthCapsPrc OBJECT-TYPE 
  SYNTAX         PrcIdentifier
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The object identifier of a PRC that represents a functional datapath element. This may be one of: qosClfrElementEntry, 
qosMeterEntry, qosActionEntry, qosAlgDropEntry, qosQEntry, or qosSchedulerEntry. The value is the OID of the table entry. There 
may not be more than one instance of this class with the same value of qosIfElmDepthCapsPrc." 
  ::= { qosIfElmDepthCapsEntry 1 }   
    
qosIfElmDepthCapsCascadeMax OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The maximum number of elements of type qosIfElmDepthCapsPrc that can be linked consecutively in a data path. A value of zero 
indicates there is no specific maximum." 
  ::= { qosIfElmDepthCapsEntry 2 } 
    
qosIfElmLinkCapsTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosIfElmLinkCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table specifies what types of datapath functional elements may be used as the next downstream element for a specific type 
of functional element." 
  ::= { qosCapabilityClasses 9 } 
        
qosIfElmLinkCapsEntry OBJECT-TYPE 
  SYNTAX         QosIfElmLinkCapsEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An instance of this class specifies a PRC that may be used as the next functional element after a specific type of element in a 
data path." 
  ::= { qosIfElmLinkCapsTable 1 }     
    
QosIfElmLinkCapsEntry ::= SEQUENCE { 
  qosIfElmLinkCapsPrc               PrcIdentifier, 
  qosIfElmLinkCapsAttr              AttrIdentifier, 
  qosIfElmLinkCapsNextPrc           PrcIdentifier 
}   
    
qosIfElmLinkCapsPrc OBJECT-TYPE 
  SYNTAX         PrcIdentifier
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The value is the OID of a PRC that represents a functional datapath element. This OID must not have the value zeroDotZero." 
  ::= { qosIfElmLinkCapsEntry 1 }     
    
qosIfElmLinkCapsAttr OBJECT-TYPE 
  SYNTAX         AttrIdentifier
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The value represents the attribute in the PRC indicated by qosIfElmLinkCapsPrc that is used to specify the next functional 
element in the datapath. The attribute value corresponds to the order in which the attribute appears in the definition of the 
PRC. A value of 1 indicates the first attribute of the PRC, a value of 2 indicates the second attribute of the PRC, and so 
forth." 
  ::= { qosIfElmLinkCapsEntry 2 }   
    
qosIfElmLinkCapsNextPrc OBJECT-TYPE 
  SYNTAX         PrcIdentifier
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The value is the OID of a PRC table entry from which instances can be referenced by the attribute indicated by 
qosIfElmLinkCapsPrc and qosIfElmLinkAttr. For example, suppose a meter's success output can be an action or another meter, and 
the fail output can only be an action. This can be expressed as follows: 
    
         Prid Prc             Attr                  NextPrc 
         1    qosMeterEntry   qosMeterSucceedNext   qosActionEntry 
         2    qosMeterEntry   qosMeterSucceedNext   qosMeterEntry 
         3    qosMeterEntry   qosMeterFailNext      qosActionEntry. 
    
zeroDotZero is a valid value for this attribute to specify that the PRC specified in qosIfElmLinkCapsPrc is the last functional 
data path element." 
  ::= { qosIfElmLinkCapsEntry 3 }      
    
qosDataPathTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosDataPathEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The data path table indicates the start of functional data paths in this device."          
  ::= { qosPolicyClasses 1 }     
    
qosDataPathEntry OBJECT-TYPE 
  SYNTAX         QosDataPathEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"Each entry in this table indicates the start of a single functional data path, defined by its interface name, role combination 
and traffic direction. The first functional datapath element to handle traffic for each data path is defined by the 
qosDataPathStart attribute of each table entry. Notice for each entry: 
          1. qosDataPathIfName must reference an existing interface capability name in frwkIfCapSetTable [FR-PIB]. 
          2. qosDataPathRoles must reference existing Role Combination in frwkIfRoleComboTable [FR-PIB]. 
          3. qosDataPathStart must reference an existing entry in a functional data path element table. 
If any one or more of these three requirements is not satisfied, the qosDataPathEntry will not be installed." 
  INDEX { qosDataPathPrid }
  ::= { qosDataPathTable 1 } 
    
QosDataPathEntry ::= SEQUENCE  { 
  qosDataPathPrid           InstanceId, 
  qosDataPathIfName         SnmpAdminString, 
  qosDataPathRoles          RoleCombination, 
  qosDataPathIfDirection    IfDirection, 
  qosDataPathStart          Prid 
}     
    
qosDataPathPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosDataPathEntry 1 }   
    
qosDataPathIfName OBJECT-TYPE 
  SYNTAX         SnmpAdminString
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The interface capability set to which this data path entry applies. The interface capability name specified by this attribute 
must exist in the frwkIfCapSetTable [FR-PIB] prior to association with an instance of this class." 
  ::= { qosDataPathEntry 2 }   
    
qosDataPathRoles OBJECT-TYPE 
  SYNTAX         RoleCombination
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The interfaces to which this data path entry applies, specified in terms of roles. There must exist an entry in the 
frwkIfRoleComboTable [FR-PIB] specifying this role combination, together with the interface capability set specified by 
qosDataPathIfName, prior to association with an instance of this class." 
  ::= { qosDataPathEntry 3 }     
    
qosDataPathIfDirection OBJECT-TYPE 
  SYNTAX         IfDirection
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Specifies the direction for which this data path entry applies on this interface." 
  ::= { qosDataPathEntry 4 }   
    
qosDataPathStart OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This selects the first functional datapath element to handle traffic for this data path. This Prid should point to an instance 
of one of: 
            qosClfrEntry 
            qosMeterEntry 
            qosActionEntry 
            qosAlgDropEntry 
            qosQEntry 
The PRI pointed to must exist prior to the installation of this datapath start element." 
  ::= { qosDataPathEntry 5 } 
    
qosClfrTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosClfrEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table enumerates all the Diffserv classifier functional data path elements of this device. The actual classification 
definitions are detailed in qosClfrElementTable entries belonging to each classifer. An entry in this table, referenced by an 
upstream functional data path element or a datapath table entry, is the entry point to the classifier functional data path 
element. The qosClfrId of each entry is used to organize all classifier elements belonging to the same classifier." 
  REFERENCE 
"[MODEL] section 4.1" 
  ::= { qosPolicyClasses 2 } 
 
qosClfrEntry OBJECT-TYPE 
  SYNTAX         QosClfrEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the classifier table describes a single classifier. Each classifier element belonging to this classifier must have 
its qosClfrElementClfrId attribute equal to qosClfrId." 
  INDEX { qosClfrPrid }
  ::= { qosClfrTable 1 }   
    
QosClfrEntry ::= SEQUENCE  { 
  qosClfrPrid            InstanceId, 
  qosClfrId              TagReferenceId 
}     
    
qosClfrPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosClfrEntry 1 }   
    
qosClfrId OBJECT-TYPE 
  SYNTAX         TagReferenceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Identifies a Classifier. A Classifier must be complete, this means all traffic handled by a Classifier must match at least one 
Classifier Element within the Classifier." 
  ::= { qosClfrEntry 2 } 
    
qosClfrElementTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosClfrElementEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The classifier element table enumerates the relationship between classification patterns and subsequent downstream diffserv 
functional data path elements. Classification parameters are defined by entries of filter tables pointed to by 
qosClfrElementSpecific. There can be filter tables of different types, and they can be inter-mixed and used within a classifier. 
An example of a filter table is the frwkIpFilterTable, defined in [FR-PIB], for IP Multi-Field Classifiers (MFCs)." 
  REFERENCE 
"[MODEL] section 4.1" 
  ::= { qosPolicyClasses 3 }   
    
qosClfrElementEntry OBJECT-TYPE 
  SYNTAX         QosClfrElementEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the classifier element table describes a single element of the classifier." 
  INDEX { qosClfrElementPrid }
  ::= { qosClfrElementTable 1 }     
    
QosClfrElementEntry ::= SEQUENCE  { 
  qosClfrElementPrid        InstanceId, 
  qosClfrElementClfrId      TagId, 
  qosClfrElementPrecedence  Unsigned32, 
  qosClfrElementNext        Prid, 
  qosClfrElementSpecific    Prid 
}     
    
qosClfrElementPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosClfrElementEntry 1 } 
    
qosClfrElementClfrId OBJECT-TYPE 
  SYNTAX         TagId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"A classifier is composed of one or more classifier elements. Each classifier element belonging to the same classifier uses the 
same classifier ID. Hence, A classifier Id identifies which classifier this classifier element is a part of. This needs to be the 
value of qosClfrId attribute for an existing instance of qosClfrEntry." 
  ::= { qosClfrElementEntry 2 } 
        
qosClfrElementPrecedence OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The relative order in which classifier elements are applied: higher numbers represent classifier elements with higher 
precedence. Classifier elements with the same precedence must be unambiguous i.e. they must define non-overlapping patterns, and 
are considered to be applied simultaneously to the traffic stream. Classifier elements with different precedence may overlap in 
their filters: the classifier element with the highest precedence that matches is taken. On a given interface, there must be a 
complete classifier in place at all times in the ingress direction. This means that there will always be one or more filters that 
match every possible pattern that could be presented in an incoming packet. There is no such requirement in the egress 
direction." 
  DEFVAL { 0 } 
  ::= { qosClfrElementEntry 3 } 
    
qosClfrElementNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This attribute provides one branch of the fan-out functionality of a classifier described in [MODEL] section 4.1. This selects 
the next diffserv functional datapath element to handle traffic for this data path. A value of zeroDotZero marks the end of 
DiffServ processing for this data path. Any other value must point to a valid (pre-existing) instance of one of: 
            qosClfrEntry 
            qosMeterEntry 
            qosActionEntry 
            qosAlgDropEntry 
            qosQEntry." 
  DEFVAL      { zeroDotZero } 
  ::= { qosClfrElementEntry 4 }   
    
qosClfrElementSpecific OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"A pointer to a valid entry in another table that describes the applicable classification filter, e.g. an entry in 
frwkIpFilterTable [FR-PIB]. The PRI pointed to must exist prior to the installation of this classifier element. The value 
zeroDotZero is interpreted to match anything not matched by another classifier element - only one such entry may exist for each 
classifier." 
  DEFVAL { zeroDotZero } 
  ::= { qosClfrElementEntry 5 }    
    
qosMeterTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosMeterEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table enumerates specific meters that a system may use to police a stream of traffic. The traffic stream to be metered is 
determined by the element(s) upstream of the meter i.e. by the object(s) that point to each entry in this table. This may 
include all traffic on an interface. Specific meter details are to be found in table entry referenced by qosMeterSpecific." 
  REFERENCE  "[MODEL] section 5.1" 
  ::= { qosPolicyClasses 4 }   
    
qosMeterEntry OBJECT-TYPE 
  SYNTAX         QosMeterEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the meter table describes a single conformance level of a meter." 
  INDEX { qosMeterPrid }
  ::= { qosMeterTable 1 }    
    
QosMeterEntry ::= SEQUENCE  { 
  qosMeterPrid              InstanceId, 
  qosMeterSucceedNext       Prid, 
  qosMeterFailNext          Prid, 
  qosMeterSpecific          Prid 
}     
    
qosMeterPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosMeterEntry 1 }   
    
qosMeterSucceedNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"If the traffic does conform, 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: 
            qosClfrEntry 
            qosMeterEntry 
            qosActionEntry 
            qosAlgDropEntry 
            qosQEntry." 
  DEFVAL      { zeroDotZero } 
  ::= { qosMeterEntry 2 } 
    
qosMeterFailNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"If the traffic does not conform, 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: 
            qosClfrEntry 
            qosMeterEntry 
            qosActionEntry 
            qosAlgDropEntry 
            qosQEntry." 
  DEFVAL      { zeroDotZero } 
  ::= { qosMeterEntry 3 }     
    
qosMeterSpecific OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This indicates the behaviour of the meter by pointing to an entry containing detailed parameters. Note that entries in that 
specific table must be managed explicitly. For example, qosMeterSpecific may point to an entry in qosTBMeterTable, which 
contains an instance of a single set of Token Bucket parameters. The PRI pointed to must exist prior to installing this Meter 
datapath element." 
  ::= { qosMeterEntry 4 } 
    
qosTBParamTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosTBParamEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"This table enumerates token-bucket meter parameter sets that a system may use to police a stream of traffic. Such parameter 
sets are modelled here as each having a single rate and a single burst size. Multiple entries are used when multiple rates/burst 
sizes are needed." 
  REFERENCE 
"[MODEL] section 5.1" 
  ::= { qosPolicyClasses 5 }   
    
qosTBParamEntry OBJECT-TYPE 
  SYNTAX         QosTBParamEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry that describes a single token-bucket parameter set." 
  INDEX { qosTBParamPrid }
  ::= { qosTBParamTable 1 }   
    
QosTBParamEntry ::= SEQUENCE  { 
  qosTBParamPrid            InstanceId, 
  qosTBParamType            OBJECT IDENTIFIER, 
  qosTBParamRate            Unsigned32, 
  qosTBParamBurstSize       BurstSize, 
  qosTBParamInterval        Unsigned32 
}   
    
qosTBParamPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosTBParamEntry 1 }     
    
qosTBParamType OBJECT-TYPE 
  SYNTAX         OBJECT IDENTIFIER
  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 are as follows: qosTBParamSimpleTokenBucket, qosTBParamAvgRate, qosTBParamSrTCMBlind, qosTBParamSrTCMAware, 
qosTBParamTrTCMBlind, qosTBParamTrTCMAware, qosTBParamTswTCM. These are specified in this PIB as OBJECT-IDENTITYs under 
qosPolicyParameters; additional values may be further specified in other PIBs." 
  REFERENCE 
"[MODEL] section 5" 
  ::= { qosTBParamEntry 2 }     
    
qosTBParamRate OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "kilobits per second"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The token-bucket rate, in kilobits per second (kbps). This attribute is used for: 
       1. CIR in 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 [MODEL] section 5." 
  ::= { qosTBParamEntry 3 }   
    
qosTBParamBurstSize 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 FRC 2698 for trTCM 
       3. Burst Size in [MODEL] section 5." 
  ::= { qosTBParamEntry 4 }   
    
qosTBParamInterval OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "microseconds"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The time interval used with the token bucket. For: 
          1. Average Rate Meter, [MODEL] section 5.2.1, - Delta.   
          2. Simple Token Bucket Meter, [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." 
  ::= { qosTBParamEntry 5 } 
        
qosActionTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosActionEntry
  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, after marking a stream of traffic exiting from a meter, a device can then perform a mark action of the conforming or 
non-conforming traffic. Specific actions are indicated by qosAction-Specific which points to an entry of a specific action type 
parameterizing the action in detail." 
  REFERENCE 
"[MODEL] section 6." 
  ::= { qosPolicyClasses 6 } 
      
qosActionEntry OBJECT-TYPE 
  SYNTAX         QosActionEntry
  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 { qosActionPrid }
  ::= { qosActionTable 1 }   
    
QosActionEntry ::= SEQUENCE  { 
  qosActionPrid              InstanceId, 
  qosActionNext              Prid, 
  qosActionSpecific          Prid 
} 
        
qosActionPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosActionEntry 1 }     
    
qosActionNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  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: 
            qosClfrEntry 
            qosMeterEntry 
            qosActionEntry 
            qosAlgDropEntry 
            qosQEntry." 
  DEFVAL      { zeroDotZero } 
  ::= { qosActionEntry 2 }   
    
qosActionSpecific OBJECT-TYPE 
  SYNTAX         Prid
  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 PIB  module, this should point to an instance of qosDscpMarkActEntry. 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." 
  ::= { qosActionEntry 3 } 
    
qosDscpMarkActTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosDscpMarkActEntry
  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 qosActionSpecific attribute." 
  REFERENCE 
"[MODEL] section 6.1" 
  ::= { qosPolicyClasses 7 }   
    
qosDscpMarkActEntry OBJECT-TYPE 
  SYNTAX         QosDscpMarkActEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the DSCP mark action table that describes a single DSCP used for marking." 
  INDEX { qosDscpMarkActPrid }
  ::= { qosDscpMarkActTable 1 } 
    
QosDscpMarkActEntry ::= SEQUENCE  { 
  qosDscpMarkActPrid          InstanceId, 
  qosDscpMarkActDscp          Dscp 
}     
    
qosDscpMarkActPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosDscpMarkActEntry 1 }   
    
qosDscpMarkActDscp OBJECT-TYPE 
  SYNTAX         Dscp
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The DSCP that this Action uses for marking/remarking traffic. Note that a DSCP value of -1 is not permitted in this table. 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 network and on egress from it and it is quite possible that ingress and egress would 
occur in the same router." 
  ::= { qosDscpMarkActEntry 2 } 
    
qosAlgDropTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosAlgDropEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The algorithmic drop table contains entries describing a functional data path element that drops packets according to some 
algorithm." 
  REFERENCE 
"[MODEL] section 7.1.3" 
  ::= { qosPolicyClasses 9 }   
    
qosAlgDropEntry OBJECT-TYPE 
  SYNTAX         QosAlgDropEntry
  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 qosAlgDropType and with more detail parameter entry pointed to by qosAlgDropSpecific when necessary." 
  INDEX { qosAlgDropPrid }
  ::= { qosAlgDropTable 1 }     
    
QosAlgDropEntry ::= SEQUENCE  { 
  qosAlgDropPrid             InstanceId, 
  qosAlgDropType             INTEGER, 
  qosAlgDropNext             Prid, 
  qosAlgDropQMeasure         Prid, 
  qosAlgDropQThreshold       Unsigned32, 
  qosAlgDropSpecific         Prid 
}   
    
qosAlgDropPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosAlgDropEntry 1 }   
    
qosAlgDropType OBJECT-TYPE 
  SYNTAX         INTEGER {
    other(1), 
    tailDrop(2), 
    headDrop(3), 
    randomDrop(4), 
    alwaysDrop(5), 
    mQDrop(6) 
  } 
  MAX-ACCESS     read-create
  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 qosAlgDropSpecific 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: qosAlgDropQThreshold 
represents the depth of the queue, pointed to by qosAlgDropQMeasure, 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 
qosAlgDropQMeasure, is at qosAlgDropQThreshold, 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) from the queue in its place. The specifics of 
the algorithm may be proprietary. For this algorithm, qosAlgDropSpecific points to a qosRandomDropEntry that describes the 
algorithm. For this algorithm, qosAlgQThreshold is understood to be the absolute maximum size of the queue and additional 
parameters are described in qosRandomDropTable. 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, qosAlgDropNext, qosAlgDropQMeasure, and 
qosAlgDropSpecific should be all set to zeroDotZero. The mQDrop(6) algorithm measures multiple queues for the drop algorithm. The 
queues measured are represented by having qosAlgDropQMeasure referencing a qosMQAlgDropEntry. Each of the chained 
qosMQAlgDropEntry is used to describe the drop algorithm for one of the measured queues." 
  ::= { qosAlgDropEntry 2 }   
    
qosAlgDropNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  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: 
  qosClfrEntry 
  qosMeterEntry 
  qosActionEntry 
  qosAlgDropEntry 
  qosQEntry. 
When qosAlgDropType is alwaysDrop(5), this attribute is Ignored." 
  DEFVAL      { zeroDotZero } 
  ::= { qosAlgDropEntry 3 }     
    
qosAlgDropQMeasure OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"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 qosQTable. For mQDrop(6), this should point to a qosMQAlgDropEntry that Describe one of the queues being measured for 
multiple queue dropper. The PRI pointed to must exist prior to installing this dropper element." 
  ::= { qosAlgDropEntry 4 }   
    
qosAlgDropQThreshold OBJECT-TYPE 
  SYNTAX         Unsigned32
  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 
qosAlgDropType 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 qosAlgDropQMeasure, at which the drop action will take place. Other algorithms will need to 
define their own semantics for this threshold." 
  ::= { qosAlgDropEntry 5 }    
    
qosAlgDropSpecific OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  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 qosAlgDropType equal to other(1) must have this point to an instance of a PRC 
defined in another PIB module. Entries with qosAlgDropType equal to randomDrop(4) must have this point to an entry in 
qosRandomDropTable. Entries with qosAlgDropType equal to mQDrop(6) can use this 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." 
  ::= { qosAlgDropEntry 6 } 
    
qosMQAlgDropTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosMQAlgDropEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The multiple queue algorithmic drop table contains entries describing each queue being measured for the multiple queue 
algorithmic dropper." 
  ::= { qosPolicyClasses 10 }   
    
qosMQAlgDropEntry OBJECT-TYPE 
  SYNTAX         QosMQAlgDropEntry
  MAX-ACCESS     not-accessible
  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 qosAlgDropEntry with adding of a qosMQAlgDropExceedNext attribute. Further details 
of the algorithm type are to be found in qosAlgDropType and with more detail parameter entry pointed to by qosMQAlgDropSpecific 
when necessary." 
  ::= { qosMQAlgDropTable 1 } 
    
QosMQAlgDropEntry ::= SEQUENCE  { 
  qosMQAlgDropExceedNext     Prid 
}     
    
qosMQAlgDropExceedNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"Used for linking of multiple qosMQAlgDropEntry for mQDrop. A value of zeroDotZero indicates this is the last of a chain of 
qosMQAlgDropEntry." 
  DEFVAL      { zeroDotZero } 
  ::= { qosMQAlgDropEntry 1 } 
      
qosRandomDropTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosRandomDropEntry
  MAX-ACCESS     not-accessible
  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 qosAlgDropSpecific." 
  REFERENCE 
"[MODEL] section 7.1.3" 
  ::= { qosPolicyClasses 11 }   
    
qosRandomDropEntry OBJECT-TYPE 
  SYNTAX         QosRandomDropEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry describes a process that drops packets according to a random algorithm." 
  INDEX { qosRandomDropPrid }
  ::= { qosRandomDropTable 1 }   
    
QosRandomDropEntry ::= SEQUENCE  { 
  qosRandomDropPrid             InstanceId, 
  qosRandomDropMinThreshBytes   Unsigned32, 
  qosRandomDropMinThreshPkts    Unsigned32, 
  qosRandomDropMaxThreshBytes   Unsigned32, 
  qosRandomDropMaxThreshPkts    Unsigned32, 
  qosRandomDropProbMax          Unsigned32, 
  qosRandomDropWeight           Unsigned32, 
  qosRandomDropSamplingRate     Unsigned32 
}     
    
qosRandomDropPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosRandomDropEntry 1 }     
    
qosRandomDropMinThreshBytes OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "bytes"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The average queue depth in bytes, beyond which traffic has a non-zero probability of being dropped." 
  ::= { qosRandomDropEntry 2 } 
    
qosRandomDropMinThreshPkts OBJECT-TYPE 
  SYNTAX         Unsigned32
  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." 
  ::= { qosRandomDropEntry 3 }     
    
qosRandomDropMaxThreshBytes OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "bytes"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The average queue depth beyond which traffic has a probability indicated by qosRandomDropProbMax of being dropped or marked. 
Note that this differs from the physical queue limit, which is stored in qosAlgDropQThreshold." 
  ::= { qosRandomDropEntry 4 }             
    
qosRandomDropMaxThreshPkts OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "packets"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The average queue depth beyond which traffic has a probability indicated by qosRandomDropProbMax of being dropped or marked. 
Note that this differs from the physical queue limit, which is stored in qosAlgDropQThreshold." 
  ::= { qosRandomDropEntry 5 }     
    
qosRandomDropProbMax OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  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." 
  ::= { qosRandomDropEntry 6 }     
    
qosRandomDropWeight OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  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 qosRandomDropWeight/MaxValue as the coefficient for the new sample in the equation, and 
(MaxValue - qosRandomDropWeight)/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 qosRandomDropWeight via the capability tables." 
  ::= { qosRandomDropEntry 7 }   
    
qosRandomDropSamplingRate OBJECT-TYPE 
  SYNTAX         Unsigned32
  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 means the queue is sample 
approximately each time a packet is enqueued (or dequeued)." 
  ::= { qosRandomDropEntry 8 } 
    
qosQTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosQEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The Queue Table enumerates the queues." 
  ::= { qosPolicyClasses 12 }     
    
qosQEntry OBJECT-TYPE 
  SYNTAX         QosQEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the Queue Table describes a single queue as a functional data path element." 
  INDEX { qosQPrid }
  ::= { qosQTable 1 }     
    
QosQEntry ::= SEQUENCE  { 
  qosQPrid                    InstanceId, 
  qosQNext                    Prid, 
  qosQMinRate                 Prid, 
  qosQMaxRate                 Prid 
}   
    
qosQPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosQEntry 1 }   
    
qosQNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This selects the next diffserv scheduler. This must point to a qosSchedulerEntry. A value of zeroDotZero in this attribute 
indicates an incomplete qosQEntry instance. In such a case, the entry has no operational effect, since it has no parameters to 
give it meaning." 
  ::= { qosQEntry 2 }   
    
qosQMinRate OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This Prid indicates the entry in qosMinRateTable the scheduler, pointed to by qosQNext, 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." 
  ::= { qosQEntry 3 } 
    
qosQMaxRate OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This Prid indicates the entry in qosMaxRateTable the scheduler, pointed to by qosQNext, 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." 
  ::= { qosQEntry 4 } 
    
qosSchedulerTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosSchedulerEntry
  MAX-ACCESS     not-accessible
  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 qosSchedulerEntry." 
  REFERENCE 
"[MODEL] section 7.1.2" 
  ::= { qosPolicyClasses 13 }     
    
qosSchedulerEntry OBJECT-TYPE 
  SYNTAX         QosSchedulerEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the Scheduler Table describing a  single instance of a scheduling algorithm." 
  INDEX { qosSchedulerPrid }
  ::= { qosSchedulerTable 1 } 

QosSchedulerEntry ::= SEQUENCE  { 
  qosSchedulerPrid                 InstanceId, 
  qosSchedulerNext                 Prid, 
  qosSchedulerMethod               OBJECT IDENTIFIER, 
  qosSchedulerMinRate              Prid, 
  qosSchedulerMaxRate              Prid 
}   
    
qosSchedulerPrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosSchedulerEntry 1 }   
    
qosSchedulerNext OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  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: 
 	    qosSchedulerEntry 
            qosQEntry, 
       or:  qosClfrEntry 
            qosMeterEntry 
            qosActionEntry 
            qosAlgDropEntry 
This points to another qosSchedulerEntry for implementation of multiple scheduler methods for the same data path, and for 
implementation of hierarchical schedulers." 
  DEFVAL       { zeroDotZero } 
  ::= { qosSchedulerEntry 2 }  
    
qosSchedulerMethod OBJECT-TYPE 
  SYNTAX         OBJECT IDENTIFIER
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The scheduling algorithm used by this Scheduler. Standard values for generic algorithms: qosSchedulerPriority, qosSchedulerWRR, 
qosSchedulerWFQ are specified in this PIB. Additional values may be further specified in other PIBs. A value of zeroDotZero 
indicates this is unknown." 
  REFERENCE 
"[MODEL] section 7.1.2" 
  ::= { qosSchedulerEntry 3 }             
    
qosSchedulerMinRate OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This Prid indicates the entry in qosMinRateTable 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 } 
  ::= { qosSchedulerEntry 4 }   
    
qosSchedulerMaxRate OBJECT-TYPE 
  SYNTAX         Prid
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"This Prid indicates the entry in qosMaxRateTable 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 } 
  ::= { qosSchedulerEntry 5 }    
    
qosMinRateTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosMinRateEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The Minimum Rate Table enumerates individual sets of scheduling parameter that can be used/reused by Queues and Schedulers." 
  ::= { qosPolicyClasses 14 } 
        
qosMinRateEntry OBJECT-TYPE 
  SYNTAX         QosMinRateEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the Minimum Rate Table describes a single set of scheduling parameter for use by queues and schedulers." 
  INDEX { qosMinRatePrid }
  ::= { qosMinRateTable 1 } 

QosMinRateEntry ::= SEQUENCE  { 
  qosMinRatePrid            InstanceId, 
  qosMinRatePriority        Unsigned32, 
  qosMinRateAbsolute        Unsigned32, 
  qosMinRateRelative        Unsigned32 
}   
    
qosMinRatePrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosMinRateEntry 1 }     
    
qosMinRatePriority OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  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." 
  ::= { qosMinRateEntry 2 }   
    
qosMinRateAbsolute OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "kilobits per second"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The minimum absolute rate, in kilobits/sec, that a downstream scheduler element should allocate to this queue. If the value is 
zero, then there is effectively no minimum rate guarantee. If the value is non-zero, the scheduler will assure the servicing of 
this queue to at least this rate. Note that this attribute's value is coupled to that of qosMinRateRelative: 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 [IFMIB]" 
  ::= { qosMinRateEntry 3 }   
    
qosMinRateRelative OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The minimum rate that a downstream scheduler element should allocate to this queue, relative to the maximum rate of the 
interface as reported by ifSpeed or ifHighSpeed, in units of 1/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 qosMinRateAbsolute: 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 [IFMIB]" 
  ::= { qosMinRateEntry 4 } 
    
qosMaxRateTable OBJECT-TYPE 
  SYNTAX         SEQUENCE OF QosMaxRateEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"The Maximum Rate Table enumerates individual sets of scheduling parameter that can be used/reused by Queues and Schedulers." 
  ::= { qosPolicyClasses 15 } 
 
qosMaxRateEntry OBJECT-TYPE 
  SYNTAX         QosMaxRateEntry
  MAX-ACCESS     not-accessible
  STATUS         current
  DESCRIPTION 
"An entry in the Maximum Rate Table describes a single set of scheduling parameter for use by queues and schedulers." 
  INDEX { qosMaxRatePrid }
  ::= { qosMaxRateTable 1 }   
    
QosMaxRateEntry ::= SEQUENCE  { 
  qosMaxRatePrid            InstanceId, 
  qosMaxRateId                     Unsigned32, 
  qosMaxRateLevel           Unsigned32, 
  qosMaxRateAbsolute        Unsigned32, 
  qosMaxRateRelative        Unsigned32, 
  qosMaxRateThreshold       BurstSize 
}   
    
qosMaxRatePrid OBJECT-TYPE 
  SYNTAX         InstanceId
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An arbitrary integer index that uniquely identifies an instance of the class." 
  ::= { qosMaxRateEntry 1 }   
    
qosMaxRateId OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"An index used together with qosMaxRateId for representing a multi-rate shaper. This attribute is used for associating all the 
rate attributes of a multi-rate shaper. Each qosMaxRateEntry of a multi-rate shaper must have the same value in this attribute. 
The different rates of a multi-rate shaper is identified using qosMaxRateLevel. This attribute uses the value of zero to 
indicate this attribute is not used, for single rate shaper." 
  DEFVAL { 0 } 
  ::= { qosMaxRateEntry 2 }  
    
qosMaxRateLevel OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  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 zero." 
  DEFVAL { 0 } 
  ::= { qosMaxRateEntry 3 }   
    
qosMaxRateAbsolute OBJECT-TYPE 
  SYNTAX         Unsigned32
  UNITS          "kilobits per second"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The maximum rate in kilobits/sec that a downstream scheduler element should allocate to this queue. If the value is zero, then 
there is effectively no maximum rate limit and that the scheduler should attempt to be work-conserving for this queue. If the 
value is non-zero, the scheduler will limit the servicing of this queue to, at most, this rate in a non-work-conserving manner. 
Note that this attribute's value is coupled to that of qosMaxRateRelative: 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." 
  ::= { qosMaxRateEntry 4 }   
    
qosMaxRateRelative OBJECT-TYPE 
  SYNTAX         Unsigned32
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The maximum rate that a downstream scheduler element should allocate to this queue, relative to the maximum rate of the 
interface as reported by ifSpeed or ifHighSpeed, in units of 1/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 qosMaxRateAbsolute: 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 [IFMIB]" 
  ::= { qosMaxRateEntry 5 }     
    
qosMaxRateThreshold OBJECT-TYPE 
  SYNTAX         BurstSize
  UNITS          "Bytes"
  MAX-ACCESS     read-create
  STATUS         current
  DESCRIPTION 
"The number of bytes of queue depth at which the rate of a multi-rate scheduler will increase to the next output rate. In the 
last PRI for such a shaper, this threshold is ignored and by convention is zero." 
  REFERENCE 
"Adaptive Rate Shaper, RFC 2963" 
  ::= { qosMaxRateEntry 6 } 
    
qosTBParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 1 } 
qosSchedulerParameters OBJECT IDENTIFIER ::= { qosPolicyParameters 2 } 
   
qosTBParamSimpleTokenBucket  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of a Two Parameter Token Bucket as described in [MODEL] section 5.2.3." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 1 }   
    
qosTBParamAvgRate  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of an Average Rate Meter as described in [MODEL] section 5.2.1." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 2 }   
    
qosTBParamSrTCMBlind  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of Single Rate Three Color Marker Metering as defined by RFC 2697, with `Color Blind' mode as 
described by the RFC." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 3 }   
    
qosTBParamSrTCMAware  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of Single Rate Three Color Marker Metering as defined by RFC 2697, with `Color Aware' mode as 
described by the RFC." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 4 }   
    
qosTBParamTrTCMBlind  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of Two Rate Three Color Marker Metering as defined by RFC 2698, with `Color Blind' mode as 
described by the RFC." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 5 }   
    
qosTBParamTrTCMAware  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of Two Rate Three Color Marker Metering as defined by RFC 2698, with `Color Aware' mode as 
described by the RFC." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 6 }   
    
qosTBParamTswTCM  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"This value indicates the use of Time Sliding Window Three Color Marker Metering as defined by RFC 2859." 
  REFERENCE 
"[MODEL] sections 5 and 7.1.2" 
   ::= { qosTBParameters 7 } 
   
qosSchedulerPriority  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc to indicate Priority scheduling method, defined as an 
algorithm in which the presence of data in a queue or set of queues absolutely precludes dequeue from another queue or set of 
queues. Notice attributes from qosMinRateEntry of the queues/schedulers feeding this scheduler are used when determining the 
next packet to schedule." 
  REFERENCE 
"[MODEL] section 7.1.2" 
   ::= { qosSchedulerParameters 1 } 
    
qosSchedulerWRR  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc to indicate Weighted Round Robin scheduling method, defined 
as any algorithm in which a set of queues are visited in a fixed order, and varying amounts of traffic are removed from each 
queue in turn to implement an average output rate by class. Notice attributes from qosMinRateEntry of the queues/schedulers 
feeding this scheduler are used when determining the next packet to schedule." 
  REFERENCE 
"[MODEL] section 7.1.2" 
   ::= { qosSchedulerParameters 2 } 
        
qosSchedulerWFQ  OBJECT-IDENTITY
  STATUS       current 
  DESCRIPTION 
"For use with qosSchedulerMethod and qosIfSchedulingCapsServiceDisc to indicate Weighted Fair Queueing scheduling method, defined 
as any algorithm in which a set of queues are conceptually visited in some order, to implement an average output rate by class. 
Notice attributes from qosMinRateEntry of the queues/schedulers feeding this scheduler are used when determining the next packet 
to schedule." 
  REFERENCE 
"[MODEL] section 7.1.2" 
   ::= { qosSchedulerParameters 3 }     
      
qosPolicyPibCompliances OBJECT IDENTIFIER ::= { qosPolicyPibConformance 1 } 
   
qosPolicyPibGroups OBJECT IDENTIFIER ::= { qosPolicyPibConformance 2 } 
    
qosPolicyPibCompliance MODULE-COMPLIANCE 
  STATUS  current 
  DESCRIPTION 
"Describes the requirements for conformance to the QoS Policy PIB."     
  MODULE 
  MANDATORY-GROUPS { 
    qosPibDataPathGroup, 
    qosPibClfrGroup, 
    qosPibClfrElementGroup, 
    qosPibActionGroup, 
    qosPibAlgDropGroup, 
    qosPibQGroup, 
    qosPibSchedulerGroup, 
    qosPibMinRateGroup, 
    qosPibMaxRateGroup }    
GROUP qosPibMeterGroup 
  DESCRIPTION 
"This group is mandatory for devices that implement metering functions."     
GROUP qosPibTBParamGroup 
  DESCRIPTION 
"This group is mandatory for devices that implement token-bucket metering functions."     
GROUP qosPibDscpMarkActGroup 
  DESCRIPTION 
"This group is mandatory for devices that implement DSCP-Marking functions." 
  GROUP qosPibMQAlgDropGroup 
  DESCRIPTION 
"This group is mandatory for devices that implement Multiple Queue Measured Algorithmic Drop functions." 
GROUP qosPibRandomDropGroup 
  DESCRIPTION 
"This group is mandatory for devices that implement Random Drop functions." 
OBJECT qosClfrId 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosClfrElementClfrId 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosClfrElementPrecedence 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosClfrElementNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required." 
OBJECT qosClfrElementSpecific 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required." 
OBJECT qosMeterSucceedNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required." 
OBJECT qosMeterFailNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required." 
OBJECT qosMeterSpecific 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosTBParamType 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required." 
OBJECT qosTBParamRate 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosTBParamBurstSize 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosTBParamInterval 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosActionNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."    
OBJECT qosActionSpecific 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosAlgDropType 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosAlgDropNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosAlgDropQMeasure 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosAlgDropQThreshold 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosAlgDropSpecific 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosRandomDropMinThreshBytes 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosRandomDropMinThreshPkts 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosRandomDropMaxThreshBytes 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosRandomDropMaxThreshPkts 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."  
OBJECT qosRandomDropProbMax 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosRandomDropWeight 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosRandomDropSamplingRate 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosQNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosQMinRate 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosQMaxRate 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosSchedulerNext 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosSchedulerMethod 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosSchedulerMinRate 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosSchedulerMaxRate 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosMinRatePriority 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosMinRateAbsolute 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required." 
OBJECT qosMinRateRelative 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosMaxRateLevel 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosMaxRateAbsolute 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
OBJECT qosMaxRateRelative 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."   
OBJECT qosMaxRateThreshold 
  MIN-ACCESS read-only
  DESCRIPTION 
"Install support is not required."     
  ::= { qosPibCompliances 1 } 
    
qosPibDataPathGroup OBJECT-GROUP 
  OBJECTS { 
    qosDataPathIfName, 
    qosDataPathRoles, 
    qosDataPathDirection, 
    qosDataPathStart 
  } 
  STATUS current 
  DESCRIPTION 
"The Data Path Group defines the PIB Objects that describe a data path." 
  ::= { qosPolicyPibGroups 1 }     
    
qosPibClfrGroup OBJECT-GROUP 
  OBJECTS { 
    qosClfrId 
  } 
  STATUS current 
  DESCRIPTION 
"The Classifier Group defines the PIB Objects that describe a generic classifier." 
  ::= { qosPolicyPibGroups 2 }     
    
qosPibClfrElementGroup OBJECT-GROUP 
  OBJECTS { 
    qosClfrElementClfrId,  
    qosClfrElementPrecedence, 
    qosClfrElementNext, 
    qosClfrElementSpecific 
  } 
  STATUS current 
  DESCRIPTION 
"The Classifier Group defines the PIB Objects that describe a generic classifier." 
  ::= { qosPolicyPibGroups 3 }  

qosPibMeterGroup OBJECT-GROUP 
  OBJECTS { 
    qosMeterSucceedNext, 
    qosMeterFailNext, 
    qosMeterSpecific 
  } 
  STATUS current 
  DESCRIPTION 
"The Meter Group defines the objects used in describing a generic meter element." 
  ::= { qosPolicyPibGroups 4 }   
    
qosPibTBParamGroup OBJECT-GROUP 
  OBJECTS { 
    qosTBParamType, 
    qosTBParamRate, 
    qosTBParamBurstSize, 
    qosTBParamInterval 
  } 
  STATUS current 
  DESCRIPTION 
"The Token-Bucket Parameter Group defines the objects used in describing a single-rate token bucket meter element." 
  ::= { qosPolicyPibGroups 5 }     
    
qosPibActionGroup OBJECT-GROUP 
  OBJECTS { 
    qosActionNext, 
    qosActionSpecific 
  } 
  STATUS current 
  DESCRIPTION 
"The Action Group defines the objects used in describing a generic action element." 
  ::= { qosPolicyPibGroups 6 }   
    
qosPibDscpMarkActGroup OBJECT-GROUP 
  OBJECTS { 
    qosDscpMarkActDscp 
  } 
  STATUS current 
  DESCRIPTION 
"The DSCP Mark Action Group defines the objects used in describing a DSCP Marking Action element." 
  ::= { qosPolicyPibGroups 7 }   
    
qosPibAlgDropGroup OBJECT-GROUP 
  OBJECTS { 
    qosAlgDropType, 
    qosAlgDropNext, 
    qosAlgDropQMeasure, 
    qosAlgDropQThreshold, 
    qosAlgDropSpecific 
  } 
  STATUS current 
  DESCRIPTION 
"The Algorithmic Drop Group contains the objects that describe algorithmic dropper operation and configuration." 
  ::= { qosPolicyPibGroups 8 }   
    
qosPibMQAlgDropGroup OBJECT-GROUP 
  OBJECTS { 
    qosMQAlgDropExceedNext 
  } 
  STATUS current 
  DESCRIPTION 
"The Multiple Queue Measured Algorithmic Drop Group contains the objects that describe multiple queue measured algorithmic 
dropper operation and configuration." 
  ::= { qosPolicyPibGroups 9 }     
    
qosPibRandomDropGroup OBJECT-GROUP 
  OBJECTS { 
    qosRandomDropMinThreshBytes, 
    qosRandomDropMinThreshPkts, 
    qosRandomDropMaxThreshBytes, 
    qosRandomDropMaxThreshPkts, 
    qosRandomDropProbMax, 
    qosRandomDropWeight, 
    qosRandomDropSamplingRate 
  } 
  STATUS current 
  DESCRIPTION 
"The Random Drop Group augments the Algorithmic Drop Group for random dropper operation and configuration." 
  ::= { qosPolicyPibGroups 10 }   
    
qosPibQGroup OBJECT-GROUP 
  OBJECTS { 
    qosQNext, 
    qosQMinRate, 
    qosQMaxRate 
  } 
  STATUS current 
  DESCRIPTION 
"The Queue Group contains the objects that describe an interface type's queues." 
  ::= { qosPolicyPibGroups 11 }   
    
qosPibSchedulerGroup OBJECT-GROUP 
  OBJECTS { 
    qosSchedulerNext, 
    qosSchedulerMethod, 
    qosSchedulerMinRate, 
    qosSchedulerMaxRate 
  } 
  STATUS current 
  DESCRIPTION 
"The Scheduler Group contains the objects that describe packet schedulers on interface types." 
  ::= { qosPolicyPibGroups 12 }   
    
qosPibMinRateGroup OBJECT-GROUP 
  OBJECTS { 
    qosMinRatePriority, 
    qosMinRateAbsolute, 
    qosMinRateRelative 
  } 
  STATUS current 
  DESCRIPTION 
"The Minimum Rate Group contains the objects that describe packet schedulers' parameters on interface types." 
  ::= { qosPolicyPibGroups 13 }   
    
qosPibMaxRateGroup OBJECT-GROUP 
  OBJECTS { 
    qosMaxRateLevel, 
    qosMaxRateAbsolute, 
    qosMaxRateRelative, 
    qosMaxRateThreshold 
  } 
  STATUS current 
  DESCRIPTION 
"The Maximum Rate Group contains the objects that describe packet schedulers' parameters on interface types." 
  ::= { qosPolicyPibGroups 14 }   
    
END