Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 3644

Policy Quality of Service (QoS) Information Model

Pages: 73
Proposed Standard
Part 3 of 3 – Pages 48 to 73
First   Prev   None

Top   ToC   RFC3644 - Page 48   prevText

8. Class Definitions: Inheritance Hierarchy

The following sections define object classes that are specified by QPIM.

8.1. The Class QoSPolicyDiscardAction

This class is used to specify that packets should be discarded. This is the same as stating that packets should be denied forwarding. The class definition is as follows: NAME QoSPolicyDiscardAction DESCRIPTION This action specifies that packets should be discarded. DERIVED FROM PolicyAction (defined in [PCIM]) ABSTRACT FALSEFALSE PROPERTIES None

8.2. The Class QoSPolicyAdmissionAction

This class is the base class for performing admission decisions based on a comparison of a meter measuring the temporal behavior of a flow or a set of flow with a traffic profile. The qpAdmissionScope property controls whether the comparison is done per flow or per class (of flows). Only packets that conform to the traffic profile are admitted for further processing; other packets are discarded. The class definition is as follows: NAME QoSPolicyAdmissionAction DESCRIPTION This action controls admission decisions based on comparison of a meter to a traffic profile. DERIVED FROM PolicyAction (defined in [PCIM]) ABSTRACT FALSEFALSE PROPERTIES qpAdmissionScope

8.2.1. The Property qpAdmissionScope

This attribute specifies whether the admission decision is done per flow or per the entire class of flows defined by the rule condition. If the scope is "flow", the actual or requested rate of each flow is compared against the traffic profile. If the scope is set to "class", the aggregate actual or requested rate of all flows matching the rule condition is measured against the traffic profile. The property is defined as follows:
Top   ToC   RFC3644 - Page 49
   NAME         qpAdmissionScope
   DESCRIPTION  This property specifies whether the admission decision
                is done per flow or per the entire class of flows.
   SYNTAX       Integer
   VALUE        This is an enumerated integer.  A value of 0 specifies
                that admission is done on a per-flow basis, and a value
                of 1 specifies that admission is done on a per-class
                basis.

8.3. The Class QoSPolicyPoliceAction

This is used for defining policing actions (i.e., those actions that restrict traffic based on a comparison with a traffic profile). Using the three associations QoSPolicyConformAction, QoSPolicyExceedAction and QoSPolicyViolateAction, it is possible to specify different actions to take based on whether the traffic is conforming, exceeding, or violating a traffic profile. The traffic profile is specified in a subclass of the QoSPolicyTrfcProf class. The class definition is as follows: NAME QoSPolicyPoliceAction DESCRIPTION This action controls the operation of policers. The rate of flows is measured against a traffic profile. The actions that need to be performed on conforming, exceeding and violating traffic are indicated using the conform, exceed and violate action associations. DERIVED FROM QoSPolicyAdmissionAction (defined in this document) ABSTRACT FALSEFALSE PROPERTIES None

8.4. The Class QoSPolicyShapeAction

This class is used for defining shaping actions. Shapers are used to delay some or all of the packets in a traffic stream in order to bring a particular traffic stream into compliance with a given traffic profile. The traffic profile is specified in a subclass of the QoSPolicyTrfcProf class. The class definition is as follows: NAME QoSPolicyShapeAction DESCRIPTION This action indicate that traffic should be shaped to be conforming with a traffic profile. DERIVED FROM QoSPolicyAdmissionAction (defined in this document) ABSTRACT FALSEFALSE PROPERTIES None
Top   ToC   RFC3644 - Page 50

8.5. The Class QoSPolicyRSVPAdmissionAction

This class determines whether to accept or reject a given RSVP request by comparing the RSVP request's TSPEC or RSPEC parameters against the associated traffic profile and/or by enforcing the pre- set maximum sessions limit. The traffic profile is specified in the QoSPolicyIntServTrfcProf class. This class inherits the qpAdmissionScope property from its superclass. This property specifies whether admission should be done on a per-flow or per-class basis. If the traffic profile is not larger than or equal to the requested reservation, or to the sum of the admitted reservation merged with the requested reservation, the result is a deny decision. If no traffic profile is specified, the assumption is that all traffic can be admitted. The class definition is as follows: NAME QoSPolicyRSVPAdmissionAction DESCRIPTION This action controls the admission of RSVP requests. Depending on the scope, either a single RSVP request or the total admitted RSVP requests matching the conditions are compared against a traffic profile. DERIVED FROM QoSPolicyAdmissionAction (defined in this document) ABSTRACT FALSEFALSE PROPERTIES qpRSVPWarnOnly, qpRSVPMaxSessions

