Blame pibs/tubs/QOS-POLICY-IP-PIB-orig

Packit 022b05
QOS-POLICY-IP-PIB PIB-DEFINITIONS ::= BEGIN
Packit 022b05
Packit 022b05
IMPORTS
Packit 022b05
    Unsigned32, IpAddress, Integer32,
Packit 022b05
    MODULE-IDENTITY, OBJECT-TYPE
Packit 022b05
            FROM SNMPv2-SMI
Packit 022b05
    TruthValue, TEXTUAL-CONVENTION
Packit 022b05
            FROM SNMPv2-TC
Packit 022b05
    RoleCombination, PolicyInstanceId
Packit 022b05
            FROM POLICY-FRAMEWORK-PIB;
Packit 022b05
Packit 022b05
qosPolicyIpPib  MODULE-IDENTITY
Packit 022b05
    LAST-UPDATED "9906241800Z"
Packit 022b05
    ORGANIZATION "IETF RAP WG"
Packit 022b05
    CONTACT-INFO "
Packit 022b05
                  Michael Fine
Packit 022b05
                  Cisco Systems, Inc.
Packit 022b05
                  170 West Tasman Drive
Packit 022b05
                  San Jose, CA  95134-1706 USA
Packit 022b05
                  Phone: +1 408 527 8218
Packit 022b05
                  Email: mfine@cisco.com
Packit 022b05
Packit 022b05
                  Keith McCloghrie
Packit 022b05
                  Cisco Systems, Inc.
Packit 022b05
                  170 West Tasman Drive,
Packit 022b05
                  San Jose, CA 95134-1706 USA
Packit 022b05
                  Phone: +1 408 526 5260
Packit 022b05
                  Email: kzm@cisco.com
Packit 022b05
Packit 022b05
                  John Seligson
Packit 022b05
                  Nortel Networks, Inc.
Packit 022b05
                  4401 Great America Parkway
Packit 022b05
                  Santa Clara, CA 95054 USA
Packit 022b05
                  Phone: +1 408 495 2992
Packit 022b05
                  Email: jseligso@nortelnetworks.com"
Packit 022b05
    DESCRIPTION
Packit 022b05
            "The PIB module containing an initial set of policy
Packit 022b05
             rule classes that describe the quality of service
Packit 022b05
             (QoS) policies. It includes general classes that may
Packit 022b05
             be extended by other PIB specifications as well as
Packit 022b05
             an initial set of PIB classes related to IP processing."
Packit 022b05
Packit 022b05
    ::= { tbd }