8.5.1. The Property qpRSVPWarnOnly

This property is applicable when fulfilling ("admitting") an RSVP request would violate the policer (traffic profile) limits or when the maximum number session would be exceeded (or both). When this property is set to TRUE, the RSVP request is admitted in spite of the violation, but an RSVP error message carrying a warning is sent to the originator (sender or receiver). When set to FALSE, the request would be denied and an error message would be sent back to the originator. So the meaning of the qpWarnOnly flag is: Based on property's value (TRUE or FALSE), determine whether to admit but warn the originator that the request is in violation or to deny the request altogether (and send back an error). Specifically, a PATHERR (in response to a Path message) or a RESVERR (in response of a RESV message) will be sent. This follows the COPS for RSVP send error flag in the Decision Flags object. This property is defined as follows:
Top   ToC   RFC3644 - Page 51
   NAME      qpRSVPWarnOnly
   SYNTAX    Boolean
   Default   FALSE
   VALUE     The value TRUE means that the request should be admitted
             AND an RSVP warning message should be sent to the
             originator.  The value of FALSE means that the request
             should be not admitted and an appropriate error message
             should be sent back to the originator of the request.

8.5.2. The Property qpRSVPMaxSessions

This attribute is used to limit the total number of RSVP requests admitted for the specified class of traffic. For this property to be meaningful, the qpAdmissionScope property must be set to class. The definition of this property is as follows: NAME qpRSVPMaxSessions SYNTAX Integer VALUE Must be greater than 0.

8.6. The Class QoSPolicyPHBAction

This class is a base class that is used to define the per-hop behavior that is to be assigned to behavior aggregates. It defines a common property, qpMaxPacketSize, for use by its subclasses (QoSPolicyBandwidthAction and QoSPolicyCongestionControlAction). The class definition is as follows: NAME QoSPolicyPHBAction DESCRIPTION This action controls the Per-Hop-Behavior provided to behavior aggregates. DERIVED FROM PolicyAction (defined in [PCIM]) ABSTRACT TRUE PROPERTIES qpMaxPacketSize

8.6.1. The Property qpMaxPacketSize

This property specifies the maximum packet size in bytes, of packets in the designated flow. This attribute is used in translation of QPIM attributes to QoS mechanisms used within a PEP. For example, queue length may be measured in bytes, while the minimum number of packets that should be kept in a PEP is defined within QPIM in number of packets. This property is defined as follows: NAME qpMaxPacketSize SYNTAX Integer Value Must be greater than 0
Top   ToC   RFC3644 - Page 52

8.7. The Class QoSPolicyBandwidthAction

This class is used to control the bandwidth, delay, and forwarding behavior of a PHB. Its class definition is as follows: NAME QoSPolicyBandwidthAction DESCRIPTION This action controls the bandwidth, delay, and forwarding characteristics of the PHB. DERIVED FROM QoSPolicyPBHAction (defined in this document) ABSTRACT FALSE PROPERTIES qpForwardingPriority, qpBandwidthUnits, qpMinBandwdith, qpMaxBandwidth, qpMaxDelay, qpMaxJitter, qpFairness

8.7.1. The Property qpForwardingPriority

This property defines the forwarding priority for this set of flows. A non-zero value indicates that preemptive forwarding is required. Higher values represent higher forwarding priority. This property is defined as follows: NAME qpForwardingPriority SYNTAX Integer VALUE Must be non-negative. The value 0 means that preemptive forwarding is not required. A positive value indicates the priority that is to be assigned for this (set of) flow(s). Larger values represent higher priorities.

8.7.2. The Property qpBandwidthUnits

This property defines the units that the properties qpMinBandwidth and qpMaxBandwidth have. Bandwidth can either be defined in bits/sec or as a percentage of the available bandwidth or scheduler resources. This property is defined as follows: NAME qpBandwidthUnits SYNTAX Integer VALUE Two values are possible. The value of 0 is used to specify units of bits/sec, while the value of 1 is used to specify units as a percentage of the available bandwidth. If this property indicates that the bandwidth units are percentages, then each of the bandwidth properties expresses a whole-number percentage, and hence its maximum value is 100.
Top   ToC   RFC3644 - Page 53

8.7.3. The Property qpMinBandwidth

This property defines the minimum bandwidth that should be reserved for this class of traffic. Both relative (i.e., a percentage of the bandwidth) and absolute (i.e., bits/second) values can be specified according to the value of the qpBandwidthUnits property. This property is defined as follows: NAME qpMinBandwidth SYNTAX Integer VALUE The value must be greater than 0. If the property qpMaxBandwidth is defined, then the value of qpMinBandwidth must be less than or equal to the value of qpMaxBandwidth.

8.7.4. The Property qpMaxBandwidth

This property defines the maximum bandwidth that should be allocated to this class of traffic. Both relative (i.e., a percentage of the bandwidth)and absolute (i.e., bits/second) values can be specified according to the value of the qpBandwidthUnits property. This property is defined as follows: NAME qpMaxBandwidth SYNTAX Integer VALUE The value must be greater than 0. If the property qpMaxBandwidth is defined, then the value of qpMinBandwidth must be less than or equal to the value of qpMaxBandwidth.

8.7.5. The Property qpMaxDelay

This property defines the maximal per-hop delay that traffic of this class should experience while being forwarded through this hop. The maximum delay is measured in microseconds. This property is defined as follows: NAME qpMaxDelay SYNTAX Integer (microseconds) VALUE The value must be greater than 0.

8.7.6. The Property qpMaxJitter

This property defines the maximal per-hop delay variance that traffic of this class should experience while being forwarded through this hop. The maximum jitter is measured in microseconds. This property is defined as follows:
Top   ToC   RFC3644 - Page 54
   NAME        qpMaxJitter
   SYNTAX      Integer (microseconds)
   VALUE       The value must be greater than 0.

8.7.7. The Property qpFairness

This property defines whether fair queuing is required for this class of traffic. This property is defined as follows: NAME qpFairness SYNTAX Boolean VALUE The value of FALSE means that fair queuing is not required for this class of traffic, while the value of TRUE means that fair queuing is required for this class of traffic.

8.8. The Class QoSPolicyCongestionControlAction

This class is used to control the characteristics of the congestion control algorithm being used. The class definition is as follows: NAME QoSPolicyCongestionControlAction DESCRIPTION This action control congestion control characteristics of the PHB. DERIVED FROM QoSPolicyPBHAction (defined in this document) ABSTRACT FALSE PROPERTIES qpQueueSizeUnits, qpQueueSize, qpDropMethod, qpDropThresholdUnits, qpDropMinThresholdValue, qpDropMaxThresholdValue

8.8.1. The property qpQueueSizeUnits

This property specifies the units in which the qpQueueSize attribute is measured. The queue size is measured either in number of packets or in units of time. The time interval specifies the time needed to transmit all packets within the queue if the link speed is dedicated entirely to transmission of packets within this queue. The property definition is: NAME qpQueueSizeUnits SYNTAX Integer VALUE This property can have two values. If the value is set to 0, then the unit of measurement is number of packets. If the value is set to 1, then the unit of measurement is milliseconds.
Top   ToC   RFC3644 - Page 55

8.8.2. The Property qpQueueSize

This property specifies the maximum queue size in packets or in milliseconds, depending on the value of the qpQueueSizeUnits (0 specifies packets, and 1 specifies milliseconds). This property is defined as follows: NAME qpQueueSize SYNTAX Integer VALUE This value must be greater than 0.

8.8.3. The Property qpDropMethod

This property specifies the congestion control drop algorithm that should be used for this type of traffic. This property is defined as follows: NAME qpDropMethod SYNTAX Integer VALUES Three values are currently defined. The value 0 specifies a random drop algorithm, the value 1 specifies a tail drop algorithm, and the value 2 specifies a head drop algorithm.

8.8.4. The Property qpDropThresholdUnits

This property specifies the units in which the two properties qpDropMinThresholdValue and qpDropMaxThresholdValue are measured. Thresholds can be measured either in packets or as a percentage of the available queue sizes. This property is defined as follows: NAME qpDropThresholdUnits SYNTAX Integer VALUES Three values are defined. The value 0 defines the units as number of packets, the value 1 defines the units as a percentage of the queue size and the value 2 defines the units in milliseconds. If this property indicates that the threshold units are percentages, then each of the threshold properties expresses a whole-number percentage, and hence its maximum value is 100.

8.8.5. The Property qpDropMinThresholdValue

This property specifies the minimum number of queuing and buffer resources that should be reserved for this class of flows. The threshold can be specified as either relative (i.e., a percentage) or absolute (i.e., number of packets or millisecond) value according to the value of the qpDropThresholdUnits property. If this property
Top   ToC   RFC3644 - Page 56
   specifies a value of 5 packets, then enough buffer and queuing
   resources should be reserved to hold 5 packets before running the
   specified congestion control drop algorithm.  This property is
   defined as follows:

   NAME        qpDropMinThresholdValue
   SYNTAX      Integer
   VALUE       This value must be greater than or equal to 0.  If the
               property qpDropMaxThresholdValue is defined, then the
               value of the qpDropMinThresholdValue property must be
               less than or equal to the value of the
               qpDropMaxThresholdValue property.