Packit 022b05
Packit 022b05
qosPolicyGenPibClasses  OBJECT IDENTIFIER ::= { qosPolicyIpPib 1 }
Packit 022b05
qosPolicyIpPibClasses   OBJECT IDENTIFIER ::= { qosPolicyIpPib 2 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- Textual Conventions
Packit 022b05
--
Packit 022b05
Packit 022b05
--
Packit 022b05
-- Diffserv Codepoint
Packit 022b05
--
Packit 022b05
Packit 022b05
Dscp ::= TEXTUAL-CONVENTION
Packit 022b05
    STATUS       current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An integer that is in the range of the diffserv codepoint
Packit 022b05
        values."
Packit 022b05
Packit 022b05
    SYNTAX INTEGER (0..63)
Packit 022b05
Packit 022b05
--
Packit 022b05
-- Interface types
Packit 022b05
--
Packit 022b05
Packit 022b05
QosInterfaceQueueCount ::= TEXTUAL-CONVENTION
Packit 022b05
    STATUS       current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An integer that describes the number of queues an interface
Packit 022b05
        supports.  It is limited to the number of DSCP values."
Packit 022b05
Packit 022b05
    SYNTAX INTEGER (1..64)
Packit 022b05
Packit 022b05
--
Packit 022b05
-- QoS Interface Group
Packit 022b05
--
Packit 022b05
--
Packit 022b05
-- This group specifies the configuration of the various interface
Packit 022b05
-- types including the setting of queueing parameters and the
Packit 022b05
-- mapping of DSCPs and 802.1 CoS to queues.
Packit 022b05
--
Packit 022b05
Packit 022b05
qosIfParameters OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 1 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- Interface Type Table
Packit 022b05
Packit 022b05
--
Packit 022b05
Packit 022b05
qosInterfaceTypeTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosInterfaceTypeEntry
Packit 022b05
    POLICY-ACCESS  notify
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Interface type definitions. This class describes the types
Packit 022b05
        of interfaces that exist on the device. An interface type
Packit 022b05
        is denoted by its designated role identifier as well as
Packit 022b05
        by the queue set and queue capabilities it supports."
Packit 022b05
Packit 022b05
    ::= { qosIfParameters 1 }
Packit 022b05
Packit 022b05
qosInterfaceTypeEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosInterfaceTypeEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An instance of this class describes the characteristics
Packit 022b05
        of a type of an interface. Interface type characteristics
Packit 022b05
        include a role combination identifier, a queue set
Packit 022b05
        identifier and a queue capabilities attribute.  An
Packit 022b05
        instance is required for each different unique role
Packit 022b05
        combination identifier which represents the different
Packit 022b05
        interface types that are operational in the device at
Packit 022b05
        any given time.  The PEP does not report which specific
Packit 022b05
        interfaces have which characteristics."
Packit 022b05
Packit 022b05
    INDEX { qosInterfaceTypeId }
Packit 022b05
    ::= { qosInterfaceTypeTable 1 }
Packit 022b05
Packit 022b05
QosInterfaceTypeEntry ::= SEQUENCE {
Packit 022b05
        qosInterfaceTypeId           PolicyInstanceId,
Packit 022b05
        qosInterfaceTypeRoles        RoleCombination,
Packit 022b05
        qosInterfaceTypeQueueSet     PolicyInstanceId,
Packit 022b05
        qosInterfaceTypeCapabilities BITS
Packit 022b05
}
Packit 022b05
Packit 022b05
qosInterfaceTypeId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An arbitrary integer index that uniquely identifies a
Packit 022b05
        instance of the qosInterfaceType class. Class instances
Packit 022b05
        may not be contiguous."
Packit 022b05
Packit 022b05
    ::= { qosInterfaceTypeEntry 1 }
Packit 022b05
Packit 022b05
qosInterfaceTypeRoles OBJECT-TYPE
Packit 022b05
    SYNTAX         RoleCombination
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The role combination that is used to identify interfaces
Packit 022b05
        with the characteristics specified by the attributes
Packit 022b05
        of this class instance. Interface role combination
Packit 022b05
        identifiers are used within a number of classes to
Packit 022b05
        logically identify a physical set of interfaces to which
Packit 022b05
        policy rules and actions are applied. Role combination
Packit 022b05
        identifiers must exist in this table prior to being
Packit 022b05
        referenced in other class instances."
Packit 022b05
Packit 022b05
    ::= { qosInterfaceTypeEntry 2 }
Packit 022b05
Packit 022b05
qosInterfaceTypeQueueSet OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The index of the queue set that is associated with
Packit 022b05
        interfaces that are identified with the role combination
Packit 022b05
        identifier that is associated with this class instance."
Packit 022b05
Packit 022b05
    ::= { qosInterfaceTypeEntry 3 }
Packit 022b05
Packit 022b05
qosInterfaceTypeCapabilities OBJECT-TYPE
Packit 022b05
    SYNTAX         BITS {
Packit 022b05
                        other(0),
Packit 022b05
Packit 022b05
                        -- Classification support
Packit 022b05
                        inputIpClassification(1),
Packit 022b05
                        outputIpClassification(2),
Packit 022b05
                        input802Classification(3),
Packit 022b05
                        output802Classification(4),
Packit 022b05
Packit 022b05
                        -- Queuing discipline support
Packit 022b05
                        singleQueuingDiscipline(5),
Packit 022b05
                        hybridQueuingDiscipline(6)
Packit 022b05
                   }
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An enumeration of interface capabilities.  Used by the
Packit 022b05
        PDP or network manager to select which policies and
Packit 022b05
Packit 022b05
        configuration it should push to the PEP."
Packit 022b05
Packit 022b05
    ::= { qosInterfaceTypeEntry 4 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- Interface Queue Table
Packit 022b05
--
Packit 022b05
-- The Interface Queue Table enumerates the individual queues that
Packit 022b05
-- comprise a given queue set. Information specific to each queue
Packit 022b05
-- is exported by this table.
Packit 022b05
--
Packit 022b05
Packit 022b05
qosIfQueueTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosIfQueueEntry
Packit 022b05
    POLICY-ACCESS  notify
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Contains information about the individual queues that
Packit 022b05
        comprise a queue set implemented on the device."
Packit 022b05
Packit 022b05
    ::= { qosIfParameters 2 }
Packit 022b05
Packit 022b05
qosIfQueueEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosIfQueueEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A conceptual row in the qosIfQueueTable.
Packit 022b05
Packit 022b05
        Each row identifies a specific queue within a given queue
Packit 022b05
        set and contains detailed information about the queue. Queues
Packit 022b05
        are associated with a given set through this table and
Packit 022b05
        a queue set is associated with an interface set through
Packit 022b05
        the qosInterfaceTypeTable."
Packit 022b05
Packit 022b05
    INDEX { qosIfQueueId }
Packit 022b05
    ::= { qosIfQueueTable 1 }
Packit 022b05
Packit 022b05
QosIfQueueEntry ::= SEQUENCE {
Packit 022b05
        qosIfQueueId                    PolicyInstanceId,
Packit 022b05
        qosIfQueueSetId                 INTEGER,
Packit 022b05
        qosIfQueueIndex                 QosInterfaceQueueCount,
Packit 022b05
        qosIfQueueGenDiscipline         INTEGER,
Packit 022b05
        qosIfQueueExtDiscipline         OBJECT IDENTIFIER,
Packit 022b05
        qosIfQueueDrainSize             Unsigned32,
Packit 022b05
        qosIfQueueAbsBandwidth          Unsigned32,
Packit 022b05
Packit 022b05
        qosIfQueueBandwidthAllocation   INTEGER,
Packit 022b05
        qosIfQueueServiceOrder          QosInterfaceQueueCount,
Packit 022b05
        qosIfQueueSize                  Unsigned32
Packit 022b05
}
Packit 022b05
Packit 022b05
qosIfQueueId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The index that uniquely identifies this row in the table,
Packit 022b05
        i.e., this PRI."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 1 }
Packit 022b05
Packit 022b05
qosIfQueueSetId OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An index that uniquely identifies a specific queue set. The
Packit 022b05
        queue set that is identified with this value is associated
Packit 022b05
        with an interface set through the qosInterfaceTypeQueueSet
Packit 022b05
        object in the qosInterfaceTypeTable. The individual queues
Packit 022b05
        that are members of this set all have the same value for
Packit 022b05
        this attribute (i.e., they have the same set ID)."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 2 }
Packit 022b05
Packit 022b05
qosIfQueueIndex OBJECT-TYPE
Packit 022b05
    SYNTAX         QosInterfaceQueueCount
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An arbitrary index that uniquely identifies a specific
Packit 022b05
        queue within a set of queues that is identified by the
Packit 022b05
        qosIfQueueSetId value."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 3 }
Packit 022b05
Packit 022b05
qosIfQueueGenDiscipline OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER {
Packit 022b05
                       other(1),  -- Use qosIfQueueExtDiscipline
Packit 022b05
                       fifo(2),   -- First In First Out queuing
Packit 022b05
                       pq(3),     -- Priority Queuing
Packit 022b05
                       fq(4),     -- Fair Queuing
Packit 022b05
                       wfq(5)     -- Weighted Fair Queuing
Packit 022b05
                   }
Packit 022b05
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object identifies the queuing discipline that is
Packit 022b05
        associated with the specified queue. Several general
Packit 022b05
        purpose and well-known queuing disciplines are supported
Packit 022b05
        by this attribute. Queuing disciplines that differ from
Packit 022b05
        those that are supported by this object are specified
Packit 022b05
        by setting this attribute to other(1) and providing
Packit 022b05
        the object identifier that represents the different
Packit 022b05
        queuing paradigm in the qosIfQueueExtDiscipline object.
Packit 022b05
Packit 022b05
        A value of fifo(2) indicates that the queue is serviced
Packit 022b05
        on a first-in-first-out (FIFO) basis. This discipline is
Packit 022b05
        generally employed when only a single queue is available
Packit 022b05
        for a given interface.
Packit 022b05
Packit 022b05
        A value of pq(3) indicates that the queue is serviced
Packit 022b05
        using a priority queuing discipline. This technique is
Packit 022b05
        used when several queues are available for a given
Packit 022b05
        interface. Each queue is assigned a priority and queues
Packit 022b05
        are serviced in order of priority. Higher priority queues
Packit 022b05
        are completely drained before lower priority queues are
Packit 022b05
        serviced.
Packit 022b05
Packit 022b05
        A value of fq(4) indicates that the queue is serviced
Packit 022b05
        using a fair queuing discipline. This technique is used
Packit 022b05
        when several queues are available for a given interface.
Packit 022b05
        Each queue is treated equally and is serviced in a
Packit 022b05
        round-robin fashion.
Packit 022b05
Packit 022b05
        A value of wfq(5) indicates that the queue is serviced
Packit 022b05
        using a weighted fair queuing discipline. This technique is
Packit 022b05
        used when several queues are available for a given interface.
Packit 022b05
        Each queue is serviced based on queue weights which determine
Packit 022b05
        the scheduling and frequency of queue servicing. Queues that
Packit 022b05
        are assigned a greater weight are implicitly provided with
Packit 022b05
        more bandwidth.
Packit 022b05
Packit 022b05
        Note that the processing disciplines for all of the queues
Packit 022b05
        in a given set must be considered when trying to establish
Packit 022b05
        a processing profile for a given interface."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 4 }
Packit 022b05
Packit 022b05
qosIfQueueExtDiscipline OBJECT-TYPE
Packit 022b05
Packit 022b05
    SYNTAX         OBJECT IDENTIFIER
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object identifies the queuing discipline that is
Packit 022b05
        associated with the specified queue.  This attribute
Packit 022b05
        provides a means through which additional queuing mechanisms
Packit 022b05
        can be identified should the general queuing disciplines
Packit 022b05
        be inadequate for a given device. As such. this attribute is
Packit 022b05
        consulted only when the value of the qosIfQueueGenDiscipline
Packit 022b05
        object is other(1). It contains an object identifier that
Packit 022b05
        uniquely identifies a queuing paradigm.
Packit 022b05
Packit 022b05
        Note that the processing disciplines for all of the queues
Packit 022b05
        in a given set must be considered when trying to establish
Packit 022b05
        a processing profile for a given interface."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 5 }
Packit 022b05
Packit 022b05
qosIfQueueDrainSize OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The maximum number of bytes that may be drained from the
Packit 022b05
        queue in one cycle.  The percentage of the interface
Packit 022b05
        bandwidth allocated to this queue can be calculated from
Packit 022b05
        this attribute and the sum of the drain sizes of all the
Packit 022b05
        queues in a specific queue cluster in a queue set.
Packit 022b05
Packit 022b05
        This attribute represents the relative bandwidth that is
Packit 022b05
        available to a given queue with respect to other queues with
Packit 022b05
        which it is associated. The absolute bandwidth that is
Packit 022b05
        available to a given queue is specified by the attribute
Packit 022b05
        qosIfQueueAbsBandwidth.  Which of these two applies is
Packit 022b05
        specified by the attribute qosIfQueueBandwidthAllocation."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 6 }
Packit 022b05
Packit 022b05
qosIfQueueAbsBandwidth OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The maximum interface bandwidth that is available for
Packit 022b05
        consumption when servicing this queue. This bandwidth is
Packit 022b05
        specified in terms of kilobits per second.
Packit 022b05
Packit 022b05
        This attribute represents the absolute bandwidth that is
Packit 022b05
        available to a given queue. The relative bandwidth that is
Packit 022b05
        available to a given queue, with respect to other queues with
Packit 022b05
        which it is associated, is specified by the attribute
Packit 022b05
        qosIfQueueDrainSize.  Which of these two applies is specified
Packit 022b05
        by the attribute qosIfQueueBandwidthAllocation."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 7 }
Packit 022b05
Packit 022b05
qosIfQueueBandwidthAllocation OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER {
Packit 022b05
                        absolute(1),  --use qosIfQueueAbsBandwidth
Packit 022b05
                        relative(2)   --use qosIfQueueDrainSize
Packit 022b05
                   }
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute specifies whether to configure the queue for
Packit 022b05
        an absolute bandwidth limit or one that is relative to other
Packit 022b05
        queues of the interface. i.e., whether to configure the queue
Packit 022b05
        using qosIfQueueAbsBandwidth or qosIfQueueDrainSize."
Packit 022b05
Packit 022b05
     ::= { qosIfQueueEntry 8 }
Packit 022b05
Packit 022b05
qosIfQueueServiceOrder OBJECT-TYPE
Packit 022b05
    SYNTAX         QosInterfaceQueueCount
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object is used to provide an additional level of
Packit 022b05
        priority that is required for certain queuing disciplines
Packit 022b05
        and when the different queues that comprise a queue set
Packit 022b05
        are serviced using a mix of queuing disciplines. This
Packit 022b05
        object can be used to specify, for example, the order in
Packit 022b05
        which queues will be serviced when priority queuing is
Packit 022b05
        used. It also supports the ability to describe the
Packit 022b05
        servicing hierarchy when a hybrid queuing scheme, such
Packit 022b05
        as priority queuing coupled with weighted fair queuing,
Packit 022b05
        is used.
Packit 022b05
Packit 022b05
        Queue service priority is assigned such that a lower
Packit 022b05
        service order value indicates a higher priority. For
Packit 022b05
        example, a priority queue with a value of 1 will be
Packit 022b05
        serviced (i.e., drained) before another priority queue
Packit 022b05
        with a service order value of 2.
Packit 022b05
Packit 022b05
        Note that multiple queues that are logically associated,
Packit 022b05
Packit 022b05
        based on the queuing discipline that is being employed,
Packit 022b05
        will be assigned the same service order value.  Under
Packit 022b05
        this scenario, other parameters that are related to the
Packit 022b05
        queuing discipline determine the order of queue servicing
Packit 022b05
        (e.g., queue drain size is used for 'wfq').
Packit 022b05
Packit 022b05
        For example, an interface that is associated with a queue
Packit 022b05
        set supporting two priority queues and three queues that
Packit 022b05
        are serviced using WFQ would be modeled as follows:
Packit 022b05
Packit 022b05
          Q Index  Q Discipline  Q Drain Size  Q Service Order
Packit 022b05
             22         pq(1)         -              1
Packit 022b05
             23         pq(1)         -              2
Packit 022b05
             24        wfq(3)        500             3
Packit 022b05
             25        wfq(3)        350             3
Packit 022b05
             26        wfq(3)        150             3
Packit 022b05
Packit 022b05
        The queue set presented in this example would service
Packit 022b05
        all queued traffic in queue 22 first, followed by all of
Packit 022b05
        the queued traffic in queue 23. Next the queued traffic
Packit 022b05
        in queues 24 through 26 would be serviced in a round
Packit 022b05
        robin fashion with queue 24 receiving 50% of the available
Packit 022b05
        bandwidth, queue 25 receiving 35% of the available
Packit 022b05
        bandwidth and queue 26 receiving 15% of the available
Packit 022b05
        bandwidth. This example is presented for expository
Packit 022b05
        purposes and has been simplified accordingly.
Packit 022b05
Packit 022b05
        Note that, in this example, queues 24, 25 and 26 form a
Packit 022b05
        queue cluster. Members of a queue cluster are all assigned
Packit 022b05
        the same qosIfQueueServiceOrder as there are tightly
Packit 022b05
        coupled. The qosIfQueueDrainSize attribute is used to
Packit 022b05
        determine the additional processing characteristics of
Packit 022b05
        the individual queues in a cluster."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 9 }
Packit 022b05
Packit 022b05
qosIfQueueSize OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
       "The size of the queue in bytes.  Some devices set queue size
Packit 022b05
        in terms of packets.  These devices must calculate the queue
Packit 022b05
        size in packets by assuming an average packet size suitable
Packit 022b05
        for the particular interface.
Packit 022b05
Packit 022b05
        Some devices have a fixed size buffer to be shared among all
Packit 022b05
        queues.  These devices must allocate a fraction of the
Packit 022b05
        total buffer space to this queue calculated as the the ratio
Packit 022b05
        of the queue size to the sum of the queue sizes for the
Packit 022b05
        interface."
Packit 022b05
Packit 022b05
    ::= { qosIfQueueEntry 10 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- DSCP Assignment Table
Packit 022b05
--
Packit 022b05
-- Supports the assignment of DSCPs to queues for each
Packit 022b05
-- interface type.
Packit 022b05
--
Packit 022b05
Packit 022b05
qosIfDscpAssignmentTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosIfDscpAssignmentEntry
Packit 022b05
    POLICY-ACCESS  install
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Supports the assignment of DSCP values to a queue for
Packit 022b05
        each interface with a specific queue count. There will be
Packit 022b05
        64 instances of this class for each supported combination
Packit 022b05
        of queue count and role combination."
Packit 022b05
Packit 022b05
    ::= { qosIfParameters 3 }
Packit 022b05
Packit 022b05
qosIfDscpAssignmentEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosIfDscpAssignmentEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An instance of the qosIfDscpAssignment class."
Packit 022b05
Packit 022b05
    INDEX { qosIfDscpAssignmentId }
Packit 022b05
    ::= { qosIfDscpAssignmentTable 1 }
Packit 022b05
Packit 022b05
QosIfDscpAssignmentEntry ::= SEQUENCE {
Packit 022b05
        qosIfDscpAssignmentId         PolicyInstanceId,
Packit 022b05
        qosIfDscpAssignmentRoles      RoleCombination,
Packit 022b05
        qosIfDscpAssignmentDscp       Dscp,
Packit 022b05
        qosIfDscpAssignmentQueue      QosInterfaceQueueCount
Packit 022b05
}
Packit 022b05
Packit 022b05
qosIfDscpAssignmentId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An index that is used to uniquely identify the
Packit 022b05
        instance of the qosIfDscpAssignment class."
Packit 022b05
Packit 022b05
    ::= { qosIfDscpAssignmentEntry 1 }
Packit 022b05
Packit 022b05
qosIfDscpAssignmentRoles OBJECT-TYPE
Packit 022b05
    SYNTAX         RoleCombination
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The role combination with which an interface must be
Packit 022b05
        configured to support the DSCP-to-queue assignment
Packit 022b05
        described by this instance. The specified role
Packit 022b05
        combination must be defined in the qosInterfaceType
Packit 022b05
        table prior to being referenced by this entry.
Packit 022b05
        Otherwise a 'priAssociationUnknown(3)' error code
Packit 022b05
        will be returned."
Packit 022b05
Packit 022b05
    ::= { qosIfDscpAssignmentEntry 2 }
Packit 022b05
Packit 022b05
qosIfDscpAssignmentDscp OBJECT-TYPE
Packit 022b05
    SYNTAX         Dscp
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The DSCP to which this class instance applies."
Packit 022b05
Packit 022b05
    ::= { qosIfDscpAssignmentEntry 3 }
Packit 022b05
Packit 022b05
qosIfDscpAssignmentQueue OBJECT-TYPE
Packit 022b05
    SYNTAX         QosInterfaceQueueCount
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The specific queue, within the queue set that is
Packit 022b05
        associated with the interface set identified by the
Packit 022b05
        qosIfDscpAssignmentRoles tag, on which traffic with
Packit 022b05
        the specified DSCP, dictated by the
Packit 022b05
        qosIfDscpAssignmentDscp value, is placed. Failure to
Packit 022b05
        specify an appropriate queue results in a
Packit 022b05
        'priAssociationConflict(4)' error indication being
Packit 022b05
        returned."
Packit 022b05
Packit 022b05
    ::= { qosIfDscpAssignmentEntry 4 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- QoS Meter Table
Packit 022b05
--
Packit 022b05
-- The QoS Meter Table contains metering specifications that
Packit 022b05
-- can be used to provide an acceptable flow bandwidth
Packit 022b05
-- dimension to the Target table.
Packit 022b05
--
Packit 022b05
Packit 022b05
qosMeter OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 2 }
Packit 022b05
Packit 022b05
qosMeterTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosMeterEntry
Packit 022b05
    POLICY-ACCESS  install
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Contains the current set of configured meters. The
Packit 022b05
        meters are associated with a classifier during
Packit 022b05
        operation through the QoS Target Table."
Packit 022b05
Packit 022b05
    ::= { qosMeter 1 }
Packit 022b05
Packit 022b05
qosMeterEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosMeterEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "General metering definitions. Each entry specifies
Packit 022b05
        an instance of the qosMeter class which specifies
Packit 022b05
        metering information in terms of traffic stream
Packit 022b05
        bandwidth parameters. An entry can thus be used to
Packit 022b05
        support traffic metering based on the specified
Packit 022b05
        service level specification."
Packit 022b05
Packit 022b05
    INDEX { qosMeterId }
Packit 022b05
    ::= { qosMeterTable 1 }
Packit 022b05
Packit 022b05
QosMeterEntry ::= SEQUENCE {
Packit 022b05
        qosMeterId                PolicyInstanceId,
Packit 022b05
        qosMeterDataSpecification INTEGER,
Packit 022b05
        qosMeterCommittedRate     Unsigned32,
Packit 022b05
        qosMeterCommittedBurst    Unsigned32,
Packit 022b05
        qosMeterPeakRate          Unsigned32,
Packit 022b05
        qosMeterPeakBurst         Unsigned32,
Packit 022b05
        qosMeterHighConfAction    PolicyInstanceId,
Packit 022b05
        qosMeterMedConfAction     PolicyInstanceId,
Packit 022b05
Packit 022b05
        qosMeterLowConfAction     PolicyInstanceId
Packit 022b05
}
Packit 022b05
Packit 022b05
qosMeterId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An arbitrary integer index that uniquely identifies
Packit 022b05
        the instance of the qosMeter class. Meters are
Packit 022b05
        associated with specific flows using this attribute
Packit 022b05
        through the qosTargetMeter attribute in the QoS
Packit 022b05
        Target class."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 1 }
Packit 022b05
Packit 022b05
qosMeterDataSpecification OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER {
Packit 022b05
                        noMeterData(1),   -- no metering reqd
Packit 022b05
                        committedData(2), -- committed rate only
Packit 022b05
                        peakData(3)       -- committed and peak
Packit 022b05
                   }
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Specifies the metering data, and thus the actions, that
Packit 022b05
        are defined in a given entry.
Packit 022b05
Packit 022b05
        A value of noMeterData(1) indicates that no flow metering
Packit 022b05
        is necessary. All flows associated with this meter entry
Packit 022b05
        are considered to be at a high level of conformance.
Packit 022b05
Packit 022b05
        A value of committedData(2) indicates that committed rate
Packit 022b05
        and committed burst information has been specified and will
Packit 022b05
        be applied to associated flows. No peak rate and burst
Packit 022b05
        information has been specified meaning that two levels
Packit 022b05
        of conformance (high, medium) are supported.
Packit 022b05
Packit 022b05
        A value of peakData(3) indicates that peak rate and peak
Packit 022b05
        burst information has been provided in addition to the
Packit 022b05
        committed rate and committed burst information. All provided
Packit 022b05
        information will be applied to associated flows meaning that
Packit 022b05
        three levels of conformance (high, medium, low) are
Packit 022b05
        supported."
Packit 022b05
Packit 022b05
     ::= { qosMeterEntry 2 }
Packit 022b05
Packit 022b05
qosMeterCommittedRate OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32 (0..'ffffffff'h)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object represents the committed information rate
Packit 022b05
        (CIR) against which associated traffic streams will be
Packit 022b05
        metered. The CIR specifies the rate at which incoming
Packit 022b05
        traffic can arrive to be considered to be at a high
Packit 022b05
        level of conformance. Typically, this value specifies
Packit 022b05
        the rate at which tokens are added to a token bucket
Packit 022b05
        used to meter received flows.
Packit 022b05
Packit 022b05
        This object specifies a rate in bytes per second units
Packit 022b05
        such that, for example, a value of 100 equates to a
Packit 022b05
        committed information rate of 100 bytes per second.
Packit 022b05
Packit 022b05
        Committed rate (and burst) information must be present
Packit 022b05
        if the qosMeterDataSpecification object has the value
Packit 022b05
        committedData(2) or peakRate(3). This, in turn, requires
Packit 022b05
        that at least both high and medium conformance actions
Packit 022b05
        be specified."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 3 }
Packit 022b05
Packit 022b05
qosMeterCommittedBurst OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32 (0..'ffffffff'h)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object represents the committed burst size
Packit 022b05
        (CBS) against which associated traffic streams will
Packit 022b05
        be metered. The CBS specifies the maximum burst size
Packit 022b05
        that is supported for flows to be considered to be at
Packit 022b05
        a high level of conformance. Typically, this value
Packit 022b05
        represents the maximum number of tokens in a token
Packit 022b05
        bucket.
Packit 022b05
Packit 022b05
        This object specifies flow data in bytes per second
Packit 022b05
        units such that, for example, a value of 100 equates
Packit 022b05
        to a committed information rate of 100 bytes per
Packit 022b05
        second.
Packit 022b05
Packit 022b05
        Committed burst (and rate) information must be present
Packit 022b05
        if the qosMeterDataSpecification object has the value
Packit 022b05
        committedData(2) or peakRate(3). This, in turn, requires
Packit 022b05
        that at least both high and medium conformance actions
Packit 022b05
Packit 022b05
        be specified."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 4 }
Packit 022b05
Packit 022b05
qosMeterPeakRate OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32 (0..'ffffffff'h)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object represents the peak information rate (PIR)
Packit 022b05
        against which associated traffic streams will be
Packit 022b05
        metered. The PIR specifies the rate at which incoming
Packit 022b05
        traffic can arrive to be considered to be at a medium
Packit 022b05
        level of conformance. Typically, this value specifies
Packit 022b05
        the rate at which tokens are added to a token bucket
Packit 022b05
        used to meter received flows.
Packit 022b05
Packit 022b05
        This object specifies a rate in bytes per second units
Packit 022b05
        such that, for example, a value of 100 equates to a
Packit 022b05
        committed information rate of 100 bytes per second.
Packit 022b05
Packit 022b05
        Peak rate (and burst) information must be present
Packit 022b05
        if the qosMeterDataSpecification object has the value
Packit 022b05
        peakData(3). This, in turn, requires that high, medium
Packit 022b05
        and low conformance actions be specified."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 5 }
Packit 022b05
Packit 022b05
qosMeterPeakBurst OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32 (0..'ffffffff'h)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This object represents the peak burst size (PBS)
Packit 022b05
        against which associated traffic streams will
Packit 022b05
        be metered. The CBS specifies the maximum burst size
Packit 022b05
        that is supported for flows to be considered to be at
Packit 022b05
        a medium level of conformance. Typically, this value
Packit 022b05
        represents the maximum number of tokens in a token
Packit 022b05
        bucket.
Packit 022b05
Packit 022b05
        This object specifies flow data in bytes per second
Packit 022b05
        units such that, for example, a value of 100 equates
Packit 022b05
        to a committed information rate of 100 bytes per
Packit 022b05
        second.
Packit 022b05
Packit 022b05
        Peak burst (and rate) information must be present
Packit 022b05
Packit 022b05
        if the qosMeterDataSpecification object has the value
Packit 022b05
        peakData(3). This, in turn, requires that high, medium
Packit 022b05
        and low conformance actions be specified."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 6 }
Packit 022b05
Packit 022b05
qosMeterHighConfAction OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute identifies the action that is to be
Packit 022b05
        initiated for flows that are determined to have a high
Packit 022b05
        level of conformance with regard to metering criteria
Packit 022b05
        being applied to the flow.
Packit 022b05
Packit 022b05
        Actions must be defined in the qosActionTable prior to
Packit 022b05
        being referenced by this attribute. A valid value for
Packit 022b05
        this attribute must always be provided."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 7 }
Packit 022b05
Packit 022b05
qosMeterMedConfAction OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute identifies the action that is to be
Packit 022b05
        initiated for flows that are determined to have a medium
Packit 022b05
        level of conformance with regard to metering criteria
Packit 022b05
        being applied to the flow.
Packit 022b05
Packit 022b05
        Actions must be defined in the qosActionTable prior to
Packit 022b05
        being referenced by this attribute. A valid value for
Packit 022b05
        this attribute must be provided if the value of the
Packit 022b05
        associated qosMeterDataSpecification object is
Packit 022b05
        committedRate(2) or peakRate(3)."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 8 }
Packit 022b05
Packit 022b05
qosMeterLowConfAction OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute identifies the action that is to be
Packit 022b05
        initiated for flows that are determined to have a low
Packit 022b05
        level of conformance with regard to metering criteria
Packit 022b05
Packit 022b05
        being applied to the flow.
Packit 022b05
Packit 022b05
        Actions must be defined in the qosActionTable prior to
Packit 022b05
        being referenced by this attribute. A valid value for
Packit 022b05
        this attribute must be provided if the value of the
Packit 022b05
        associated qosMeterDataSpecification object is
Packit 022b05
        peakRate(3)."
Packit 022b05
Packit 022b05
    ::= { qosMeterEntry 9 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- The Generic QoS ACL Action Group
Packit 022b05
--
Packit 022b05
Packit 022b05
qosAction OBJECT IDENTIFIER ::= { qosPolicyGenPibClasses 3 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- The QoS Action Table
Packit 022b05
--
Packit 022b05
-- The QoS Action Table describes actions that are associated with
Packit 022b05
-- specific IP, IEEE 802 and other ACLs through the QoS Target
Packit 022b05
-- Table.  An action specification may be simple (i.e., a single
Packit 022b05
-- action) or complex (i.e., multiple actions that are performed
Packit 022b05
-- in "parallel").
Packit 022b05
--
Packit 022b05
Packit 022b05
qosActionTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosActionEntry
Packit 022b05
    POLICY-ACCESS  install
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Contains the current set of configured actions. The actions
Packit 022b05
        are associated with IP, IEEE 802 and other ACLs and
Packit 022b05
        interfaces during operation."
Packit 022b05
Packit 022b05
    ::= { qosAction 1 }
Packit 022b05
Packit 022b05
qosActionEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosActionEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "General action definitions. Each entry specifies an instance
Packit 022b05
        of the qosAction class which describes (potentially)
Packit 022b05
Packit 022b05
        several distinct action attributes. Each action is taken
Packit 022b05
        individually regarding the data in question. Several actions
Packit 022b05
        can be taken for a single frame.
Packit 022b05
Packit 022b05
        An instance of this class can not be deleted while it is being
Packit 022b05
        referenced in a target instance in another class. This
Packit 022b05
        class may be extended with actions that apply to specific QoS
Packit 022b05
        policies (e.g., IP, IEEE 802, security) using augmentation."
Packit 022b05
Packit 022b05
    INDEX { qosActionId }
Packit 022b05
    ::= { qosActionTable 1 }
Packit 022b05
Packit 022b05
QosActionEntry ::= SEQUENCE {
Packit 022b05
        qosActionId         PolicyInstanceId,
Packit 022b05
        qosActionDrop       TruthValue,
Packit 022b05
        qosActionUpdateDSCP Integer32,
Packit 022b05
        qosActionMeter      PolicyInstanceId
Packit 022b05
}
Packit 022b05
Packit 022b05
qosActionId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An arbitrary integer index that uniquely identifies
Packit 022b05
        the instance of the QoS Action class. Class instances
Packit 022b05
        may not be contiguous. Actions are associated with
Packit 022b05
        Target instances in other classes (e.g., the QoS
Packit 022b05
        Target class) using this attribute."
Packit 022b05
Packit 022b05
    ::= { qosActionEntry 1 }
Packit 022b05
Packit 022b05
qosActionDrop OBJECT-TYPE
Packit 022b05
    SYNTAX         TruthValue
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This action attribute, when specified, will cause the
Packit 022b05
        frame being evaluated to be dropped if the value is
Packit 022b05
        'true(1)'. A value of 'false(2)' indicates that this
Packit 022b05
        action will not be initiated (i.e., the frame will not
Packit 022b05
        be dropped) based on this attribute.
Packit 022b05
Packit 022b05
        Prior to discarding a packet, other actions that have
Packit 022b05
        been specified should be performed if they make protocol
Packit 022b05
        sense. For example, requests for traffic mirroring (if
Packit 022b05
        such an action is supported by a device) should be
Packit 022b05
Packit 022b05
        honored. However, updating protocol header values will
Packit 022b05
        typically not be necessary."
Packit 022b05
Packit 022b05
    ::= { qosActionEntry 2 }
Packit 022b05
Packit 022b05
qosActionUpdateDSCP OBJECT-TYPE
Packit 022b05
    SYNTAX         Integer32 (-1 | 0..63)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This action component, when specified, will cause the
Packit 022b05
        value contained in the Differentiated Services (DS)
Packit 022b05
        field of an associated IP datagram to be updated with
Packit 022b05
        the value of this object.
Packit 022b05
Packit 022b05
        A value of -1 indicates that this action component has not
Packit 022b05
        been set to an appropriate value and should not be used for
Packit 022b05
        action initiation. The DSCP should remain unchanged."
Packit 022b05
Packit 022b05
    ::= { qosActionEntry 3 }
Packit 022b05
Packit 022b05
qosActionMeter OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This action component, when specified, will identify
Packit 022b05
        another level of metering that should be applied to
Packit 022b05
        the given flow. This action is only taken if it is
Packit 022b05
        not in conflict with other specified actions, i.e.,
Packit 022b05
        qosActionDrop.
Packit 022b05
Packit 022b05
        A value of 0 indicates that an additional metering
Packit 022b05
        component has not been specified. No additional metering
Packit 022b05
        is thus required."
Packit 022b05
Packit 022b05
    ::= { qosActionEntry 4 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- The QoS Target Table
Packit 022b05
--
Packit 022b05
-- The QoS Target Table supports the association of ACLs,
Packit 022b05
-- interfaces and actions. It allows ACL class instances, as
Packit 022b05
-- defined in various ACL Defintion classes, to be associated
Packit 022b05
-- with specific interfaces/flow direction (based on interface
Packit 022b05
-- role combination and traffic direction) and actions to be
Packit 022b05
Packit 022b05
-- performed based on traffic classification. Furthermore, it
Packit 022b05
-- allows heterogeneous ACL Definition class instances (e.g.,
Packit 022b05
-- IP, IEEE 802, security) to be applied to the same interface
Packit 022b05
-- group in a prescribed order of precedence.
Packit 022b05
--
Packit 022b05
Packit 022b05
qosTargetTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosTargetEntry
Packit 022b05
    POLICY-ACCESS  install
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A class that applies a set of ACLs to interfaces specifying,
Packit 022b05
        for each interface, the precedence order of the ACL with
Packit 022b05
        respect to other ACLs applied to the same interface and, for
Packit 022b05
        each ACL, the action to take for a packet that matches a
Packit 022b05
        permit ACE in that ACL.  Interfaces are specified abstractly
Packit 022b05
        in terms of interface roles.
Packit 022b05
Packit 022b05
        This class may contain ACLs that specify different types
Packit 022b05
        of traffic classification (e.g., IP ACLs and IEEE 802 ACLs
Packit 022b05
        defined in their respective definition tables). An ACL is
Packit 022b05
        identified by its class and instance within that class. An
Packit 022b05
        ACL association is formed when ACLs apply to the same
Packit 022b05
        interfaces, as determined by the specified interface role
Packit 022b05
        and direction. ACL evaluation precedence within an
Packit 022b05
        association is determined by the precedence attribute."
Packit 022b05
Packit 022b05
    INSTALL-ERRORS {
Packit 022b05
        priPrecedenceConflict(1) -- precedence conflict detected
Packit 022b05
        }
Packit 022b05
Packit 022b05
    ::= { qosAction 2 }
Packit 022b05
Packit 022b05
qosTargetEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosTargetEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An instance of the qosTarget class. Instance creation
Packit 022b05
        may be prohibited based on the status of certain class
Packit 022b05
        attributes which must exist prior to class instantiation."
Packit 022b05
Packit 022b05
    INDEX { qosTargetId }
Packit 022b05
    ::= { qosTargetTable 1 }
Packit 022b05
Packit 022b05
QosTargetEntry ::= SEQUENCE {
Packit 022b05
Packit 022b05
        qosTargetId                 PolicyInstanceId,
Packit 022b05
        qosTargetAclId              PolicyInstanceId,
Packit 022b05
        qosTargetAclType            OBJECT IDENTIFIER,
Packit 022b05
        qosTargetInterfaceRoles     RoleCombination,
Packit 022b05
        qosTargetInterfaceDirection INTEGER,
Packit 022b05
        qosTargetOrder              Unsigned32,
Packit 022b05
        qosTargetMeter              PolicyInstanceId
Packit 022b05
}
Packit 022b05
Packit 022b05
qosTargetId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An arbitrary integer index that uniquely identifies
Packit 022b05
        the instance of the QoS Target class."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 1 }
Packit 022b05
Packit 022b05
qosTargetAclId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute identifies the ACL that is associated
Packit 022b05
        with this target. It identifies (potentially many) ACL
Packit 022b05
        class instances in a specific ACL Definition table
Packit 022b05
        where ACLs, and their associated ACEs, are defined.
Packit 022b05
        For example, instances in the qosIpAclDefinitionTable
Packit 022b05
        are identified by setting the value of this object
Packit 022b05
        equal to the qosIpAclDefinitionAclId of the instances
Packit 022b05
        being targeted. This value, together with the value of
Packit 022b05
        the corresponding qosTargetAclType attribute,
Packit 022b05
        uniquely identifies one or more instances of a specific
Packit 022b05
        ACL Definition class.
Packit 022b05
Packit 022b05
        Attempting to specify an unknown ACL class instance will
Packit 022b05
        result in an appropriate error indication being returned
Packit 022b05
        to the entity that is attempting to install the conflicting
Packit 022b05
        entry. For example, a 'priUnknown(2)' error indication is
Packit 022b05
        returned to the policy server in this situation."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 2 }
Packit 022b05
Packit 022b05
qosTargetAclType OBJECT-TYPE
Packit 022b05
    SYNTAX         OBJECT IDENTIFIER
Packit 022b05
    STATUS         current
Packit 022b05
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The ACL Definition class that is being referenced by
Packit 022b05
        this instance of the ACL Target class. This policy
Packit 022b05
        class identifier, together with the corresponding
Packit 022b05
        qosTargetAclId attribute, uniquely identifies
Packit 022b05
        instances of a specific ACL Definition class.
Packit 022b05
Packit 022b05
        The object identifier value of this attribute must
Packit 022b05
        exist in the policyPrcSupportTable."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 3 }
Packit 022b05
Packit 022b05
qosTargetInterfaceRoles OBJECT-TYPE
Packit 022b05
    SYNTAX         RoleCombination
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The interfaces to which this ACL applies specified
Packit 022b05
        in terms of a set of roles. The role combination
Packit 022b05
        specified by this attribute must exist in the
Packit 022b05
        qosInterfaceTypeTable prior to being association
Packit 022b05
        with an instance of this class."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 4 }
Packit 022b05
Packit 022b05
qosTargetInterfaceDirection OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER {
Packit 022b05
                       in(1),
Packit 022b05
                       out(2)
Packit 022b05
                   }
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The direction of packet flow at the interface in
Packit 022b05
        question to which this ACL applies."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 5 }
Packit 022b05
Packit 022b05
qosTargetOrder OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An integer that determines the precedence order of
Packit 022b05
        this ACL in the list of ACLs applied to interfaces of
Packit 022b05
        the specified role combination. An ACL with a given
Packit 022b05
        precedence order is positioned in the list before one
Packit 022b05
        with a higher-valued precedence order.
Packit 022b05
Packit 022b05
        As an example, consider the following ACL Target association:
Packit 022b05
Packit 022b05
          Index   IfRoleCombo  IfDirection AclId AclType Order
Packit 022b05
            14  'eth1000+L2+L3'   'in'       8    '802'    1
Packit 022b05
            15  'eth1000+L2+L3'   'in'       3    '802'    2
Packit 022b05
            16  'eth1000+L2+L3'   'in'      12    'IP'     3
Packit 022b05
            17  'eth1000+L2+L3'   'in'       6    'IP'     4
Packit 022b05
            18  'eth1000+L2+L3'   'in'      21    'IP'     5
Packit 022b05
Packit 022b05
        Five distinct ACL specifications, 3 from an IP ACL
Packit 022b05
        Definition class and 2 from an IEEE 802 ACL Definition class,
Packit 022b05
        form an Acl Target association (e.g., based on the specified
Packit 022b05
        interface role combination and direction attributes) with a
Packit 022b05
        prescribed order of evaluation. The AclType and AclId
Packit 022b05
        attributes identify the ACL Definition instances in their
Packit 022b05
        respective classes.
Packit 022b05
Packit 022b05
        Precedence values within an association must be unique
Packit 022b05
        otherwise instance installation will be prohibited and an
Packit 022b05
        error value will be returned."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 6 }
Packit 022b05
Packit 022b05
qosTargetMeter OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute identifies the meter that is associated
Packit 022b05
        with this QoS Target instance. Meters are defined
Packit 022b05
        in the qosMeterTable. The corresponding instance in
Packit 022b05
        the qosMeter class (i.e., the class instance where
Packit 022b05
        the qosMeterId is equal to the value of this object)
Packit 022b05
        must exist prior to being associated with a Target
Packit 022b05
        entry."
Packit 022b05
Packit 022b05
    ::= { qosTargetEntry 7 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- The IP Classification and Policing Group
Packit 022b05
--
Packit 022b05
Packit 022b05
qosIpQos OBJECT IDENTIFIER ::= { qosPolicyIpPibClasses 1 }
Packit 022b05
Packit 022b05
-- The IP ACE Table
Packit 022b05
Packit 022b05
qosIpAceTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosIpAceEntry
Packit 022b05
    POLICY-ACCESS  install
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "ACE definitions.  A packet has to match all fields in an
Packit 022b05
        ACE.  Wildcards may be specified for those fields that are
Packit 022b05
        not relevant."
Packit 022b05
Packit 022b05
    ::= { qosIpQos 1 }
Packit 022b05
Packit 022b05
qosIpAceEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosIpAceEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An instance of the qosIpAce class."
Packit 022b05
Packit 022b05
    INDEX { qosIpAceId }
Packit 022b05
    ::= { qosIpAceTable 1 }
Packit 022b05
Packit 022b05
QosIpAceEntry ::= SEQUENCE {
Packit 022b05
        qosIpAceId           PolicyInstanceId,
Packit 022b05
        qosIpAceDstAddr      IpAddress,
Packit 022b05
        qosIpAceDstAddrMask  IpAddress,
Packit 022b05
        qosIpAceSrcAddr      IpAddress,
Packit 022b05
        qosIpAceSrcAddrMask  IpAddress,
Packit 022b05
        qosIpAceDscp         Integer32,
Packit 022b05
        qosIpAceProtocol     INTEGER,
Packit 022b05
        qosIpAceDstL4PortMin INTEGER,
Packit 022b05
        qosIpAceDstL4PortMax INTEGER,
Packit 022b05
        qosIpAceSrcL4PortMin INTEGER,
Packit 022b05
        qosIpAceSrcL4PortMax INTEGER,
Packit 022b05
        qosIpAcePermit       TruthValue
Packit 022b05
}
Packit 022b05
Packit 022b05
qosIpAceId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An integer index to uniquely identify this ACE among all the
Packit 022b05
        ACEs."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 1 }
Packit 022b05
Packit 022b05
qosIpAceDstAddr OBJECT-TYPE
Packit 022b05
Packit 022b05
    SYNTAX         IpAddress
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The IP address to match against the packet's destination IP
Packit 022b05
        address."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 2 }
Packit 022b05
Packit 022b05
qosIpAceDstAddrMask OBJECT-TYPE
Packit 022b05
    SYNTAX         IpAddress
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A mask for the matching of the destination IP address.
Packit 022b05
        A zero bit in the mask means that the corresponding bit in
Packit 022b05
        the address always matches."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 3 }
Packit 022b05
Packit 022b05
qosIpAceSrcAddr OBJECT-TYPE
Packit 022b05
    SYNTAX         IpAddress
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The IP address to match against the packet's source IP
Packit 022b05
        address."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 4 }
Packit 022b05
Packit 022b05
qosIpAceSrcAddrMask OBJECT-TYPE
Packit 022b05
    SYNTAX         IpAddress
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A mask for the matching of the source IP address."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 5 }
Packit 022b05
Packit 022b05
qosIpAceDscp OBJECT-TYPE
Packit 022b05
    SYNTAX         Integer32 (-1 | 0..63)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The value that the DSCP in the packet can have and
Packit 022b05
        match this ACE. A value of -1 indicates that a specific
Packit 022b05
        DSCP value has not been defined and thus all DSCP values
Packit 022b05
        are considered a match."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 6 }
Packit 022b05
Packit 022b05
qosIpAceProtocol OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER (0..255)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The IP protocol to match against the packet's protocol.
Packit 022b05
        A value of zero means match all."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 7 }
Packit 022b05
Packit 022b05
qosIpAceDstL4PortMin OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER (0..65535)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The minimum value that the packet's layer 4 destination
Packit 022b05
        port number can have and match this ACE."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 8 }
Packit 022b05
Packit 022b05
qosIpAceDstL4PortMax OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER (0..65535)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The maximum value that the packet's layer 4 destination
Packit 022b05
        port number can have and match this ACE. This value must be
Packit 022b05
        equal to or greater that the value specified for this ACE in
Packit 022b05
        qosIpAceDstL4PortMin."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 9 }
Packit 022b05
Packit 022b05
qosIpAceSrcL4PortMin OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER (0..65535)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The minimum value that the packet's layer 4 source port
Packit 022b05
        number can have and match this ACE."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 10 }
Packit 022b05
Packit 022b05
qosIpAceSrcL4PortMax OBJECT-TYPE
Packit 022b05
    SYNTAX         INTEGER (0..65535)
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The maximum value that the packet's layer 4 source port
Packit 022b05
        number can have and match this ACE.  This value must be equal
Packit 022b05
        to or greater that the value specified for this ACE in
Packit 022b05
Packit 022b05
        qosIpAceSrcL4PortMin."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 11 }
Packit 022b05
Packit 022b05
qosIpAcePermit OBJECT-TYPE
Packit 022b05
    SYNTAX         TruthValue
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "If the packet matches this ACE and the value of this
Packit 022b05
        attribute is true, then the matching process terminates
Packit 022b05
        and the QoS associated with this ACE (indirectly through
Packit 022b05
        the ACL) is applied to the packet.  If the value of this
Packit 022b05
        attribute is false, then no more ACEs in this ACL are
Packit 022b05
        compared to this packet and matching continues with the
Packit 022b05
        first ACE of the next ACL."
Packit 022b05
Packit 022b05
    ::= { qosIpAceEntry 12 }
Packit 022b05
Packit 022b05
--
Packit 022b05
-- The IP ACL Definition Table
Packit 022b05
--
Packit 022b05
Packit 022b05
qosIpAclDefinitionTable OBJECT-TYPE
Packit 022b05
    SYNTAX         SEQUENCE OF QosIpAclDefinitionEntry
Packit 022b05
    POLICY-ACCESS  install
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "A class that defines a set of ACLs each being an ordered list
Packit 022b05
        of ACEs.  Each instance of this class identifies one ACE of
Packit 022b05
        an ACL and the precedence order of that ACE with respect to
Packit 022b05
        other ACEs in the same ACL."
Packit 022b05
Packit 022b05
    INSTALL-ERRORS {
Packit 022b05
        priPrecedenceConflict(1) -- precedence conflict detected
Packit 022b05
        }
Packit 022b05
Packit 022b05
    ::= { qosIpQos 2 }
Packit 022b05
Packit 022b05
qosIpAclDefinitionEntry OBJECT-TYPE
Packit 022b05
    SYNTAX         QosIpAclDefinitionEntry
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An instance of the qosIpAclDefinition class."
Packit 022b05
Packit 022b05
    INDEX { qosIpAclDefinitionId }
Packit 022b05
Packit 022b05
    ::= { qosIpAclDefinitionTable 1 }
Packit 022b05
Packit 022b05
QosIpAclDefinitionEntry ::= SEQUENCE {
Packit 022b05
        qosIpAclDefinitionId       PolicyInstanceId,
Packit 022b05
        qosIpAclDefinitionAclId    PolicyInstanceId,
Packit 022b05
        qosIpAclDefinitionAceId    PolicyInstanceId,
Packit 022b05
        qosIpAclDefinitionAceOrder Unsigned32
Packit 022b05
}
Packit 022b05
Packit 022b05
qosIpAclDefinitionId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "Unique index of this policy rule instance."
Packit 022b05
Packit 022b05
    ::= { qosIpAclDefinitionEntry 1 }
Packit 022b05
Packit 022b05
qosIpAclDefinitionAclId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "An ID for this ACL.  There will be one instance of
Packit 022b05
        the class qosIpAclDefinition with this ID for each ACE in
Packit 022b05
        the ACL per role combination."
Packit 022b05
Packit 022b05
    ::= { qosIpAclDefinitionEntry 2 }
Packit 022b05
Packit 022b05
qosIpAclDefinitionAceId OBJECT-TYPE
Packit 022b05
    SYNTAX         PolicyInstanceId
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "This attribute specifies the ACE in the qosIpAceTable that
Packit 022b05
        is in the ACL specified by qosIpAclDefinitionAclId at the
Packit 022b05
        position specified by qosIpAceOrder.
Packit 022b05
Packit 022b05
        Attempting to specify an unknown class instance will result
Packit 022b05
        in an appropriate error indication being returned to the
Packit 022b05
        entity that is attempting to install the conflicting entry.
Packit 022b05
        For example, a 'priUnknown(2)' error indication is returned
Packit 022b05
        to the policy server in this situation."
Packit 022b05
Packit 022b05
    ::= { qosIpAclDefinitionEntry 3 }
Packit 022b05
Packit 022b05
qosIpAclDefinitionAceOrder OBJECT-TYPE
Packit 022b05
    SYNTAX         Unsigned32
Packit 022b05
Packit 022b05
    STATUS         current
Packit 022b05
    DESCRIPTION
Packit 022b05
        "The precedence order of this ACE.  The precedence order
Packit 022b05
        determines the position of this ACE in the ACL.  An ACE with
Packit 022b05
        a given precedence order is positioned in the access control
Packit 022b05
        list before one with a higher-valued precedence order.
Packit 022b05
Packit 022b05
        Precedence values within a group must be unique otherwise
Packit 022b05
        instance installation will be prohibited and an error
Packit 022b05
        value will be returned."
Packit 022b05
Packit 022b05
    ::= { qosIpAclDefinitionEntry 4 }
Packit 022b05
Packit 022b05
END