8.8.6. The Property qpDropMaxThresholdValue

This property specifies the maximum number of queuing and buffer resources that should be reserved for this class of flows. The threshold can be specified as either relative (i.e., a percentage) or absolute (i.e., number of packets or milliseconds) value according to the value of the qpDropThresholdUnits property. Congestion Control droppers should not keep more packets than the value specified in this property. Note, however, that some droppers may calculate queue occupancy averages, and therefore the actual maximum queue resources should be larger. This property is defined as follows: NAME qpDropMaxThresholdValue SYNTAX Integer VALUE This value must be greater than or equal to 0. If the property qpDropMinThresholdValue is defined, then the value of the qpDropMinThresholdValue property must be less than or equal to the value of the qpDropMaxThresholdValue property.

8.9. The Class QoSPolicyTrfcProf

This is an abstract base class that models a traffic profile. Traffic profiles specify the maximum rate parameters used within admission decisions. The association QoSPolicyTrfcProfInAdmissionAction binds the admission decision to the traffic profile. The class definition is as follows: NAME QoSPolicyTrfcProf DERIVED FROM Policy (defined in [PCIM]) ABSTRACT TRUE PROPERTIES None
Top   ToC   RFC3644 - Page 57

8.10. The Class QoSPolicyTokenBucketTrfcProf

This class models a two- or three-level Token Bucket traffic profile. Additional profiles can be modeled by cascading multiple instances of this class (e.g., by connecting the output of one instance to the input of another instance). This traffic profile carries the policer or shaper rate values to be enforced on a flow or a set of flows. The class definition is as follows: NAME QoSPolicyTokenBucketTrfcProf DERIVED FROM QoSPolicyTrfcProf (defined in this document) ABSTRACT FALSE PROPERTIES qpTBRate, qpTBNormalBurst, qpTBExcessBurst

8.10.1. The Property qpTBRate

This is a non-negative integer that defines the token rate in kilobits per second. A rate of zero means that all packets will be out of profile. This property is defined as follows: NAME qpTBRate SYNTAX Integer VALUE This value must be greater than to 0

8.10.2. The Property qpTBNormalBurst

This property is an integer that defines the normal size of a burst measured in bytes. This property is defined as follows: NAME qpTBNormalBurst SYNTAX Integer VALUE This value must be greater than to 0

8.10.3. The Property qpTBExcessBurst

This property is an integer that defines the excess burst size measured in bytes. This property is defined as follows: NAME qpTBExcessBurst SYNTAX Integer VALUE This value must be greater than or equal to qpTBNormalBurst

8.11. The Class QoSPolicyIntServTrfcProf

This class represents an IntServ traffic profile. Values of IntServ traffic profiles are compared against Traffic specification (TSPEC) and QoS Reservation (FLOWSPEC) requests carried in RSVP requests.
Top   ToC   RFC3644 - Page 58
   The class definition is as follows:

   NAME          QoSPolicyIntServTrfcProf
   DERIVED FROM  QoSPolicyTrfcProf (defined in this document)
   ABSTRACT      FALSE
   PROPERTIES    qpISTokenRate, qpISPeakRate, qpISBucketSize,
                 qpISResvRate, qpISResvSlack, qpISMinPolicedUnit,
                 qpISMaxPktSize

8.11.1. The Property qpISTokenRate

This property is a non-negative integer that defines the token rate parameter, measured in kilobits per second. This property is defined as follows: NAME qpISTokenRate SYNTAX Integer VALUE This value must be greater than or equal to 0

8.11.2. The Property qpISPeakRate

This property is a non-negative integer that defines the peak rate parameter, measured in kilobits per second. This property is defined as follows: NAME qpISPeakRate SYNTAX Integer VALUE This value must be greater than or equal to 0

8.11.3. The Property qpISBucketSize

This property is a non-negative integer that defines the token bucket size parameter, measured in bytes. This property is defined as follows: NAME qpISBucketSize SYNTAX Integer VALUE This value must be greater than or equal to 0

8.11.4. The Property qpISResvRate

This property is a non-negative integer that defines the reservation rate (R-Spec) in the RSVP guaranteed service reservation. It is measured in kilobits per second. This property is defined as follows:
Top   ToC   RFC3644 - Page 59
   NAME        qpISResvRate
   SYNTAX      Integer
   VALUE       This value must be greater than or equal to 0

8.11.5. The Property qpISResvSlack

This property is a non-negative integer that defines the RSVP slack term in the RSVP guaranteed service reservation. It is measured in microseconds. This property is defined as follows: NAME qpISResvSlack SYNTAX Integer VALUE This value must be greater than or equal to 0

8.11.6. The Property qpISMinPolicedUnit

This property is a non-negative integer that defines the minimum RSVP policed unit, measured in bytes. This property is defined as follows: NAME qpISMinPolicedUnit SYNTAX Integer VALUE This value must be greater than or equal to 0

8.11.7. The Property qpISMaxPktSize

This property is a positive integer that defines the maximum allowed packet size for RSVP messages, measured in bytes. This property is defined as follows: NAME qpISMaxPktSize SYNTAX Integer VALUE This value must be a positive integer, denoting the number of bytes in the largest payload packet of an RSVP signaled flow or class.

8.12. The Class QoSPolicyAttributeValue

This class can be used for representing an indirection in variable and value references either in a simple condition ("<x> match <y>") or a simple action ("<x> = <y>"). In both cases, <x> and <y> are known as the variable and the value of either the condition or action. The value of the properties qpAttributeName and qpAttributeValueList are used to substitute <x> and <y> in the condition or action respectively.
Top   ToC   RFC3644 - Page 60
   The substitution is done as follows: The value of the property
   qpAttributeName is used to substitute <x> and the value of the
   property qpAttributeValueList is used to substitute <y>.

   Once the substitution is done, the condition can be evaluated and the
   action can be performed.

   For example, suppose we want to define a condition over a user name
   of the form "user == 'Smith'", using the QoSPolicyRSVPUserVariable
   class.  The user information in the RSVP message provides a DN.  The
   DN points to a user objects holding many attributes.  If the relevant
   attribute is "last name", we would use the QoSPolicyAttributeValue
   class with qpAttributeName = "Last Name", qpAttributeValueList =
   {"Smith"}.

   The class definition is as follows:

   NAME           QoSPolicyAttributeValue
   DERIVED FROM   PolicyValue (defined in [PCIMe])
   ABSTRACT       FALSE
   PROPERTIES     qpAttributeName, qpAttributeValueList

8.12.1. The Property qpAttributeName

This property carries the name of the attribute that is to be used to substitute <x> in a simple condition or simple condition of the forms "<x> match <y>" or "<x> = <y>" respectively. This property is defined as follows: NAME qpAttributeName SYNTAX String

8.12.2. The Property qpAttributeValueList

This property carries a list of values that is to be used to substitute <y> in a simple condition or simple action of the forms "<x> match <y>" or "<x> = <y>" respectively. This property is defined as follows: NAME qpAttributeValueList SYNTAX String

8.13. The Class "QoSPolicyRSVPVariable"

This is an abstract class that serves as the base class for all implicit variables that have to do with RSVP conditioning. The class definition is as follows:
Top   ToC   RFC3644 - Page 61
   NAME           QoSPolicyRSVPVariable
   DESCRIPTION    An abstract base class used to build other classes
                  that specify different attributes of an RSVP request
   DERIVED FROM   PolicyImplicitVariable (defined in [PCIMe])
   ABSTRACT       TRUE
   PROPERTIES     None

8.14. The Class "QoSPolicyRSVPSourceIPv4Variable"

This is a concrete class that contains the source IPv4 address of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPSourceIPv4Variable DESCRIPTION The source IPv4 address of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. ALLOWED VALUE TYPES: PolicyIPv4AddrValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.15. The Class "QoSPolicyRSVPDestinationIPv4Variable"

This is a concrete class that contains the destination IPv4 address of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPDestinationIPv4Variable DESCRIPTION The destination IPv4 address of the RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] objects. ALLOWED VALUE TYPES: PolicyIPv4AddrValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None
Top   ToC   RFC3644 - Page 62

8.16. The Class "QoSPolicyRSVPSourceIPv6Variable"

This is a concrete class that contains the source IPv6 address of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPSourceIPv6Variable DESCRIPTION The source IPv6 address of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. ALLOWED VALUE TYPES: PolicyIPv6AddrValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.17. The Class "QoSPolicyRSVPDestinationIPv6Variable"

This is a concrete class that contains the destination IPv6 address of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPDestinationIPv6Variable DESCRIPTION The destination IPv6 address of the RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] objects. ALLOWED VALUE TYPES: PolicyIPv6AddrValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.18. The Class "QoSPolicyRSVPSourcePortVariable"

This class contains the source port of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPSourcePortVariable DESCRIPTION The source port of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. ALLOWED VALUE TYPES: PolicyIntegerValue (0..65535)
Top   ToC   RFC3644 - Page 63
   DERIVED FROM   QoSPolicyRSVPVariable (defined in this document)
   ABSTRACT       FALSE
   PROPERTIES     None

8.19. The Class "QoSPolicyRSVPDestinationPortVariable"

This is a concrete class that contains the destination port of the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPDestinationPortVariable DESCRIPTION The destination port of the RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] objects. ALLOWED VALUE TYPES: PolicyIntegerValue (0..65535) DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.20. The Class "QoSPolicyRSVPIPProtocolVariable"

This is a concrete class that contains the IP Protocol number of the RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] objects. The class definition is as follows: NAME QoSPolicyRSVPIPProtocolVariable DESCRIPTION The IP Protocol number of the RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] objects. ALLOWED VALUE TYPES: PolicyIntegerValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.21. The Class "QoSPolicyRSVPIPVersionVariable"

This is a concrete class that contains the IP Protocol version number of the RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] objects. The well-known version numbers are 4 and 6. This variable allows a policy definition of the type: "If IP version = IPv4 then ...".
Top   ToC   RFC3644 - Page 64
   The class definition is as follows:

   NAME           QoSPolicyRSVPIPVersionVariable
   DESCRIPTION    The IP version number of the IP Addresses carried the
                  RSVP signaled flow, as defined in the RSVP PATH and
                  RESV SESSION [RSVP] objects.

                  ALLOWED VALUE TYPES: PolciIntegerValue

   DERIVED FROM   QoSPolicyRSVPVariable (defined in this document)
   ABSTRACT       FALSE
   PROPERTIES     None

8.22. The Class "QoSPolicyRSVPDCLASSVariable"

This is a concrete class that contains the DSCP value as defined in the RSVP DCLASS [DCLASS] object. The class definition is as follows: NAME QoSPolicyRSVPDCLASSVariable DESCRIPTION The DSCP value as defined in the RSVP DCLASS [DCLASS] object. ALLOWED VALUE TYPES: PolicyIntegerValue, PolicyBitStringValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.23. The Class "QoSPolicyRSVPStyleVariable"

This is a concrete class that contains the reservation style as defined in the RSVP STYLE object in the RESV message [RSVP]. The class definition is as follows: NAME QoSPolicyRSVPStyleVariable DESCRIPTION The reservation style as defined in the RSVP STYLE object in the RESV message [RSVP]. ALLOWED VALUE TYPES: PolicyBitStringValue, PolicyIntegerValue (Integer has an enumeration of { Fixed-Filter=1, Shared-Explicit=2, Wildcard-Filter=3}
Top   ToC   RFC3644 - Page 65
   DERIVED FROM   QoSPolicyRSVPVariable (defined in this document)
   ABSTRACT       FALSE
   PROPERTIES     None

8.24. The Class "QoSPolicyIntServVariable"

This is a concrete class that contains the Integrated Service requested in the RSVP Reservation message, as defined in the FLOWSPEC RSVP Object [RSVP]. The class definition is as follows: NAME QoSPolicyRSVPIntServVariable DESCRIPTION The integrated Service requested in the RSVP Reservation message, as defined in the FLOWSPEC RSVP Object [RSVP]. ALLOWED VALUE TYPES: PolicyIntegerValue (An enumerated value of { CL=1 , GS=2, NULL=3} DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.25. The Class "QoSPolicyRSVPMessageTypeVariable"

This is a concrete class that contains the RSVP message type, as defined in the RSVP message common header [RSVP] object. The class definition is as follows: NAME QoSPolicyRSVPMessageTypeVariable DESCRIPTION The RSVP message type, as defined in the RSVP message common header [RSVP] object. ALLOWED VALUE TYPES: Integer (An enumerated value of {PATH=1 , PATHTEAR=2, RESV=3, RESVTEAR=4, RESVERR=5, CONF=6, PATHERR=7} DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.26. The Class "QoSPolicyRSVPPreemptionPriorityVariable"

This is a concrete class that contains the RSVP reservation priority, as defined in [RFC3181] object. The class definition is as follows: NAME QoSPolicyRSVPPreemptionPriorityVariable DESCRIPTION The RSVP reservation priority as defined in [RFC3181].
Top   ToC   RFC3644 - Page 66
                 ALLOWED VALUE TYPES: PolicyIntegerValue

   DERIVED FROM  QoSPolicyRSVPVariable (defined in this document)
   ABSTRACT      FALSE
   PROPERTIES    None

8.27. The Class "QoSPolicyRSVPPreemptionDefPriorityVariable"

This is a concrete class that contains the RSVP reservation defending priority, as defined in [RFC3181] object. The class definition is as follows: NAME QoSPolicyRSVPPreemptionDefPriorityVariable DESCRIPTION The RSVP preemption reservation defending priority as defined in [RFC3181]. ALLOWED VALUE TYPES: PolicyIntegerValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.28. The Class "QoSPolicyRSVPUserVariable"

This is a concrete class that contains the ID of the user that initiated the flow as defined in the User Locator string in the Identity Policy Object [RFC3182]. The class definition is as follows: NAME QoSPolicyRSVPUserVariable DESCRIPTION The ID of the user that initiated the flow as defined in the User Locator string in the Identity Policy Object [RFC3182]. ALLOWED VALUE TYPES: QoSPolicyDNValue, PolicyStringValue, QoSPolicyAttributeValue DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.29. The Class "QoSPolicyRSVPApplicationVariable"

This is a concrete class that contains the ID of the application that generated the flow as defined in the application locator string in the Application policy object [RFC2872]. The class definition is as follows:
Top   ToC   RFC3644 - Page 67
   NAME          QoSPolicyRSVPApplicationVariable
   DESCRIPTION   The ID of the application that generated the flow as
                 defined in the application locator string in the
                 Application policy object [RFC2872].

                 ALLOWED VALUE TYPES: QoSPolicyDNValue,
                                      PolicyStringValue,
                                      QoSPolicyAttributeValue

   DERIVED FROM  QoSPolicyRSVPVariable (defined in this document)
   ABSTRACT      FALSE
   PROPERTIES    None

8.30. The Class "QoSPolicyRSVPAuthMethodVariable"

This is a concrete class that contains the type of authentication used in the Identity Policy Object [RFC3182]. The class definition is as follows: NAME QoSPolicyRSVPAuthMethodVariable DESCRIPTION The RSVP Authentication type used in the Identity Policy Object [RFC3182]. ALLOWED VALUE TYPES: PolicyIntegerValue (An enumeration of { NONE=0, PLAIN-TEXT=1, DIGITAL-SIG = 2, KERBEROS_TKT=3, X509_V3_CERT=4, PGP_CERT=5} DERIVED FROM QoSPolicyRSVPVariable (defined in this document) ABSTRACT FALSE PROPERTIES None

8.31. The Class QoSPolicyDNValue

This class is used to represent a single or set of Distinguished Name [DNDEF] values, including wildcards. A Distinguished Name is a name that can be used as a key to retrieve an object from a directory service. This value can be used in comparison to reference values carried in RSVP policy objects, as specified in [RFC3182]. The class definition is as follows: NAME QoSPolicyDNValue DERIVED FROM PolicyValue ABSTRACT FALSE PROPERTIES qpDNList
Top   ToC   RFC3644 - Page 68

8.31.1. The Property qpDNList

This attribute provides an unordered list of strings, each representing a Distinguished Name (DN) with wildcards. The format of a DN is defined in [DNDEF]. The asterisk character ("*") is used as wildcard for either a single attribute value or a wildcard for an RDN. The order of RDNs is significant. For example: A qpDNList attribute carrying the following value: "CN=*, OU=Sales, O=Widget Inc., *, C=US" matches: "CN=J. Smith, OU=Sales, O=Widget Inc, C=US" and also matches: "CN=J. Smith, OU=Sales, O=Widget Inc, L=CA, C=US". The attribute is defined as follows: NAME qpDNList SYNTAX List of Distinguished Names implemented as strings, each of which serves as a reference to another object.

8.32. The Class QoSPolicyRSVPSimpleAction

This action controls the content of RSVP messages and the way RSVP requests are admitted. Depending on the value of its qpRSVPActionType property, this action directly translates into either a COPS Replace Decision or a COPS Stateless Decision, or both as defined in COPS for RSVP. Only variables that are subclasses of the QoSPolicyRSVPVariable are allowed to be associated with this action. The property definition is as follows: NAME QoSPolicyRSVPSimpleAction DESCRIPTION This action controls the content of RSVP messages and the way RSVP requests are admitted. DERIVED FROM SimplePolicyAction (defined in [PCIMe]) ABSTRACT FALSE PROPERTIES qpRSVPActionType

8.32.1. The Property qpRSVPActionType

This property is an enumerated integer denoting the type(s) of RSVP action. The value 'REPLACE' denotes a COPS Replace Decision action. The value 'STATELESS' denotes a COPS Stateless Decision action. The value REPLACEANDSTATELESS denotes both decision actions. Refer to [RFC2749] for details.
Top   ToC   RFC3644 - Page 69
   NAME          qpRSVPActionType
   DESCRIPTION   This property specifies whether the action type is for
                 COPS Replace, Stateless, or both types of decisions.
   SYNTAX        Integer
   VALUE         This is an enumerated integer.  A value of 0 specifies
                 a COPS Replace decision.  A value of 1 specifies a COPS
                 Stateless Decision.  A value of 2 specifies both COPS
                 Replace and COPS Stateless decisions.

9. Intellectual Property Rights Statement

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF Secretariat. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.

10. Acknowledgements

The authors wish to thank the input of the participants of the Policy Framework working group, and especially the combined group of the PCIMe coauthors, Lee Rafalow, Andrea Westerinen, Ritu Chadha and Marcus Brunner. In addition, we'd like to acknowledge the valuable contribution from Ed Ellesson, Joel Halpern and Mircea Pana. Thank you all for your comments, critique, ideas and general contribution.

11. Security Considerations

The Policy Core Information Model [PCIM] describes the general security considerations related to the general core policy model. The extensions defined in this document do not introduce any additional considerations related to security.
Top   ToC   RFC3644 - Page 70

12. References

12.1. Normative References

[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [PCIM] Moore, B., Ellesson, E., Strassner, J. and A. Westerinen, "Policy Core Information Model -- Version 1 Specification", RFC 3060, February 2001. [PCIMe] Moore, B., Ed., "Policy Core Information Model Extensions", RFC 3460, January 2003.

12.2. Informative References

[TERMS] Westerinen, A., Schnizlein, J., Strassner, J., Scherling, M., Quinn, B., Herzog, S., Huynh, A., Carlson, M., Perry, J. and M. Waldbusser, "Terminology for Policy-based Management", RFC 3198, November 2001. [DIFFSERV] Blake, S., Black, D., Carlson, M., Davies, E., Wang, Z. and W. Weiss, "An Architecture for Differentiated Services", RFC 2475, December 1998. [INTSERV] Braden, R., Clark, D. and S. Shenker, "Integrated Services in the Internet Architecture: an Overview", RFC 1633, June 1994. [RSVP] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S. and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, September 1997. [RFC2749] Herzog, S., Ed., Boyle, J., Cohen, R., Durham, D., Rajan, R. and A. Sastry, "COPS usage for RSVP", RFC 2749, January 2000. [RFC3181] Herzog, S., "Signaled Preemption Priority Policy Element", RFC 3181, October 2001. [DIFF-MIB] Baker, F., Chan, K. and A. Smith, "Management Information Base for the Differentiated Services Architecture", RFC 3289, May 2002. [AF] Heinanen, J., Baker, F., Weiss, W. and J. Wroclawski, "Assured Forwarding PHB Group", RFC 2597, June 1999.
Top   ToC   RFC3644 - Page 71
   [CL]       Wroclawski, J., "Specification of the Controlled-Load
              Network Element Service", RFC 2211, September 1997.

   [RSVP-IS]  Wroclawski, J., "The Use of RSVP with IETF Integrated
              Services", RFC 2210, September 1997.

   [GS]       Shenker, S., Partridge, C. and R. Guerin, "Specification
              of the Guaranteed Quality of Service", RFC 2212, September
              1997.

   [DCLASS]   Bernet, Y., "Format of the RSVP DCLASS Object", RFC 2996,
              November 2000.

   [RFC3182]  Yadav, S., Yavatkar, R., Pabbati, R., Ford, P., Moore, T.,
              Herzog, S. and R. Hess, "Identity Representation for
              RSVP", RFC 3182, October 2001.

   [RFC2872]  Bernet, Y. and R. Pabbati, "Application and Sub
              Application Identity Policy Element for Use with RSVP",
              RFC 2872, June 2000.

   [DNDEF]    Wahl, M., Kille, S. and T. Howes, "Lightweight Directory
              Access Protocol (v3): UTF-8 String Representation of
              Distinguished Names", RFC 2253, December 1997.
Top   ToC   RFC3644 - Page 72

13. Authors' Addresses

Yoram Ramberg Cisco Systems 4 Maskit Street Herzliya Pituach, Israel 46766 Phone: +972-9-970-0081 Fax: +972-9-970-0219 EMail: yramberg@cisco.com Yoram Snir Cisco Systems 300 East Tasman Drive San Jose, CA 95134 Phone: +1 408-853-4053 Fax: +1 408 526-7864 EMail: ysnir@cisco.com John Strassner Intelliden Corporation 90 South Cascade Avenue Colorado Springs, Colorado 80903 Phone: +1-719-785-0648 Fax: +1-719-785-0644 EMail: john.strassner@intelliden.com Ron Cohen Ntear LLC Phone: +972-8-9402586 Fax: +972-9-9717798 EMail: ronc@lyciumnetworks.com Bob Moore IBM Corporation P. O. Box 12195, BRQA/501/G206 3039 Cornwallis Rd. Research Triangle Park, NC 27709-2195 Phone: +1 919-254-4436 Fax: +1 919-254-6243 EMail: remoore@us.ibm.com
Top   ToC   RFC3644 - Page 73

14. Full Copyright Statement

Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.