draft-ietf-policy-qos-info-model-04.txt   draft-ietf-policy-qos-info-model-05.txt 
Policy Framework Working Group Y. Snir Policy Framework Working Group Y. Snir
INTERNET-DRAFT Y. Ramberg INTERNET-DRAFT Y. Ramberg
Cisco Systems Cisco Systems
Category: Standards Track J. Strassner Category: Standards Track J. Strassner
Intelliden Intelliden
R. Cohen R. Cohen
Ntear LLC Ntear LLC
B. Moore B. Moore
IBM IBM
November 2001
Policy QoS Information Model Policy QoS Information Model
<draft-ietf-policy-qos-info-model-04.txt> <draft-ietf-policy-qos-info-model-05.txt>
Status of this Document Status of this Document
This document is an Internet-Draft and is in full conformance with all This document is an Internet-Draft and is in full conformance with all
provisions of Section 10 of RFC2026. provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Task Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other groups Force (IETF), its areas, and its working groups. Note that other groups
may also distribute working documents as Internet-Drafts. may also distribute working documents as Internet-Drafts.
skipping to change at line 37 skipping to change at page 1, line 36
or to cite them other than as "work in progress." or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt http://www.ietf.org/ietf/1id-abstracts.txt
The list of Internet-Draft Shadow Directories can be accessed at The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html http://www.ietf.org/shadow.html
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2003). All Rights Reserved.
Abstract Abstract
This document presents an object-oriented information model for This document presents an object-oriented information model for
representing policies that administer, manage, and control access to representing policies that administer, manage, and control access to
network QoS resources. This document is based on the IETF Policy Core network QoS resources. This document is based on the IETF Policy Core
Information Model and its extensions as specified by [PCIM] and [PCIMe]. Information Model and its extensions.
This draft builds upon these two documents to define an information This defines an information model for QoS enforcement for
model for QoS enforcement for differentiated and integrated services differentiated and integrated services using policy.
using policy. It is important to note that this document defines an It is important to note that this document defines an information
information model, which by definition is independent of any particular model, which by definition is independent of any particular data
data storage mechanism and access protocol. storage mechanism and access protocol.
Definition of Key Word Usage Definition of Key Word Usage
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [KEYWORDS]. document are to be interpreted as described in RFC 2119 [KEYWORDS].
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 1
Table of Contents Table of Contents
1. Introduction 5 1. Introduction 5
1.1. The Process of QoS Policy Definition 5 1.1. The Process of QoS Policy Definition 5
1.2. Design Goals and Their Ramifications 8 1.2. Design Goals and Their Ramifications 8
1.2.1. Policy-Definition Oriented 8 1.2.1. Policy-Definition Oriented 8
1.2.1.1. Rule-based Modeling 9 1.2.1.1. Rule-based Modeling 9
1.2.1.2. Organize Information Hierarchically 9 1.2.1.2. Organize Information Hierarchically 9
1.2.1.3. Goal-Oriented Policy Definition 10 1.2.1.3. Goal-Oriented Policy Definition 10
1.2.2. Policy Domain Model 10 1.2.2. Policy Domain Model 10
skipping to change at line 108 skipping to change at page 3, line 5
3.4.3. Using Hierarchical Policies: Examples for PHB Actions 34 3.4.3. Using Hierarchical Policies: Examples for PHB Actions 34
4. Traffic Profiles 36 4. Traffic Profiles 36
4.1. Provisioning Traffic Profiles 36 4.1. Provisioning Traffic Profiles 36
4.2. RSVP Traffic Profiles 36 4.2. RSVP Traffic Profiles 36
5. Pre-Defined QoS-Related Variables 38 5. Pre-Defined QoS-Related Variables 38
6. QoS Related Values 40 6. QoS Related Values 40
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 2
Table of Contents (continued) Table of Contents (continued)
7. Class Definitions: Association Hierarchy 42 7. Class Definitions: Association Hierarchy 42
7.1. The Association "QoSPolicyTrfcProfInAdmissionAction" 42 7.1. The Association "QoSPolicyTrfcProfInAdmissionAction" 42
7.1.1. The Reference "Antecedent" 42 7.1.1. The Reference "Antecedent" 42
7.1.2. The Reference "Dependent" 42 7.1.2. The Reference "Dependent" 42
7.2. The Association "PolicyConformAction" 43 7.2. The Association "PolicyConformAction" 43
7.2.1. The Reference "Antecedent" 43 7.2.1. The Reference "Antecedent" 43
7.2.2. The Reference "Dependent" 43 7.2.2. The Reference "Dependent" 43
7.3. The Association "QoSPolicyExceedAction" 43 7.3. The Association "QoSPolicyExceedAction" 43
skipping to change at line 161 skipping to change at page 4, line 5
8.8.3. The Property qpDropMethod 53 8.8.3. The Property qpDropMethod 53
8.8.4. The Property qpDropThresholdUnits 53 8.8.4. The Property qpDropThresholdUnits 53
8.8.5. The Property qpDropMinThresholdValue 53 8.8.5. The Property qpDropMinThresholdValue 53
8.8.6. The Property qpDropMaxThresholdValue 54 8.8.6. The Property qpDropMaxThresholdValue 54
8.9. The Class QoSPolicyTrfcProf 54 8.9. The Class QoSPolicyTrfcProf 54
8.10. The Class QoSPolicyTokenBucketTrfcProf 54 8.10. The Class QoSPolicyTokenBucketTrfcProf 54
8.10.1. The Property qpTBRate 55 8.10.1. The Property qpTBRate 55
8.10.2. The Property qpTBNormalBurst 55 8.10.2. The Property qpTBNormalBurst 55
8.10.3. The Property qpTBExcessBurst 55 8.10.3. The Property qpTBExcessBurst 55
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 3
Table of Contents (continued) Table of Contents (continued)
8.11. The Class QoSPolicyIntServTrfcProf 55 8.11. The Class QoSPolicyIntServTrfcProf 55
8.11.1. The Property qpISTokenRate 56 8.11.1. The Property qpISTokenRate 56
8.11.2. The Property qpISPeakRate 56 8.11.2. The Property qpISPeakRate 56
8.11.3. The Property qpISBucketSize 56 8.11.3. The Property qpISBucketSize 56
8.11.4. The Property qpISResvRate 56 8.11.4. The Property qpISResvRate 56
8.11.5. The Property qpISResvSlack 56 8.11.5. The Property qpISResvSlack 56
8.11.6. The Property qpISMinPolicedUnit 57 8.11.6. The Property qpISMinPolicedUnit 57
8.11.7. The Property qpISMaxPktSize 57 8.11.7. The Property qpISMaxPktSize 57
skipping to change at line 203 skipping to change at page 4, line 45
8.30. The Class QoSPolicyRSVPAuthMethodVariable 65 8.30. The Class QoSPolicyRSVPAuthMethodVariable 65
8.31. The Class QosPolicyDNValue 65 8.31. The Class QosPolicyDNValue 65
8.31.1. The Property qpDNList 65 8.31.1. The Property qpDNList 65
8.32. The Class QoSPolicyRSVPSimpleAction 66 8.32. The Class QoSPolicyRSVPSimpleAction 66
8.32.1. The Property qpRSVPActionType 66 8.32.1. The Property qpRSVPActionType 66
9. Acknowledgements 67 9. Acknowledgements 67
10. Security Considerations 67 10. Security Considerations 67
11. References 67 11. Normative References 67
12. Informative References 68
12. Authors' Addresses 68 13. Authors' Addresses 69
13. Full Copyright Statement 69
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 4 14. Full Copyright Statement 70
1. Introduction 1. Introduction
The QoS Policy Information Model (QPIM) establishes a standard framework The QoS Policy Information Model (QPIM) establishes a standard framework
and constructs for specifying and representing policies that administer, and constructs for specifying and representing policies that administer,
manage, and control access to network QoS resources. Such policies will manage, and control access to network QoS resources. Such policies will
be referred to as "QoS policies" in this document. The framework be referred to as "QoS policies" in this document. The framework
consists of a set of classes and relationships that are organized in an consists of a set of classes and relationships that are organized in an
object-oriented information model. It is agnostic of any specific PDP or object-oriented information model. It is agnostic of any specific PDP or
PEP (see [TERMS] for definitions) implementation, and independent of any PEP (see [TERMS] for definitions) implementation, and independent of any
skipping to change at line 248 skipping to change at page 6, line 5
schemata, and SNMP MIBs) to be designed and implemented according to a schemata, and SNMP MIBs) to be designed and implemented according to a
single uniform model. single uniform model.
1.1. The Process of QoS Policy Definition 1.1. The Process of QoS Policy Definition
This section describes the process of using QPIM for the definition QoS This section describes the process of using QPIM for the definition QoS
policy for a policy domain. Figure 1 illustrates information flow and policy for a policy domain. Figure 1 illustrates information flow and
not the actual procedure, which has several loops and feedback not not the actual procedure, which has several loops and feedback not
depicted. depicted.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 5
---------- ---------- ----------- ---------- ---------- -----------
| Business | | Topology | | QoS | | Business | | Topology | | QoS |
| Policy | | | |Methodology| | Policy | | | |Methodology|
---------- ---------- ----------- ---------- ---------- -----------
| | | | | |
| | | | | |
------------------------------------ ------------------------------------
| |
V V
--------------- ---------------
skipping to change at line 299 skipping to change at page 7, line 5
The topology of the network consists of an inventory of the network The topology of the network consists of an inventory of the network
elements that make up the network and the set of paths that traffic may elements that make up the network and the set of paths that traffic may
take through the network. For example, a network administrator may take through the network. For example, a network administrator may
decide to use the DiffServ architectural model [DIFFSERV] and classify decide to use the DiffServ architectural model [DIFFSERV] and classify
network devices using the roles "boundary" and "core" (see [TERMS] for a network devices using the roles "boundary" and "core" (see [TERMS] for a
definition of role, and [PCIM] for an explanation of how they are used definition of role, and [PCIM] for an explanation of how they are used
in the policy framework). While this is not a complete topological view in the policy framework). While this is not a complete topological view
of the network, many times it may suffice for the purpose of QoS policy of the network, many times it may suffice for the purpose of QoS policy
definition. definition.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 6
Business rules are informal sets of requirements for specifying the Business rules are informal sets of requirements for specifying the
behavior of various types of traffic that may traverse the network. For behavior of various types of traffic that may traverse the network. For
example, the administrator may be instructed to implement policy such example, the administrator may be instructed to implement policy such
that VoIP traffic manifests behavior that is similar to legacy voice that VoIP traffic manifests behavior that is similar to legacy voice
traffic over telephone networks. Note that this business rule traffic over telephone networks. Note that this business rule
(indirectly) prescribes specific behavior for this traffic type (VoIP), (indirectly) prescribes specific behavior for this traffic type (VoIP),
for example in terms of minimal delay, jitter and loss. Other traffic for example in terms of minimal delay, jitter and loss. Other traffic
types, such as WEB buying transactions, system backup traffic, video types, such as WEB buying transactions, system backup traffic, video
streaming, etc., will express their traffic conditioning requirements in streaming, etc., will express their traffic conditioning requirements in
different terms. Again, this information is required not by QPIM itself, different terms. Again, this information is required not by QPIM itself,
skipping to change at line 344 skipping to change at page 7, line 48
This enables the administrator to design policies to configure all This enables the administrator to design policies to configure all
interfaces having the role "core-interface" independent of the actual interfaces having the role "core-interface" independent of the actual
physical devices themselves. QPIM uses roles to help the administrator physical devices themselves. QPIM uses roles to help the administrator
map a given set of devices or interfaces to a given set of policy map a given set of devices or interfaces to a given set of policy
constructs. constructs.
The policy constructs define the functionality required to perform the The policy constructs define the functionality required to perform the
desired traffic conditioning for particular traffic type(s). The desired traffic conditioning for particular traffic type(s). The
functions themselves depend on the particular type of networking functions themselves depend on the particular type of networking
technologies chosen. For example, the DiffServ methodology encourages us technologies chosen. For example, the DiffServ methodology encourages us
to aggregate similar types of traffic by assigning to each traffic class to aggregate similar types of traffic by assigning to each traffic class
a particular per-hop forwarding behavior on each node. RSVP enables a particular per-hop forwarding behavior on each node. RSVP enables
bandwidth to be reserved. These two methodologies can be used separately bandwidth to be reserved. These two methodologies can be used separately
or in conjunction, as defined by the appropriate business policy. QPIM or in conjunction, as defined by the appropriate business policy. QPIM
provides specific classes to enable DiffServ and RSVP conditioning to be provides specific classes to enable DiffServ and RSVP conditioning to be
modeled. modeled.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 7
The QPIM class definitions are used to create instances of various The QPIM class definitions are used to create instances of various
policy constructs such as QoS actions and conditions that may be policy constructs such as QoS actions and conditions that may be
hierarchically organized in rules and groups (PolicyGroup and PolicyRule hierarchically organized in rules and groups (PolicyGroup and PolicyRule
as defined in [PCIM] and [PCIMe]). Examples of policy actions are rate as defined in [PCIM] and [PCIMe]). Examples of policy actions are rate
limiting, jitter control and bandwidth allocation. Policy conditions are limiting, jitter control and bandwidth allocation. Policy conditions are
constructs that can select traffic according to a complex Boolean constructs that can select traffic according to a complex Boolean
expression. expression.
A hierarchical organization was chosen for two reasons. First, it best A hierarchical organization was chosen for two reasons. First, it best
reflects the way humans tend to think about complex policy. Second, it reflects the way humans tend to think about complex policy. Second, it
skipping to change at line 395 skipping to change at page 9, line 5
configuration. configuration.
There are several ramifications of this design goal. First, QPIM uses There are several ramifications of this design goal. First, QPIM uses
rules to define policies, based on [PCIM] and [PCIMe]. Second, QPIM uses rules to define policies, based on [PCIM] and [PCIMe]. Second, QPIM uses
hierarchical organizations of policies and policy information hierarchical organizations of policies and policy information
extensively. Third, QPIM does not force the policy writer to specify all extensively. Third, QPIM does not force the policy writer to specify all
implementation details; rather, it assumes that configuration agents implementation details; rather, it assumes that configuration agents
(PDPs) interpret the policies and match them to suit the needs of (PDPs) interpret the policies and match them to suit the needs of
device-specific configurations. device-specific configurations.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 8
1.2.1.1. Rule-based Modeling 1.2.1.1. Rule-based Modeling
Policy is best described using rule-based modeling as explained and Policy is best described using rule-based modeling as explained and
described in [PCIM] and [PCIMe]. A QoS policy rule is structured as a described in [PCIM] and [PCIMe]. A QoS policy rule is structured as a
condition clause and an action clause. The semantics are simple: if the condition clause and an action clause. The semantics are simple: if the
condition clause evaluates to TRUE, then a set of QoS actions (specified condition clause evaluates to TRUE, then a set of QoS actions (specified
in the action clause) can be executed. For example, the rule: in the action clause) can be executed. For example, the rule:
"WEB traffic should receive at least 50% of the available "WEB traffic should receive at least 50% of the available
bandwidth resources or more, when more is available" bandwidth resources or more, when more is available"
skipping to change at line 445 skipping to change at page 10, line 5
rules and/or policy groups. A policy rule can also contain policy rules rules and/or policy groups. A policy rule can also contain policy rules
and/or groups, enabling a rule/sub-rule relationship to be realized. and/or groups, enabling a rule/sub-rule relationship to be realized.
The hierarchical design decision is based on the realization that it is The hierarchical design decision is based on the realization that it is
natural for humans to organize policy rules in groups. Breaking down a natural for humans to organize policy rules in groups. Breaking down a
complex policy into a set of simple rules is a process that follows the complex policy into a set of simple rules is a process that follows the
way people tend to think and analyze systems. The complexity of the way people tend to think and analyze systems. The complexity of the
abstract, business-oriented policy is simplified and made into a abstract, business-oriented policy is simplified and made into a
hierarchy of simple rules and grouping of simple rules. hierarchy of simple rules and grouping of simple rules.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 9
The hierarchical information organization helps to simplify the The hierarchical information organization helps to simplify the
definition and readability of data instances based on QPIM. Hierarchies definition and readability of data instances based on QPIM. Hierarchies
can also serve to carry additional semantics for QoS actions in a given can also serve to carry additional semantics for QoS actions in a given
context. An example, detailed in section 2.3, demonstrates how context. An example, detailed in section 2.3, demonstrates how
hierarchical bandwidth allocation policies can be specified in an hierarchical bandwidth allocation policies can be specified in an
intuitive form, without the need to specify complex scheduler intuitive form, without the need to specify complex scheduler
structures. structures.
1.2.1.3. Goal-Oriented Policy Definition 1.2.1.3. Goal-Oriented Policy Definition
skipping to change at line 493 skipping to change at page 11, line 5
only specify the main goal of the policy, making sure that the preferred only specify the main goal of the policy, making sure that the preferred
application receives enough bandwidth to operate adequately. application receives enough bandwidth to operate adequately.
1.2.2. Policy Domain Model 1.2.2. Policy Domain Model
An important design goal of QPIM is to provide a means for defining An important design goal of QPIM is to provide a means for defining
policies that span numerous devices. This goal differentiates QPIM from policies that span numerous devices. This goal differentiates QPIM from
device-level information models, which are designed for modeling policy device-level information models, which are designed for modeling policy
that controls a single device, its mechanisms and capabilities. that controls a single device, its mechanisms and capabilities.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 10
This design goal has several ramifications. First, roles [PCIM] are used This design goal has several ramifications. First, roles [PCIM] are used
to define policies across multiple devices. Second, the use of abstract to define policies across multiple devices. Second, the use of abstract
policies frees the policy definition process from having to deal with policies frees the policy definition process from having to deal with
individual device peculiarities, and leaves interpretation and individual device peculiarities, and leaves interpretation and
configuration to be modeled by PDPs or other configuration agents. configuration to be modeled by PDPs or other configuration agents.
Third, QPIM allows extensive reuse of all policy building blocks in Third, QPIM allows extensive reuse of all policy building blocks in
multiple rules used within different devices. multiple rules used within different devices.
1.2.2.1. Model QoS Policy in a Device- and Vendor-Independent Manner 1.2.2.1. Model QoS Policy in a Device- and Vendor-Independent Manner
skipping to change at line 541 skipping to change at page 12, line 5
1.2.2.3 Reusability 1.2.2.3 Reusability
Reusable objects, as defined by [PCIM] and [PCIMe], are the means for Reusable objects, as defined by [PCIM] and [PCIMe], are the means for
sharing policy building blocks, thus allowing central management of sharing policy building blocks, thus allowing central management of
global concepts. QPIM provides the ability to reuse all policy building global concepts. QPIM provides the ability to reuse all policy building
blocks: variables and values, conditions and actions, traffic profiles, blocks: variables and values, conditions and actions, traffic profiles,
and policy groups and policy rules. This provides the required and policy groups and policy rules. This provides the required
flexibility to manage large sets of policy rules over large policy flexibility to manage large sets of policy rules over large policy
domains. domains.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 11
For example, the following rule makes use of centrally defined objects For example, the following rule makes use of centrally defined objects
being reused (referenced): being reused (referenced):
If <DestinationAddress == FinanceSubNet> then <DSCP = MissionCritical> If <DestinationAddress == FinanceSubNet> then <DSCP = MissionCritical>
In this rule, the condition refers to an object named FinanceSubNet, In this rule, the condition refers to an object named FinanceSubNet,
which is a value (or possibly a set of values) defined and maintained in which is a value (or possibly a set of values) defined and maintained in
a reusable objects container. The QoS action makes use of a value named a reusable objects container. The QoS action makes use of a value named
MissionCritical, which is also a reusable object. The advantage of MissionCritical, which is also a reusable object. The advantage of
specifying a policy in this way is its inherent flexibility. Given the specifying a policy in this way is its inherent flexibility. Given the
skipping to change at line 595 skipping to change at page 13, line 5
or vendor. or vendor.
3. Policy specified by QPIM must be able to be translated into 3. Policy specified by QPIM must be able to be translated into
network element configuration. network element configuration.
QPIM satisfies requirements #1 and #2 above by using the concept of QPIM satisfies requirements #1 and #2 above by using the concept of
roles (specifically, the PolicyRoles property, defined in PCIM). By roles (specifically, the PolicyRoles property, defined in PCIM). By
matching roles assigned to policy groups and to network elements, a PDP matching roles assigned to policy groups and to network elements, a PDP
(or other enforcement agent) can determine what policy should be applied (or other enforcement agent) can determine what policy should be applied
to a given device or devices. to a given device or devices.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 12
The use of roles in mapping policy to network elements supports model The use of roles in mapping policy to network elements supports model
scalability. QPIM policy can be mapped to large-scale policy domains by scalability. QPIM policy can be mapped to large-scale policy domains by
assigning a single role to a group of network elements. This can be done assigning a single role to a group of network elements. This can be done
even when the policy domain contains heterogeneous devices. So, a small even when the policy domain contains heterogeneous devices. So, a small
set of policies can be deployed to large networks without having to re- set of policies can be deployed to large networks without having to re-
specify the policy for each device separately. This QPIM property is specify the policy for each device separately. This QPIM property is
important for QoS policy management applications that strive to ease the important for QoS policy management applications that strive to ease the
task of policy definition for large policy domains. task of policy definition for large policy domains.
Requirement #2 is also satisfied by making QPIM domain-oriented (see Requirement #2 is also satisfied by making QPIM domain-oriented (see
skipping to change at line 629 skipping to change at page 13, line 37
1.2.4. QPIM Covers Both Signaled And Provisioned QoS 1.2.4. QPIM Covers Both Signaled And Provisioned QoS
The two predominant standards-based QoS methodologies developed so far The two predominant standards-based QoS methodologies developed so far
are Differentiated Services (DiffServ) and Integrated Services are Differentiated Services (DiffServ) and Integrated Services
(IntServ). The DiffServ provides a way to enforce policies that apply to (IntServ). The DiffServ provides a way to enforce policies that apply to
a large number of devices in a scalable manner. QPIM provides actions a large number of devices in a scalable manner. QPIM provides actions
and conditions that control the classification, policing and shaping and conditions that control the classification, policing and shaping
done within the differentiated service domain boundaries, as well as done within the differentiated service domain boundaries, as well as
actions that control the per-hop behavior within the core of the actions that control the per-hop behavior within the core of the
DiffServ network. QPIM does not mandate the use of DiffServ as a policy DiffServ network. QPIM does not mandate the use of DiffServ as a policy
amethodology. methodology.
Integrated services, together with its signaling protocol (RSVP), Integrated services, together with its signaling protocol (RSVP),
provides a way for end nodes (and edge nodes) to request QoS from the provides a way for end nodes (and edge nodes) to request QoS from the
network. QPIM provides actions that control the reservation of such network. QPIM provides actions that control the reservation of such
requests within the network. requests within the network.
As both methodologies continue to evolve, QPIM does not attempt to As both methodologies continue to evolve, QPIM does not attempt to
provide full coverage of all possible scenarios. Instead, QPIM aims to provide full coverage of all possible scenarios. Instead, QPIM aims to
provide policy control modeling for all major scenarios. QPIM is provide policy control modeling for all major scenarios. QPIM is
designed to be extensible to allow for incorporation of control over designed to be extensible to allow for incorporation of control over
newly developed QoS mechanisms. newly developed QoS mechanisms.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 13
1.2.5. Interoperability for PDPs and Management Applications 1.2.5. Interoperability for PDPs and Management Applications
Another design goal of QPIM is to facilitate interoperability among Another design goal of QPIM is to facilitate interoperability among
policy systems such as PDPs and policy management applications. QPIM policy systems such as PDPs and policy management applications. QPIM
accomplishes this interoperability goal by standardizing the accomplishes this interoperability goal by standardizing the
representation of policy. Producers and consumers of QoS policy need representation of policy. Producers and consumers of QoS policy need
only rely on QPIM-based schemata (and resulting data models) to ensure only rely on QPIM-based schemata (and resulting data models) to ensure
mutual understanding and agreement on the semantics of QoS policy. mutual understanding and agreement on the semantics of QoS policy.
For example, suppose that a QoS policy management application, built by For example, suppose that a QoS policy management application, built by
vendor A writes its policies based on the standard LDAP schema that maps vendor A writes its policies based on the LDAP schema that maps
from QPIM to a directory implementation using LDAP. Now assume that a from QPIM to a directory implementation using LDAP. Now assume that a
separately built PDP from vendor B also relies on this same LDAP schema separately built PDP from vendor B also relies on this same LDAP schema
derived from QPIM. Even though these are two vendors with two different derived from QPIM. Even though these are two vendors with two different
PDPs, each may read the schema of the other and "understand" it. This is PDPs, each may read the schema of the other and "understand" it. This is
because both the management application and the PDP were architected to because both the management application and the PDP were architected to
comply with the QPIM standard. The same is true with two policy comply with the QPIM specification. The same is true with two policy
management applications. For example, vendor B's policy application may management applications. For example, vendor B's policy application may
run a validation tool that computes whether there are conflicts within run a validation tool that computes whether there are conflicts within
rules specified by the other vendor's policy management application. rules specified by the other vendor's policy management application.
Interoperability of QPIM producers/consumers is by definition at a high Interoperability of QPIM producers/consumers is by definition at a high
level, and does not guarantee that the same policy will result in the level, and does not guarantee that the same policy will result in the
same PEP configuration. First, different PEPs will have different same PEP configuration. First, different PEPs will have different
capabilities and functions, which necessitate different individual capabilities and functions, which necessitate different individual
configurations even if the different PEPs are controlled by the same configurations even if the different PEPs are controlled by the same
policy. Second, different PDPs will also have different capabilities and policy. Second, different PDPs will also have different capabilities and
skipping to change at line 694 skipping to change at page 15, line 5
gap between a human policy maker and a network element that is gap between a human policy maker and a network element that is
configured to enforce the policy. Clearly this wide gap implies several configured to enforce the policy. Clearly this wide gap implies several
translation levels, from the abstract to the concrete. At the abstract translation levels, from the abstract to the concrete. At the abstract
end are the business QoS policy rules. Once the business rules are end are the business QoS policy rules. Once the business rules are
known, a network administrator must interpret them as network QoS policy known, a network administrator must interpret them as network QoS policy
and represent this QoS policy by using QPIM constructs. QPIM facilitates and represent this QoS policy by using QPIM constructs. QPIM facilitates
a formal representation of QoS rules, thus providing the first a formal representation of QoS rules, thus providing the first
concretization level: formally representing humanly expressed QoS concretization level: formally representing humanly expressed QoS
policy. policy.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 14
When a human business executive defines network policy, it is usually When a human business executive defines network policy, it is usually
done using informal business terms and language. For example, a human done using informal business terms and language. For example, a human
may utter a policy statement that reads: may utter a policy statement that reads:
"human resources applications should have better QoS than simple "human resources applications should have better QoS than simple
web applications" web applications"
This might be translated to a slightly more sophisticated form, such as: This might be translated to a slightly more sophisticated form, such as:
"traffic generated by our human resources applications should have a "traffic generated by our human resources applications should have a
skipping to change at line 738 skipping to change at page 16, line 5
The first example illustrates 'abstract policy', while the second The first example illustrates 'abstract policy', while the second
illustrates 'concrete configuration'. Furthermore, the first example illustrates 'concrete configuration'. Furthermore, the first example
illustrates end-to-end policy, which covers the conditioning of illustrates end-to-end policy, which covers the conditioning of
application traffic throughout the network. The second example application traffic throughout the network. The second example
illustrates configuration for a particular PEP or a set thereof. While illustrates configuration for a particular PEP or a set thereof. While
an end-to-end policy statement can only be enforced by configuration of an end-to-end policy statement can only be enforced by configuration of
PEPs in various parts of the network, the information model of policy PEPs in various parts of the network, the information model of policy
and that of the mechanisms that a PEP uses to implement that policy are and that of the mechanisms that a PEP uses to implement that policy are
vastly different. vastly different.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 15
The translation process from abstract business policy to concrete PEP The translation process from abstract business policy to concrete PEP
configuration is roughly expressed as follows: configuration is roughly expressed as follows:
1. Informal business QoS policy is expressed by a human policy maker 1. Informal business QoS policy is expressed by a human policy maker
(e.g., "All executives' WEB requests should be prioritized ahead of (e.g., "All executives' WEB requests should be prioritized ahead of
other employees' WEB requests") other employees' WEB requests")
2. A network administrator analyzes the policy domain's topology and 2. A network administrator analyzes the policy domain's topology and
determines the roles of particular device interfaces. A role may determines the roles of particular device interfaces. A role may
be assigned to a large group of elements, which will result in be assigned to a large group of elements, which will result in
mapping a particular policy to a large group of device interfaces. mapping a particular policy to a large group of device interfaces.
skipping to change at line 792 skipping to change at page 17, line 5
reusability. Within the QoS policy information model, hierarchy is used reusability. Within the QoS policy information model, hierarchy is used
to model context or scope for the sub-rule actions. Within QPIM, to model context or scope for the sub-rule actions. Within QPIM,
bandwidth allocation policy actions and drop threshold actions use this bandwidth allocation policy actions and drop threshold actions use this
hierarchal context. First we provide a detailed example of the use of hierarchal context. First we provide a detailed example of the use of
hierarchy in bandwidth allocation policies. The differences between flat hierarchy in bandwidth allocation policies. The differences between flat
and hierarchical policy representation are discussed. The use of and hierarchical policy representation are discussed. The use of
hierarchy in drop threshold policies is described in a following hierarchy in drop threshold policies is described in a following
subsection. Last but not least, the restrictions on the use of rule subsection. Last but not least, the restrictions on the use of rule
hierarchies within QPIM are described. hierarchies within QPIM are described.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 16
1.4.1 Use of Hierarchy Within Bandwidth Allocation Policies 1.4.1 Use of Hierarchy Within Bandwidth Allocation Policies
Consider the following example where the informal policy reads: Consider the following example where the informal policy reads:
On any interface on which these rules apply, guarantee at least 30% On any interface on which these rules apply, guarantee at least 30%
of the interface bandwidth to UDP flows, and at least 40% of the of the interface bandwidth to UDP flows, and at least 40% of the
interface bandwidth to TCP flows. interface bandwidth to TCP flows.
The QoS Policy information model follows the Policy Core information The QoS Policy information model follows the Policy Core information
model by using roles as a way to specify the set of interfaces on which model by using roles as a way to specify the set of interfaces on which
skipping to change at line 848 skipping to change at page 18, line 5
Normally, a full specification of the rules would require indicating the Normally, a full specification of the rules would require indicating the
direction of the traffic for which bandwidth allocation is being made. direction of the traffic for which bandwidth allocation is being made.
Using the direction variable defined in [PCIMe], the rules can be Using the direction variable defined in [PCIMe], the rules can be
specified in the following form: specified in the following form:
If (direction is out) If (direction is out)
If (IP protocol is UDP) THEN (guarantee 30% of available BW) If (IP protocol is UDP) THEN (guarantee 30% of available BW)
If (IP protocol is TCP) THEN (guarantee 40% of available BW) If (IP protocol is TCP) THEN (guarantee 40% of available BW)
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 17
where indentation is used to indicate rule nesting. To save space, we where indentation is used to indicate rule nesting. To save space, we
omit the direction condition from further discussion. omit the direction condition from further discussion.
Rule nesting provides the ability to further refine the scope of Rule nesting provides the ability to further refine the scope of
bandwidth allocation within a given traffic class forwarded via these bandwidth allocation within a given traffic class forwarded via these
interfaces. The example below adds two nested rules to refine bandwidth interfaces. The example below adds two nested rules to refine bandwidth
allocation for UDP and TCP applications. allocation for UDP and TCP applications.
If (IP protocol is UDP) THEN (guarantee 30% of available BW) (1) If (IP protocol is UDP) THEN (guarantee 30% of available BW) (1)
If (protocol is TFTP) THEN (guarantee 10% of available BW) (1a) If (protocol is TFTP) THEN (guarantee 10% of available BW) (1a)
skipping to change at line 903 skipping to change at page 19, line 5
applications are guaranteed 30% of the bandwidth. Suppose a single UDP applications are guaranteed 30% of the bandwidth. Suppose a single UDP
flow of an application different from NFS or TFTP is running. This flow of an application different from NFS or TFTP is running. This
application would be guaranteed 30% of the interface bandwidth in the application would be guaranteed 30% of the interface bandwidth in the
hierarchical representation but only 15% of the interface bandwidth in hierarchical representation but only 15% of the interface bandwidth in
the flat representation. the flat representation.
A two stage scheduler is best modeled by a hierarchical representation A two stage scheduler is best modeled by a hierarchical representation
whereas a flat representation may be realized by a non-hierarchical whereas a flat representation may be realized by a non-hierarchical
scheduler. scheduler.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 18
A schematic hierarchical Weighted-Round-Robin scheduler implementation A schematic hierarchical Weighted-Round-Robin scheduler implementation
that supports the hierarchical rule representation is described below. that supports the hierarchical rule representation is described below.
--UDP AND TFTP queue--10% --UDP AND TFTP queue--10%
--UDP AND NFS queue--40%-Scheduler-30%--+ --UDP AND NFS queue--40%-Scheduler-30%--+
--Other UDP queue--50% A1 | --Other UDP queue--50% A1 |
| |
--TCP AND HTTP queue--20% | --TCP AND HTTP queue--20% |
--TCP AND FTP queue--30%-Scheduler-40%--Scheduler--Interface --TCP AND FTP queue--30%-Scheduler-40%--Scheduler--Interface
--Other TCP queue--50% A2 | B --Other TCP queue--50% A2 | B
skipping to change at line 957 skipping to change at page 20, line 5
Two major resources govern the per hop behavior in each node. The Two major resources govern the per hop behavior in each node. The
bandwidth allocation resource governs the forwarding behavior of each bandwidth allocation resource governs the forwarding behavior of each
traffic class. A scheduler priority and weights are controlled by the traffic class. A scheduler priority and weights are controlled by the
bandwidth allocation policies, as well as the (minimal) number of queues bandwidth allocation policies, as well as the (minimal) number of queues
needed for traffic separation. A second resource, which is not needed for traffic separation. A second resource, which is not
controlled by bandwidth allocation policies, is the queuing length and controlled by bandwidth allocation policies, is the queuing length and
drop behavior. For this purpose, queue length and threshold policies are drop behavior. For this purpose, queue length and threshold policies are
used. used.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 19
Rule hierarchy is used to describe the context on which thresholds act. Rule hierarchy is used to describe the context on which thresholds act.
The policy rule's condition describes the traffic class and the rule's The policy rule's condition describes the traffic class and the rule's
actions describe the bandwidth allocation, the forwarding priority and actions describe the bandwidth allocation, the forwarding priority and
the queue length. If the traffic class contains different drop the queue length. If the traffic class contains different drop
precedence sub-classes that require different thresholds within the same precedence sub-classes that require different thresholds within the same
queue, the sub-rules actions describe these thresholds. queue, the sub-rules actions describe these thresholds.
Below is an example of the use of rule nesting for threshold control Below is an example of the use of rule nesting for threshold control
purposes. Let's look at the following rules: purposes. Let's look at the following rules:
skipping to change at line 1004 skipping to change at page 21, line 5
1.4.3. Restrictions of the Use of Hierarchy Within QPIM 1.4.3. Restrictions of the Use of Hierarchy Within QPIM
Rule nesting is used within QPIM for two important purposes: Rule nesting is used within QPIM for two important purposes:
1) Enhance clarity, readability and reusability. 1) Enhance clarity, readability and reusability.
2) Provide hierarchical context for actions. 2) Provide hierarchical context for actions.
The second point captures the ability to specify context for bandwidth The second point captures the ability to specify context for bandwidth
allocation, as well as providing context for drop threshold policies. allocation, as well as providing context for drop threshold policies.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 20
When is a hierarchy level supposed to specify the bandwidth allocation When is a hierarchy level supposed to specify the bandwidth allocation
context, when is the hierarchy used for specifying the drop threshold context, when is the hierarchy used for specifying the drop threshold
context, and when is it used merely for clarity and reusability? The context, and when is it used merely for clarity and reusability? The
answer depends entirely on the actions. Bandwidth control actions within answer depends entirely on the actions. Bandwidth control actions within
a sub-rule specify how the bandwidth allocated to the traffic class a sub-rule specify how the bandwidth allocated to the traffic class
determined by the rule's condition clause should be further divided determined by the rule's condition clause should be further divided
among the sub-rules. Drop threshold actions control the traffic class's among the sub-rules. Drop threshold actions control the traffic class's
queue drop behavior for each of the sub-rules. The bandwidth control queue drop behavior for each of the sub-rules. The bandwidth control
actions have an implicit pointer saying: the bandwidth allocation is actions have an implicit pointer saying: the bandwidth allocation is
relative to the bandwidth resources defined by the higher level rule. relative to the bandwidth resources defined by the higher level rule.
skipping to change at line 1054 skipping to change at page 22, line 5
3. Developers of Policy Decision Points (PDP) systems built to create 3. Developers of Policy Decision Points (PDP) systems built to create
QoS configuration for PEPs. QoS configuration for PEPs.
4. Builders of large organization data and knowledge bases who decide 4. Builders of large organization data and knowledge bases who decide
to combine QoS policy information with other networking policy to combine QoS policy information with other networking policy
information, assuming all modeling is based on [PCIM] and [PCIMe]. information, assuming all modeling is based on [PCIM] and [PCIMe].
5. Authors of various standards may use constructs introduced in this 5. Authors of various standards may use constructs introduced in this
document to enhance their work. Authors of data models wishing to document to enhance their work. Authors of data models wishing to
map a storage specific technology to QPIM must use this document map a storage specific technology to QPIM must use this document
as well. as well.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 21
2. Class Hierarchies 2. Class Hierarchies
2.1. Inheritance Hierarchy 2.1. Inheritance Hierarchy
QPIM's class and association inheritance hierarchies are rooted in QPIM's class and association inheritance hierarchies are rooted in
[PCIM] and [PCIMe]. Figures 1 and 2 depict these QPIM inheritance [PCIM] and [PCIMe]. Figures 1 and 2 depict these QPIM inheritance
hierarchies, while noting their relationships to [PCIM] and hierarchies, while noting their relationships to [PCIM] and
[PCIMe]classes. Note that many other classes used to form QPIM policies, [PCIMe]classes. Note that many other classes used to form QPIM policies,
such as SimplePolicyCondition, are defined in [PCIM] and [PCIMe]. Thus, such as SimplePolicyCondition, are defined in [PCIM] and [PCIMe]. Thus,
the following figures do NOT represent ALL necessary classes and the following figures do NOT represent ALL necessary classes and
skipping to change at line 1105 skipping to change at page 23, line 5
| | | |
| +---QoSPolicyTrfcProf (abstract, QPIM) | +---QoSPolicyTrfcProf (abstract, QPIM)
| | | | | |
| | +---QoSPolicyTokenBucketTrfcProf (QPIM) | | +---QoSPolicyTokenBucketTrfcProf (QPIM)
| | | | | |
| | +---QoSPolicyIntServTrfcProf (QPIM) | | +---QoSPolicyIntServTrfcProf (QPIM)
| | | |
(continued on the next page) (continued on the next page)
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 22
(continued from the previous page) (continued from the previous page)
[ManagedElement] (abstract, PCIM, repeated for convenience) [ManagedElement] (abstract, PCIM, repeated for convenience)
| |
+--Policy (abstract, PCIM, repeated for convenience) +--Policy (abstract, PCIM, repeated for convenience)
| | | |
| +---PolicyVariable (abstract, PCIMe) | +---PolicyVariable (abstract, PCIMe)
| | | | | |
| | +---PolicyImplicitVariable (abstract, PCIMe) | | +---PolicyImplicitVariable (abstract, PCIMe)
| | | | | |
skipping to change at line 1161 skipping to change at page 24, line 5
| | +---QoSPolicyRSVPAuthMethodVariable (QPIM) | | +---QoSPolicyRSVPAuthMethodVariable (QPIM)
| | | |
| +---PolicyValue (abstract, PCIMe) | +---PolicyValue (abstract, PCIMe)
| | | | | |
| | +---QoSPolicyDNValue (QPIM) | | +---QoSPolicyDNValue (QPIM)
| | | | | |
| | +---QoSPolicyAttributeValue (QPIM) | | +---QoSPolicyAttributeValue (QPIM)
Figure 1. The QPIM Class Inheritance Hierarchy Figure 1. The QPIM Class Inheritance Hierarchy
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 23
2.2. Relationship Hierarchy 2.2. Relationship Hierarchy
Figure 2 shows the QPIM relationship hierarchy. Figure 2 shows the QPIM relationship hierarchy.
[unrooted] (abstract, PCIM) [unrooted] (abstract, PCIM)
| |
+---Dependency (abstract) +---Dependency (abstract)
| | | |
| +--- QoSPolicyTrfcProfInAdmissionAction (QPIM) | +--- QoSPolicyTrfcProfInAdmissionAction (QPIM)
| | | |
skipping to change at line 1185 skipping to change at page 25, line 5
| +--- QoSPolicyExceedAction (QPIM) | +--- QoSPolicyExceedAction (QPIM)
| | | |
| +--- QoSPolicyViolateAction (QPIM) | +--- QoSPolicyViolateAction (QPIM)
| | | |
| +--- PolicyVariableInSimplePolicyAction | +--- PolicyVariableInSimplePolicyAction
| | | | | |
| | + QoSPolicyRSVPVariableInRSVPSimplePolicyAction | | + QoSPolicyRSVPVariableInRSVPSimplePolicyAction
Figure 2. The QPIM Association Class Inheritance Hierarchy Figure 2. The QPIM Association Class Inheritance Hierarchy
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 24
3. QoS Actions 3. QoS Actions
This section describes the QoS actions that are modeled by QPIM. QoS This section describes the QoS actions that are modeled by QPIM. QoS
actions are policy enforced network behaviors that are specified for actions are policy enforced network behaviors that are specified for
traffic selected by QoS conditions. QoS actions are modeled using the traffic selected by QoS conditions. QoS actions are modeled using the
classes PolicyAction (defined in [PCIM]), SimplePolicyAction (defined in classes PolicyAction (defined in [PCIM]), SimplePolicyAction (defined in
[PCIMe]) and several QoS actions defined in this document that are [PCIMe]) and several QoS actions defined in this document that are
derived from both of these classes, which are described below. derived from both of these classes, which are described below.
Note that there is no discussion of PolicyRule, PolicyGroup, or Note that there is no discussion of PolicyRule, PolicyGroup, or
skipping to change at line 1240 skipping to change at page 26, line 5
class and its subclasses. This set of actions also includes QoS class and its subclasses. This set of actions also includes QoS
admission control actions, which use the QoSPolicyAdmissionAction class admission control actions, which use the QoSPolicyAdmissionAction class
and its subclasses. The third group of actions control bandwidth and its subclasses. The third group of actions control bandwidth
allocation and congestion control differentiations, which together allocation and congestion control differentiations, which together
specify the per-hop behavior forwarding treatment. This group of actions specify the per-hop behavior forwarding treatment. This group of actions
includes the QoSPolicyPHBAction class and its subclasses. The fourth QoS includes the QoSPolicyPHBAction class and its subclasses. The fourth QoS
action is an unconditional packet discard action, which uses the action is an unconditional packet discard action, which uses the
QoSPolicyDiscardAction class. This action is used either by itself or as QoSPolicyDiscardAction class. This action is used either by itself or as
a building block of the QoSPolicyPoliceAction. a building block of the QoSPolicyPoliceAction.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 25
Note that some QoS actions are not directly modeled. Instead, they are Note that some QoS actions are not directly modeled. Instead, they are
modeled by using the class SimplePolicyAction with the appropriate modeled by using the class SimplePolicyAction with the appropriate
associations. For example, the three marking actions (DSCP, IPP and CoS) associations. For example, the three marking actions (DSCP, IPP and CoS)
are modeled by using the SimplePolicyAction class, and associating that are modeled by using the SimplePolicyAction class, and associating that
class with variables and values of the appropriate type defined in class with variables and values of the appropriate type defined in
[PCIMe]. [PCIMe].
3.2 RSVP Policy Actions 3.2 RSVP Policy Actions
There are three types of decisions a PDP (either remote or within a PEP) There are three types of decisions a PDP (either remote or within a PEP)
skipping to change at line 1292 skipping to change at page 27, line 5
interpreted as a COPS Stateless Decision, controlling the admission interpreted as a COPS Stateless Decision, controlling the admission
parameters. If both of these actions are required, this can be done by parameters. If both of these actions are required, this can be done by
assigning the value REPLACEANDSTATELESS to the qpRSVPActionType assigning the value REPLACEANDSTATELESS to the qpRSVPActionType
property. property.
This class is modeled to represent the COPS for RSVP Replace and This class is modeled to represent the COPS for RSVP Replace and
Stateless decisions. This similarity allows future use of these COPS Stateless decisions. This similarity allows future use of these COPS
decisions to be directly controlled by a QoSPolicySimpleAction. The only decisions to be directly controlled by a QoSPolicySimpleAction. The only
required extension might be the definition of a new RSVP variable. required extension might be the definition of a new RSVP variable.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 26
3.2.1. Example: Controlling COPS Stateless Decision 3.2.1. Example: Controlling COPS Stateless Decision
The QoSPolicyRSVPSimpleAction allows the specification of admission The QoSPolicyRSVPSimpleAction allows the specification of admission
parameters. It allows specification of the preemption priority [RFC2751] parameters. It allows specification of the preemption priority [RFC3181]
of a given RSVP Reservation request. Using the preemption priority of a given RSVP Reservation request. Using the preemption priority
value, the PEP can determine the importance of a Reservation compared value, the PEP can determine the importance of a Reservation compared
with already admitted reservations, and if necessary can preempt lower with already admitted reservations, and if necessary can preempt lower
priority reservations to make room for the higher priority one. This priority reservations to make room for the higher priority one. This
class can also be used to control mapping of RSVP requests to a class can also be used to control mapping of RSVP requests to a
differentiated services domain by setting the differentiated services domain by setting the
QoSPolicyRSVPDCLASSVariable to the required value. This instructs the QoSPolicyRSVPDCLASSVariable to the required value. This instructs the
PEP to mark traffic matching the Session and Sender specifications PEP to mark traffic matching the Session and Sender specifications
carried in an RSVP request to a given DSCP value. carried in an RSVP request to a given DSCP value.
3.2.2. Example: Controlling the COPS Replace Decision 3.2.2. Example: Controlling the COPS Replace Decision
A Policy system should be able to control the information carried in the A Policy system should be able to control the information carried in the
RSVP messages. The QoSPolicyRSVPSimpleAction allows control of the RSVP messages. The QoSPolicyRSVPSimpleAction allows control of the
content of RSVP signaling messages. An RSVP message can carry a content of RSVP signaling messages. An RSVP message can carry a
preemption policy object [RFC2751] specifying the priority of the preemption policy object [RFC3181] specifying the priority of the
reservation request in comparison to other requests. An RSVP message can reservation request in comparison to other requests. An RSVP message can
also carry a policy object for authentication purposes. An RSVP message also carry a policy object for authentication purposes. An RSVP message
can carry a DCLASS [DCLASS] object that specifies to the receiver or can carry a DCLASS [DCLASS] object that specifies to the receiver or
sender the particular DSCP value that should be set on the data traffic. sender the particular DSCP value that should be set on the data traffic.
A COPS for RSVP Replacement Data Decision controls the content of the A COPS for RSVP Replacement Data Decision controls the content of the
RSVP message by specifying a set of RSVP objects replacing or removing RSVP message by specifying a set of RSVP objects replacing or removing
the existing ones. the existing ones.
3.3 Provisioning Policy Actions 3.3 Provisioning Policy Actions
skipping to change at line 1346 skipping to change at page 28, line 5
advance. This usually means that PEPs need to be provisioned with the advance. This usually means that PEPs need to be provisioned with the
set of policy rules in advance. set of policy rules in advance.
Policing and Shaping actions are modeled as subclasses of the QoS Policing and Shaping actions are modeled as subclasses of the QoS
admission action. DSCP and CoS marking are modeled by using the admission action. DSCP and CoS marking are modeled by using the
SimplePolicyAction ([PCIMe]) class associated with the appropriate SimplePolicyAction ([PCIMe]) class associated with the appropriate
variables and values. Bandwidth allocation and congestion control variables and values. Bandwidth allocation and congestion control
actions are modeled as subclasses of the QpQPolicyPHBAction, which is actions are modeled as subclasses of the QpQPolicyPHBAction, which is
itself a subclass PolicyAction class ([PCIM]) itself a subclass PolicyAction class ([PCIM])
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 27
3.3.1. Admission Actions: Controlling Policers and Shapers 3.3.1. Admission Actions: Controlling Policers and Shapers
Admission Actions (QoSPolicyAdmissionAction and its subclasses) are used Admission Actions (QoSPolicyAdmissionAction and its subclasses) are used
to police and/or shape traffic. to police and/or shape traffic.
Each Admission Action is bound to a traffic profile (QoSPolicyTrfcProf) Each Admission Action is bound to a traffic profile (QoSPolicyTrfcProf)
via the QoSPolicyTrfcProfInAdmissionAction association. The traffic via the QoSPolicyTrfcProfInAdmissionAction association. The traffic
profile is used to meter traffic for purposes of policing or shaping. profile is used to meter traffic for purposes of policing or shaping.
An Admission Action carries a scope property (qpAdmissionScope) that is An Admission Action carries a scope property (qpAdmissionScope) that is
skipping to change at line 1397 skipping to change at page 29, line 5
police actions that, in a pseudo-formal definition, looks like the police actions that, in a pseudo-formal definition, looks like the
following: following:
If (HTTP) Action1=police, Traffic Profile1=64kb/s, Scope1=flow If (HTTP) Action1=police, Traffic Profile1=64kb/s, Scope1=flow
Action2=police, Traffic Profile2=512kb/s, Scope2=class Action2=police, Traffic Profile2=512kb/s, Scope2=class
The provisioned policing action QoSPolicyPoliceAction has three The provisioned policing action QoSPolicyPoliceAction has three
associations, QoSPolicyConformAction, QoSPolicyExceedAction and associations, QoSPolicyConformAction, QoSPolicyExceedAction and
QoSPolicyViolateAction. QoSPolicyViolateAction.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 28
To accomplish the desired result stated above, two possible modeling To accomplish the desired result stated above, two possible modeling
techniques may be used: The two actions can be part of a single policy techniques may be used: The two actions can be part of a single policy
rule using two PolicyActionInPolicyRule [PCIM] associations. In this rule using two PolicyActionInPolicyRule [PCIM] associations. In this
case the ExecutionStrategy property of the PolicyRule class [PCIMe] case the ExecutionStrategy property of the PolicyRule class [PCIMe]
SHOULD be set to "Do All" so that both individual flows and aggregate SHOULD be set to "Do All" so that both individual flows and aggregate
streams are policed. streams are policed.
Alternatively, Action1 and Action2 could be aggregated in a Alternatively, Action1 and Action2 could be aggregated in a
CompundPolicyAction instance using the PolicyActionInPolicyAction CompundPolicyAction instance using the PolicyActionInPolicyAction
aggregations [PCIMe]. In this case, in order for both individual flows aggregations [PCIMe]. In this case, in order for both individual flows
skipping to change at line 1447 skipping to change at page 30, line 5
performed are determined by the associations QoSPolicyXXXAction. performed are determined by the associations QoSPolicyXXXAction.
Shapers are used to delay some or all of the packets in a traffic Shapers are used to delay some or all of the packets in a traffic
stream, in order to bring the stream into compliance with a traffic stream, in order to bring the stream into compliance with a traffic
profile. A shaper usually has a finite-sized buffer, and packets may be profile. A shaper usually has a finite-sized buffer, and packets may be
discarded if there is not sufficient buffer space to hold the delayed discarded if there is not sufficient buffer space to hold the delayed
packets. Shaping is controlled by the QoSPolicyShapeAction class. The packets. Shaping is controlled by the QoSPolicyShapeAction class. The
only required association is a traffic profile that specifies the rate only required association is a traffic profile that specifies the rate
and burst parameters that the outgoing flows should conform with. and burst parameters that the outgoing flows should conform with.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 29
3.3.2 Controlling Markers 3.3.2 Controlling Markers
Three types of marking control actions are modeled in QPIM: Three types of marking control actions are modeled in QPIM:
Differentiated Services Code Point (DSCP) assignment, IP Precedence Differentiated Services Code Point (DSCP) assignment, IP Precedence
(IPP) assignment and layer-2 Class of Service (CoS) assignment. These (IPP) assignment and layer-2 Class of Service (CoS) assignment. These
assignment actions themselves are modeled by using the assignment actions themselves are modeled by using the
SimplePolicyAction class associated with the appropriate variables and SimplePolicyAction class associated with the appropriate variables and
values. values.
DSCP assignment sets ("marks" or "colors") the DS field of a packet DSCP assignment sets ("marks" or "colors") the DS field of a packet
skipping to change at line 1493 skipping to change at page 31, line 5
CoS assignments control the mapping of a per-hop behavior to a layer-2 CoS assignments control the mapping of a per-hop behavior to a layer-2
Class of Service. For example, mapping of a set of DSCP values into a Class of Service. For example, mapping of a set of DSCP values into a
802.1p user priority value can be specified using a rule with a 802.1p user priority value can be specified using a rule with a
condition describing the set of DSCP values, and a CoS assignment action condition describing the set of DSCP values, and a CoS assignment action
that specifies the required mapping to the given user priority value. that specifies the required mapping to the given user priority value.
The semantics of the CoS assignment is encapsulated in the pairing of a The semantics of the CoS assignment is encapsulated in the pairing of a
CoS variable and a CoS value (integer in the range of 0 through 7) CoS variable and a CoS value (integer in the range of 0 through 7)
within a single SimplePolicyAction instance via the appropriate within a single SimplePolicyAction instance via the appropriate
associations. associations.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 30
3.3.3 Controlling Edge Policies - Examples 3.3.3 Controlling Edge Policies - Examples
Assuming that the AF1 behavior aggregate is enforced within a DS domain, Assuming that the AF1 behavior aggregate is enforced within a DS domain,
policy rules on the boundaries of the network should mark packets to one policy rules on the boundaries of the network should mark packets to one
of the AF1x DSCPs, depending on the conformance of the traffic to a of the AF1x DSCPs, depending on the conformance of the traffic to a
predetermined three-parameter traffic profile. QPIM models such AF1 predetermined three-parameter traffic profile. QPIM models such AF1
policing action as defined in Figure 3. policing action as defined in Figure 3.
+-----------------------+ +------------------------------+ +-----------------------+ +------------------------------+
| QoSPolicyPoliceAction |====| QoSPolicyTokenBucketTrfcProf | | QoSPolicyPoliceAction |====| QoSPolicyTokenBucketTrfcProf |
skipping to change at line 1545 skipping to change at page 32, line 5
action. Each SimplePolicyAction uses the aggregation action. Each SimplePolicyAction uses the aggregation
PolicyVariableInSimplePolicyAction to specify that the associated PolicyVariableInSimplePolicyAction to specify that the associated
PolicyDSCPVariable is set to the appropriate integer value. This is PolicyDSCPVariable is set to the appropriate integer value. This is
done using the PolicyValueInSimplePolicyAction aggregation. The three done using the PolicyValueInSimplePolicyAction aggregation. The three
PolicyVariableInSimplePolicyAction aggregations which connect the PolicyVariableInSimplePolicyAction aggregations which connect the
appropriate SimplePolicyActions with the appropriate DSCP Variables, are appropriate SimplePolicyActions with the appropriate DSCP Variables, are
not shown in this figure for simplicity. AF11 is marked on detecting not shown in this figure for simplicity. AF11 is marked on detecting
conforming traffic; AF12 is marked on detecting exceeding traffic, and conforming traffic; AF12 is marked on detecting exceeding traffic, and
AF13 on detecting violating traffic. AF13 on detecting violating traffic.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 31
The second example, shown in Figure 4, is the simplest policing action. The second example, shown in Figure 4, is the simplest policing action.
Traffic below a two-parameter traffic profile is unmodified, while Traffic below a two-parameter traffic profile is unmodified, while
traffic exceeding the traffic profile is discarded. traffic exceeding the traffic profile is discarded.
+-----------------------+ +------------------------------+ +-----------------------+ +------------------------------+
| QoSPolicyPoliceAction |====| QoSPolicyTokenBucketTrfcProf | | QoSPolicyPoliceAction |====| QoSPolicyTokenBucketTrfcProf |
| scope = class | | rate = x, bc = y | | scope = class | | rate = x, bc = y |
+-----------------------+ +------------------------------+ +-----------------------+ +------------------------------+
@ @
@ @
skipping to change at line 1598 skipping to change at page 33, line 5
QoSPolicyBandwidthAction class is used to control bandwidth, delay and QoSPolicyBandwidthAction class is used to control bandwidth, delay and
forwarding behavior, while the QoSPolicyCongestionControlAction class is forwarding behavior, while the QoSPolicyCongestionControlAction class is
used to control queue size, thresholds and congestion algorithms. The used to control queue size, thresholds and congestion algorithms. The
qpMaxPacketSize property of the QoSPolicyPHBAction class specifies the qpMaxPacketSize property of the QoSPolicyPHBAction class specifies the
packet size in bytes, and is needed when translating the bandwidth and packet size in bytes, and is needed when translating the bandwidth and
congestion control actions into actual implementation configurations. congestion control actions into actual implementation configurations.
For example, an implementation measuring queue length in bytes will need For example, an implementation measuring queue length in bytes will need
to use this property to map the qpQueueSize property into the desired to use this property to map the qpQueueSize property into the desired
queue length in bytes. queue length in bytes.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 32
3.4.1 Controlling Bandwidth and Delay 3.4.1 Controlling Bandwidth and Delay
QoSPolicyBandwidthAction allows specifying the minimal bandwidth that QoSPolicyBandwidthAction allows specifying the minimal bandwidth that
should be reserved for a class of traffic. The property qpMinBandwidth should be reserved for a class of traffic. The property qpMinBandwidth
can be specified either in Kb/sec or as a percentage of the total can be specified either in Kb/sec or as a percentage of the total
available bandwidth. The property qpBandwidthUnits is used to determine available bandwidth. The property qpBandwidthUnits is used to determine
whether percentages or fixed values are used. whether percentages or fixed values are used.
The property qpForwardingPriority is used whenever preemptive forwarding The property qpForwardingPriority is used whenever preemptive forwarding
is required. A policy rule that defines the EF PHB should indicate a is required. A policy rule that defines the EF PHB should indicate a
skipping to change at line 1647 skipping to change at page 34, line 5
thresholds and congestion control algorithms. thresholds and congestion control algorithms.
A PEP should be able to keep in its queues qpQueueSize packets matching A PEP should be able to keep in its queues qpQueueSize packets matching
the rule's condition. In order to provide a link-speed independent queue the rule's condition. In order to provide a link-speed independent queue
size, the qpQueueSize property can also be measured in milliseconds. The size, the qpQueueSize property can also be measured in milliseconds. The
time interval specifies the time needed to transmit all packets within time interval specifies the time needed to transmit all packets within
the queue if the link speed is dedicated entirely for transmission of the queue if the link speed is dedicated entirely for transmission of
packets within this queue. The property qpQueueSizeUnit determines packets within this queue. The property qpQueueSizeUnit determines
whether queue size is measured in number of packets or in milliseconds. whether queue size is measured in number of packets or in milliseconds.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 33
The property qpDropMethod selects either tail-drop, head-drop or random- The property qpDropMethod selects either tail-drop, head-drop or random-
drop algorithms. The set of maximum and minimum threshold values can be drop algorithms. The set of maximum and minimum threshold values can be
specified as well, using qpDropMinThresholdValue and specified as well, using qpDropMinThresholdValue and
qpDropMaxThresholdValue properties, either in packets or in percentage qpDropMaxThresholdValue properties, either in packets or in percentage
of the total available queue size as specified by the of the total available queue size as specified by the
qpDropThresholdUnits property. qpDropThresholdUnits property.
3.4.3 Using Hierarchical Policies: Examples for PHB Actions 3.4.3 Using Hierarchical Policies: Examples for PHB Actions
Hierarchical policy definition is a primary tool in the QoS Policy Hierarchical policy definition is a primary tool in the QoS Policy
skipping to change at line 1694 skipping to change at page 34, line 50
The class instances below specify the set of actions used to describe The class instances below specify the set of actions used to describe
each of the PHBs. Queue sizes are not specified, but can easily be added each of the PHBs. Queue sizes are not specified, but can easily be added
to the example. to the example.
The actions used to describe the Best Effort PHB are simple. No The actions used to describe the Best Effort PHB are simple. No
bandwidth is allocated to Best Effort traffic. The first action bandwidth is allocated to Best Effort traffic. The first action
specifies that Best Effort traffic class should have fairness. specifies that Best Effort traffic class should have fairness.
QoSPolicyBandwidthAction BE-B: QoSPolicyBandwidthAction BE-B:
qpFairness: True qpFairness: TRUE
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 34
The second action specifies that the congestion algorithm for the Best The second action specifies that the congestion algorithm for the Best
Effort traffic class should be random, and specifies the thresholds in Effort traffic class should be random, and specifies the thresholds in
percentage of the default queue size. percentage of the default queue size.
QoSPolicyCongestionControlAction BE-C: QoSPolicyCongestionControlAction BE-C:
qpDropMethod: random qpDropMethod: random
qpDropThresholdUnits % qpDropThresholdUnits %
qpDropMinThreshold: 10% qpDropMinThreshold: 10%
qpDropMaxThreshold: 70% qpDropMaxThreshold: 70%
EF requires preemptive forwarding. The maximum bandwidth is also EF requires preemptive forwarding. The maximum bandwidth is also
specified to make sure that the EF class does not starve the other specified to make sure that the EF class does not starve the other
classes. EF PHB uses tail drop as the applications using EF are supposed classes. EF PHB uses tail drop as the applications using EF are supposed
to be UDP-based and therefore would not benefit from a random dropper. to be UDP-based and therefore would not benefit from a random dropper.
QoSPolicyBandwidthAction EF-B: QoSPolicyBandwidthAction EF-B:
qpForwardingPriority: 1 qpForwardingPriority: 1
qpBandwidthUnits: % qpBandwidthUnits: %
qpMaxBandwidth 50% qpMaxBandwidth 50%
qpFairness: False qpFairness: FALSE
QoSPolicyCongestionControlAction EF-C: QoSPolicyCongestionControlAction EF-C:
qpDropMethod: tail-drop qpDropMethod: tail-drop
qpDropThresholdUnits packet qpDropThresholdUnits packet
qpDropMaxThreshold: 3 packets qpDropMaxThreshold: 3 packets
The AF1 actions define the bandwidth allocations for the entire PHB The AF1 actions define the bandwidth allocations for the entire PHB
group: group:
QoSPolicyBandwidthAction AF1-B: QoSPolicyBandwidthAction AF1-B:
skipping to change at line 1748 skipping to change at page 36, line 5
qpDropThresholdUnits packet qpDropThresholdUnits packet
qpDropMinThreshold: 6 packets qpDropMinThreshold: 6 packets
qpDropMaxThreshold: 16 packets qpDropMaxThreshold: 16 packets
QoSPolicyCongestionControlAction AF12-C: QoSPolicyCongestionControlAction AF12-C:
qpDropMethod: random qpDropMethod: random
qpDropThresholdUnits packet qpDropThresholdUnits packet
qpDropMinThreshold: 4 packets qpDropMinThreshold: 4 packets
qpDropMaxThreshold: 13 packets qpDropMaxThreshold: 13 packets
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 35
QoSPolicyCongestionControlAction AF13-C: QoSPolicyCongestionControlAction AF13-C:
qpDropMethod: random qpDropMethod: random
qpDropThresholdUnits packet qpDropThresholdUnits packet
qpDropMinThreshold: 2 packets qpDropMinThreshold: 2 packets
qpDropMaxThreshold: 10 packets qpDropMaxThreshold: 10 packets
4. Traffic Profiles 4. Traffic Profiles
Meters measure the temporal state of a flow or a set of flows against a Meters measure the temporal state of a flow or a set of flows against a
traffic profile. In this document, traffic profiles are modeled by the traffic profile. In this document, traffic profiles are modeled by the
QoSPolicyTrfcProf class. The association QoSPolicyTrfcProf class. The association
QoSPolicyTrfcProfileInAdmissionAction binds the traffic profile to the QoSPolicyTrfcProf InAdmissionAction binds the traffic profile to the
admission action using it. Two traffic profiles are derived from the admission action using it. Two traffic profiles are derived from the
abstract class QoSPolicyTrfcProf. The first is a Token Bucket abstract class QoSPolicyTrfcProf. The first is a Token Bucket
provisioning traffic profile carrying rate and burst parameters. The provisioning traffic profile carrying rate and burst parameters. The
second is an RSVP traffic profile, which enables flows to be compared second is an RSVP traffic profile, which enables flows to be compared
with RSVP TSPEC and FLOWSPEC parameters. with RSVP TSPEC and FLOWSPEC parameters.
4.1 Provisioning Traffic Profiles 4.1 Provisioning Traffic Profiles
Provisioned Admission Actions, including shaping and policing, are Provisioned Admission Actions, including shaping and policing, are
specified using a two- or three-parameter token bucket traffic profile. specified using a two- or three-parameter token bucket traffic profile.
skipping to change at line 1798 skipping to change at page 37, line 5
4.2 RSVP traffic profiles 4.2 RSVP traffic profiles
RSVP admission policy can condition the decision whether to accept or RSVP admission policy can condition the decision whether to accept or
deny an RSVP request based on the traffic specification of the flow deny an RSVP request based on the traffic specification of the flow
(TSPEC) or the amount of QoS resources requested (FLOWSPEC). The (TSPEC) or the amount of QoS resources requested (FLOWSPEC). The
admission decision can be based on matching individual RSVP requests admission decision can be based on matching individual RSVP requests
against a traffic profile or by matching the aggregated sum of all against a traffic profile or by matching the aggregated sum of all
FLOWSPECs (TSPECs) currently admitted, as determined by the FLOWSPECs (TSPECs) currently admitted, as determined by the
qpAdmissionScope property in an associated QoSPolicyRSVPAdmissionAction. qpAdmissionScope property in an associated QoSPolicyRSVPAdmissionAction.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 36
The QoSPolicyIntservTrfcProf class models both such traffic profiles. The QoSPolicyIntservTrfcProf class models both such traffic profiles.
This class has the following properties: This class has the following properties:
1. Token Rate (r) measured in bits/sec 1. Token Rate (r) measured in bits/sec
2. Peak Rate (p) measured in bits/sec 2. Peak Rate (p) measured in bits/sec
3. Bucket Size (b) measured in bytes 3. Bucket Size (b) measured in bytes
4. Min Policed unit (m) measured in bytes 4. Min Policed unit (m) measured in bytes
5. Max packet size (M) measured in bytes 5. Max packet size (M) measured in bytes
6. Resv Rate (R) measured in bits/sec 6. Resv Rate (R) measured in bits/sec
7. Slack term (s) measured in microseconds 7. Slack term (s) measured in microseconds
skipping to change at line 1842 skipping to change at page 38, line 5
TSPECs as well as FLOWSPECs can be added. The sum of two TSPECs is TSPECs as well as FLOWSPECs can be added. The sum of two TSPECs is
computed by summing the rate r, the peak rate p, the bucket size b, and computed by summing the rate r, the peak rate p, the bucket size b, and
by taking the minimum value of the minimum policed unit m and the by taking the minimum value of the minimum policed unit m and the
maximum value of the maximum packet size M. GS FLOWSPECs are summed by maximum value of the maximum packet size M. GS FLOWSPECs are summed by
adding the Resv rate and minimizing the slack term s. These rules are adding the Resv rate and minimizing the slack term s. These rules are
used to compute the temporal state of admitted RSVP states matching the used to compute the temporal state of admitted RSVP states matching the
traffic class defined by the rule condition. This state is compared with traffic class defined by the rule condition. This state is compared with
the traffic profile to arrive at an admission decision when the scope of the traffic profile to arrive at an admission decision when the scope of
the QoSPolicyRSVPAdmissionAction is set to 'class'. the QoSPolicyRSVPAdmissionAction is set to 'class'.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 37
5. Pre-Defined QoS-Related Variables 5. Pre-Defined QoS-Related Variables
Pre-defined variables are necessary for ensuring interoperability among Pre-defined variables are necessary for ensuring interoperability among
policy servers and policy management tools from different vendors. The policy servers and policy management tools from different vendors. The
purpose of this section is to define frequently used variables in QoS purpose of this section is to define frequently used variables in QoS
policy domains. policy domains.
Notice that this section only adds to the variable classes as defined in Notice that this section only adds to the variable classes as defined in
[PCIMe] and reuses the mechanism defined there. [PCIMe] and reuses the mechanism defined there.
skipping to change at line 1895 skipping to change at page 38, line 56
[RSVP] objects. [RSVP] objects.
7. QoSPolicyRSVPIPProtocolVariable - The IP Protocol of the RSVP 7. QoSPolicyRSVPIPProtocolVariable - The IP Protocol of the RSVP
signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP] signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP]
objects. objects.
8. QoSPolicyRSVPIPVersionVariable - The version of the IP addresses 8. QoSPolicyRSVPIPVersionVariable - The version of the IP addresses
carrying the RSVP signaled flow, as defined in the RSVP PATH and carrying the RSVP signaled flow, as defined in the RSVP PATH and
RESV SESSION [RSVP] objects. RESV SESSION [RSVP] objects.
9. QoSPolicyRSVPDCLASSVariable - The DSCP value as defined in the 9. QoSPolicyRSVPDCLASSVariable - The DSCP value as defined in the
RSVP DCLASS [DCLASS] object. RSVP DCLASS [DCLASS] object.
10. QoSPolicyRSVPStyleVariable - The reservation style (FF, SE, WF) as 10. QoSPolicyRSVPStyleVariable - The reservation style (FF, SE, WF) as
defined in the RSVP Resv message [RSVP]. defined in the RSVP RESV message [RSVP].
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 38
11. QoSPolicyRSVPIntServVariable - The type of Integrated Service (CL, 11. QoSPolicyRSVPIntServVariable - The type of Integrated Service (CL,
GS, NULL) requested in the RSVP Reservation message, as defined in GS, NULL) requested in the RSVP Reservation message, as defined in
the FLOWSPEC RSVP Object [RSVP]. the FLOWSPEC RSVP Object [RSVP].
12. QoSPolicyRSVPMessageTypeVariable - The RSVP message type, either 12. QoSPolicyRSVPMessageTypeVariable - The RSVP message type, either
Path, Resv, PathErr or ResvErr [RSVP]. PATH, PATHTEAR, RESV, RESVTEAR, RESVERR, CONF or PATHERR [RSVP].
13. QoSPolicyRSVPPreemptionPriorityVariable - The RSVP reservation 13. QoSPolicyRSVPPreemptionPriorityVariable - The RSVP reservation
priority as defined in [RFC2751]. priority as defined in [RFC3181].
14. QoSPolicyRSVPPreemptionDefPriorityVariable - The RSVP preemption 14. QoSPolicyRSVPPreemptionDefPriorityVariable - The RSVP preemption
reservation defending priority as defined in [RFC2751]. reservation defending priority as defined in [RFC3181].
15. QoSPolicyRSVPUserVariable - The ID of the user that initiated the 15. QoSPolicyRSVPUserVariable - The ID of the user that initiated the
flow as defined in the User Locator string in the Identity Policy flow as defined in the User Locator string in the Identity Policy
Object [RFC2752]. Object [RFC3182].
16. QoSPolicyRSVPApplicationVariable - The ID of the application that 16. QoSPolicyRSVPApplicationVariable - The ID of the application that
generated the flow as defined in the application locator string in generated the flow as defined in the application locator string in
the Application policy object [RFC2872]. the Application policy object [RFC2872].
17. QoSPolicyRSVPAuthMethodVariable - The RSVP Authentication type 17. QoSPolicyRSVPAuthMethodVariable - The RSVP Authentication type
used in the Identity Policy Object [RFC2752]. used in the Identity Policy Object [RFC3182].
Each class restricts the possible value types associated with a specific Each class restricts the possible value types associated with a specific
variable. For example, the QoSPolicyRSVPSourcePortVariable class is used variable. For example, the QoSPolicyRSVPSourcePortVariable class is used
to define the source port of the RSVP signaled flow. The value to define the source port of the RSVP signaled flow. The value
associated with this variable is of type PolicyIntegerValue. associated with this variable is of type PolicyIntegerValue.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 39
6. QoS Related Values 6. QoS Related Values
Values are used in the information model as building blocks for the Values are used in the information model as building blocks for the
policy conditions and policy actions, as described in [PCIM] and policy conditions and policy actions, as described in [PCIM] and
[PCIMe]. This section defines a set of auxiliary values that are used [PCIMe]. This section defines a set of auxiliary values that are used
for QoS policies as well as other policy domains. for QoS policies as well as other policy domains.
All value classes extend the PolicyValue class [PCIMe]. The subclasses All value classes extend the PolicyValue class [PCIMe]. The subclasses
specify specific data/value types that are not defined in [PCIMe]. specify specific data/value types that are not defined in [PCIMe].
This document defines the following two subclasses of the PolicyValue This document defines the following two subclasses of the PolicyValue
class: class:
QoSPolicyDNValue - This class is used to represent a single or set of QoSPolicyDNValue - This class is used to represent a single or set of
Distinguished Name [DNDEF] values, including Distinguished Name [DNDEF] values, including
wildcards. A Distinguished Name is a name that can wildcards. A Distinguished Name is a name that can
be used as a key to retrieve an object from a be used as a key to retrieve an object from a
directory service. This value can be used in directory service. This value can be used in
comparison to reference values carried in RSVP comparison to reference values carried in RSVP
policy objects, as specified in [RFC2752]. This policy objects, as specified in [RFC3182]. This
class is defined in Section 8.31. class is defined in Section 8.31.
QoSPolicyAttributeValue - A condition term uses the form "Variable QoSPolicyAttributeValue - A condition term uses the form "Variable
matches Value", and an action term uses matches Value", and an action term uses
the form "set Variable to Value" ([PCIMe]). the form "set Variable to Value" ([PCIMe]).
This class is used to represent a single or This class is used to represent a single or
set of property values for the "Value" term set of property values for the "Value" term
in either a condition or an action. in either a condition or an action.
This value can be used in conjunction with This value can be used in conjunction with
reference values carried in RSVP objects, as reference values carried in RSVP objects, as
specified in [RFC2752]. This class is specified in [RFC3182]. This class is
defined in section 8.12. defined in section 8.12.
The property name is used to specify which of the properties in the The property name is used to specify which of the properties in the
QoSPolicyAttributeValue class instance is being used in the condition or QoSPolicyAttributeValue class instance is being used in the condition or
action term. The value of this property or properties will then be action term. The value of this property or properties will then be
retrieved. In the case of a condition, a match (which is dependent on retrieved. In the case of a condition, a match (which is dependent on
the property name) will be used to see if the condition is satisfied or the property name) will be used to see if the condition is satisfied or
not. In the case of an action, the semantics are instead "set the not. In the case of an action, the semantics are instead "set the
variable to this value". variable to this value".
For example, suppose the "user" objects in the organization include For example, suppose the "user" objects in the organization include
several properties, among them: several properties, among them:
- First Name - First Name
- Last Name - Last Name
- Login Name - Login Name
- Department - Department
- Title - Title
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 40
A simple condition could be constructed to identify flows by their RSVP A simple condition could be constructed to identify flows by their RSVP
user carried policy object. The simple condition: Last Name = "Smith" to user carried policy object. The simple condition: Last Name = "Smith" to
identify a user named Bill would be constructed in the following way: identify a user named Bill would be constructed in the following way:
A SimplePolicyCondition [PCIMe] would aggregate a A SimplePolicyCondition [PCIMe] would aggregate a
QoSPolicyRSVPUserVariable [QPIM] object, via the QoSPolicyRSVPUserVariable [QPIM] object, via the
PolicyVariableInSimplePolicyCondition [PCIMe] aggregation. PolicyVariableInSimplePolicyCondition [PCIMe] aggregation.
The implicit value associated with this condition is created in the The implicit value associated with this condition is created in the
following way: following way:
skipping to change at line 2003 skipping to change at page 42, line 5
by changing the QoSPolicyAttributeValue attribute qpAttributeName to by changing the QoSPolicyAttributeValue attribute qpAttributeName to
"Department" and the qpAttributeValueList would be set to the particular "Department" and the qpAttributeValueList would be set to the particular
value that is to be matched (e.g., "engineering" or "customer support"). value that is to be matched (e.g., "engineering" or "customer support").
The logical condition would than be evaluated to true if the user belong The logical condition would than be evaluated to true if the user belong
to either the engineering department or the customer support. to either the engineering department or the customer support.
Notice that many multiple-attribute objects require the use of the Notice that many multiple-attribute objects require the use of the
QoSPolicyAttributeValue class to specify exactly which of its attributes QoSPolicyAttributeValue class to specify exactly which of its attributes
should be used in the condition match operation. should be used in the condition match operation.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 41
7. Class Definitions: Association Hierarchy 7. Class Definitions: Association Hierarchy
The following sections define associations that are specified by QPIM. The following sections define associations that are specified by QPIM.
7.1. The Association "QoSPolicyTrfcProfInAdmissionAction" 7.1. The Association "QoSPolicyTrfcProfInAdmissionAction"
This association links a QoSPolicyTrfcProf object (defined in section This association links a QoSPolicyTrfcProf object (defined in section
8.9), modeling a specific traffic profile, to a QoSPolicyAdmissionAction 8.9), modeling a specific traffic profile, to a QoSPolicyAdmissionAction
object (defined in section 8.2). The class definition for this object (defined in section 8.2). The class definition for this
association is as follows: association is as follows:
skipping to change at line 2030 skipping to change at page 42, line 30
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES Antecedent[ref QoSPolicyAdmissionAction [0..n]] PROPERTIES Antecedent[ref QoSPolicyAdmissionAction [0..n]]
Dependent[ref QoSPolicyTrfcProf [1..1]] Dependent[ref QoSPolicyTrfcProf [1..1]]
7.1.1. The Reference "Antecedent" 7.1.1. The Reference "Antecedent"
This property is inherited from the Dependency association, defined in This property is inherited from the Dependency association, defined in
[PCIM]. Its type is overridden to become an object reference to a [PCIM]. Its type is overridden to become an object reference to a
QoSPolicyAdmissionAction object. This represents the "independent" part QoSPolicyAdmissionAction object. This represents the "independent" part
of the association. The [0..n] cardinality indicates that any number of of the association. The [0..n] cardinality indicates that any number of
QoSPolicyAdmissionAction object(s) may use a given QoSPolicyTrfcProfile. QoSPolicyAdmissionAction object(s) may use a given QoSPolicyTrfcProf .
7.1.2. The Reference "Dependent" 7.1.2. The Reference "Dependent"
This property is inherited from the Dependency association, and is This property is inherited from the Dependency association, and is
overridden to become an object reference to a QoSPolicyTrfcProfile overridden to become an object reference to a QoSPolicyTrfcProf
object. This represents a specific traffic profile that is used by any object. This represents a specific traffic profile that is used by any
number of QoSPolicyAdmissionAction objects. The [1..1] cardinality means number of QoSPolicyAdmissionAction objects. The [1..1] cardinality means
that exactly one object of the QoSPolicyTrfcProfile can be used by a that exactly one object of the QoSPolicyTrfcProf can be used by a
given QoSPolicyAddmissionAction. given QoSPolicyAddmissionAction.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 42
7.2 The Association "PolicyConformAction" 7.2 The Association "PolicyConformAction"
This association links a policing action with an object defining an This association links a policing action with an object defining an
action to be applied to conforming traffic relative to the associated action to be applied to conforming traffic relative to the associated
traffic profile. The class definition for this association is as traffic profile. The class definition for this association is as
follows: follows:
NAME PolicyConformAction NAME PolicyConformAction
DESCRIPTION A class representing the association between a DESCRIPTION A class representing the association between a
policing action and the action that should be applied policing action and the action that should be applied
skipping to change at line 2094 skipping to change at page 44, line 5
NAME QoSPolicyExceedAction NAME QoSPolicyExceedAction
DESCRIPTION A class representing the association between a DESCRIPTION A class representing the association between a
policing action and the action that should be applied policing action and the action that should be applied
to traffic exceeding an associated traffic profile. to traffic exceeding an associated traffic profile.
DERIVED FROM Dependency (see [PCIM]) DERIVED FROM Dependency (see [PCIM])
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES Antecedent[ref QoSPolicePoliceAction[0..n]] PROPERTIES Antecedent[ref QoSPolicePoliceAction[0..n]]
Dependent[ref PolicyAction [1..1]] Dependent[ref PolicyAction [1..1]]
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 43
7.3.1. The Reference "Antecedent" 7.3.1. The Reference "Antecedent"
This property is inherited from the Dependency association. Its type is This property is inherited from the Dependency association. Its type is
overridden to become an object reference to a QoSPolicyPoliceAction overridden to become an object reference to a QoSPolicyPoliceAction
object. This represents the "independent" part of the association. The object. This represents the "independent" part of the association. The
[0..n] cardinality indicates that any number of QoSPolicyPoliceAction [0..n] cardinality indicates that any number of QoSPolicyPoliceAction
objects may be given the same action to be executed as the exceeding objects may be given the same action to be executed as the exceeding
action. action.
7.3.2. The Reference "Dependent" 7.3.2. The Reference "Dependent"
skipping to change at line 2139 skipping to change at page 45, line 5
7.4.1. The Reference "Antecedent" 7.4.1. The Reference "Antecedent"
This property is inherited from the Dependency association. Its type is This property is inherited from the Dependency association. Its type is
overridden to become an object reference to a QoSPolicyPoliceAction overridden to become an object reference to a QoSPolicyPoliceAction
object. This represents the "independent" part of the association. The object. This represents the "independent" part of the association. The
[0..n] cardinality indicates that any number of QoSPolicyPoliceAction [0..n] cardinality indicates that any number of QoSPolicyPoliceAction
objects may be given the same action to be executed as the violating objects may be given the same action to be executed as the violating
action. action.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 44
7.4.2. The Reference "Dependent" 7.4.2. The Reference "Dependent"
This property is inherited from the Dependency association, and is This property is inherited from the Dependency association, and is
overridden to become an object reference to a PolicyAction object. This overridden to become an object reference to a PolicyAction object. This
represents a specific policy action that is used by a given represents a specific policy action that is used by a given
QoSPolicyPoliceAction. The [1..1] cardinality means that exactly one QoSPolicyPoliceAction. The [1..1] cardinality means that exactly one
policy action can be used as the "violate" action by a policy action can be used as the "violate" action by a
QoSPolicyPoliceAction. To execute more than one violating action, use QoSPolicyPoliceAction. To execute more than one violating action, use
the PolicyCompoundAction class to model the conforming action. the PolicyCompoundAction class to model the conforming action.
skipping to change at line 2163 skipping to change at page 45, line 27
A simple RSVP policy action is represented as a pair {variable, value}. A simple RSVP policy action is represented as a pair {variable, value}.
This aggregation provides the linkage between a This aggregation provides the linkage between a
QoSPolicyRSVPSimpleAction instance and a single QoSPolicyRSVPVariable. QoSPolicyRSVPSimpleAction instance and a single QoSPolicyRSVPVariable.
The aggregation PolicyValueInSimplePolicyAction links the The aggregation PolicyValueInSimplePolicyAction links the
QoSPolicyRSVPSimpleAction to a single PolicyValue. QoSPolicyRSVPSimpleAction to a single PolicyValue.
The class definition for this aggregation is as follows: The class definition for this aggregation is as follows:
NAME QoSPolicyRSVPVariableInRSVPSimplePolicyAction NAME QoSPolicyRSVPVariableInRSVPSimplePolicyAction
DERIVED FROM PolicyVariableInSimplePolicyAction DERIVED FROM PolicyVariableInSimplePolicyAction
ABSTRACT False ABSTRACT FALSE
PROPERTIES GroupComponent[ref QoSPolicyRSVPSimpleAction PROPERTIES GroupComponent[ref QoSPolicyRSVPSimpleAction
[0..n]] [0..n]]
PartComponent[ref QoSPolicyRSVPVariable [1..1] ] PartComponent[ref QoSPolicyRSVPVariable [1..1] ]
7.5.1. The Reference "GroupComponent" 7.5.1. The Reference "GroupComponent"
The reference property "GroupComponent" is inherited from The reference property "GroupComponent" is inherited from
PolicyComponent, and overridden to become an object reference to a PolicyComponent, and overridden to become an object reference to a
QoSPolicyRSVPSimpleAction that contains exactly one QoSPolicyRSVPSimpleAction that contains exactly one
QoSPolicyRSVPVariable. Note that for any single instance of the QoSPolicyRSVPVariable. Note that for any single instance of the
skipping to change at line 2191 skipping to change at page 46, line 5
The reference property "PartComponent" is inherited from The reference property "PartComponent" is inherited from
PolicyComponent, and overridden to become an object reference to a PolicyComponent, and overridden to become an object reference to a
QoSPolicyRSVPVariable that is defined within the scope of a QoSPolicyRSVPVariable that is defined within the scope of a
QoSPolicyRSVPSimpleAction. Note that for any single instance of the QoSPolicyRSVPSimpleAction. Note that for any single instance of the
association class QoSPolicyRSVPVariableInRSVPSimplePolicyAction, this association class QoSPolicyRSVPVariableInRSVPSimplePolicyAction, this
property (like all reference properties) is single-valued. The [1..1] property (like all reference properties) is single-valued. The [1..1]
cardinality indicates that a cardinality indicates that a
QoSPolicyRSVPVariableInRSVPSimplePolicyAction must have exactly one RSVP QoSPolicyRSVPVariableInRSVPSimplePolicyAction must have exactly one RSVP
variable defined within its scope in order to be meaningful. variable defined within its scope in order to be meaningful.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 45
8. Class Definitions: Inheritance Hierarchy 8. Class Definitions: Inheritance Hierarchy
The following sections define object classes that are specified by QPIM. The following sections define object classes that are specified by QPIM.
8.1. The Class QoSPolicyDiscardAction 8.1. The Class QoSPolicyDiscardAction
This class is used to specify that packets should be discarded. This is 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 the same as stating that packets should be denied forwarding. The class
definition is as follows: definition is as follows:
NAME QoSPolicyDiscardAction NAME QoSPolicyDiscardAction
DESCRIPTION This action specifies that packets should be discarded. DESCRIPTION This action specifies that packets should be discarded.
DERIVED FROM PolicyAction (defined in [PCIM]) DERIVED FROM PolicyAction (defined in [PCIM])
ABSTRACT False ABSTRACT FALSEFALSE
PROPERTIES None PROPERTIES None
8.2. The Class QoSPolicyAdmissionAction 8.2. The Class QoSPolicyAdmissionAction
This class is the base class for performing admission decisions based on 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 a comparison of a meter measuring the temporal behavior of a flow or a
set of flow with a traffic profile. The qpAdmissionScope property set of flow with a traffic profile. The qpAdmissionScope property
controls whether the comparison is done per flow or per class (of controls whether the comparison is done per flow or per class (of
flows). Only packets that conform to the traffic profile are admitted flows). Only packets that conform to the traffic profile are admitted
for further processing; other packets are discarded. The class for further processing; other packets are discarded. The class
definition is as follows: definition is as follows:
NAME QoSPolicyAdmissionAction NAME QoSPolicyAdmissionAction
DESCRIPTION This action controls admission decisions based on DESCRIPTION This action controls admission decisions based on
comparison of a meter to a traffic profile. comparison of a meter to a traffic profile.
DERIVED FROM PolicyAction (defined in [PCIM]) DERIVED FROM PolicyAction (defined in [PCIM])
ABSTRACT False ABSTRACT FALSEFALSE
PROPERTIES qpAdmissionScope PROPERTIES qpAdmissionScope
8.2.1. The Property qpAdmissionScope 8.2.1. The Property qpAdmissionScope
This attribute specifies whether the admission decision is done per flow 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 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 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 against the traffic profile. If the scope is set to "class", the
aggregate actual or requested rate of all flows matching the rule aggregate actual or requested rate of all flows matching the rule
condition is measured against the traffic profile. The property is condition is measured against the traffic profile. The property is
defined as follows: defined as follows:
NAME qpAdmissionScope NAME qpAdmissionScope
DESCRIPTION This property specifies whether the admission decision is DESCRIPTION This property specifies whether the admission decision is
done per flow or per the entire class of flows done per flow or per the entire class of flows
SYNTAX Integer SYNTAX Integer
VALUE This is an enumerated integer. A value of 0 specifies that 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 admission is done on a per-flow basis, and a value of 1
specifies that admission is done on a per-class basis. specifies that admission is done on a per-class basis.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 46
8.3. The Class QoSPolicyPoliceAction 8.3. The Class QoSPolicyPoliceAction
This is used for defining policing actions (i.e., those actions that This is used for defining policing actions (i.e., those actions that
restrict traffic based on a comparison with a traffic profile). Using restrict traffic based on a comparison with a traffic profile). Using
the three associations QoSPolicyConformAction, QoSPolicyExceedAction and the three associations QoSPolicyConformAction, QoSPolicyExceedAction and
QoSPolicyViolateAction, it is possible to specify different actions to QoSPolicyViolateAction, it is possible to specify different actions to
take based on whether the traffic is conforming, exceeding, or violating take based on whether the traffic is conforming, exceeding, or violating
a traffic profile. The traffic profile is specified in a subclass of the a traffic profile. The traffic profile is specified in a subclass of the
QoSPolicyTrfcProf class. The class definition is as follows: QoSPolicyTrfcProf class. The class definition is as follows:
NAME QoSPolicyPoliceAction NAME QoSPolicyPoliceAction
DESCRIPTION This action controls the operation of policers. The rate of DESCRIPTION This action controls the operation of policers. The rate of
flows is measured against a traffic profile. The actions flows is measured against a traffic profile. The actions
that need to be performed on conforming, exceeding and that need to be performed on conforming, exceeding and
violating traffic are indicated using the conform, exceed violating traffic are indicated using the conform, exceed
and violate action associations. and violate action associations.
DERIVED FROM QoSPolicyAdmissionAction (defined in this document) DERIVED FROM QoSPolicyAdmissionAction (defined in this document)
ABSTRACT False ABSTRACT FALSEFALSE
PROPERTIES None PROPERTIES None
8.4. The Class QoSPolicyShapeAction 8.4. The Class QoSPolicyShapeAction
This class is used for defining shaping actions. Shapers are used to 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 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. particular traffic stream into compliance with a given traffic profile.
The traffic profile is specified in a subclass of the QoSPolicyTrfcProf The traffic profile is specified in a subclass of the QoSPolicyTrfcProf
class. The class definition is as follows: class. The class definition is as follows:
NAME QoSPolicyShapeAction NAME QoSPolicyShapeAction
DESCRIPTION This action indicate that traffic should be shaped to be DESCRIPTION This action indicate that traffic should be shaped to be
conforming with a traffic profile. conforming with a traffic profile.
DERIVED FROM QoSPolicyAdmissionAction (defined in this document) DERIVED FROM QoSPolicyAdmissionAction (defined in this document)
ABSTRACT False ABSTRACT FALSEFALSE
PROPERTIES None PROPERTIES None
8.5. The Class QoSPolicyRSVPAdmissionAction 8.5. The Class QoSPolicyRSVPAdmissionAction
This class determines whether to accept or reject a given RSVP request This class determines whether to accept or reject a given RSVP request
by comparing the RSVP request's TSPEC or RSPEC parameters against the by comparing the RSVP request's TSPEC or RSPEC parameters against the
associated traffic profile and/or by enforcing the pre-set maximum associated traffic profile and/or by enforcing the pre-set maximum
sessions limit. The traffic profile is specified in the sessions limit. The traffic profile is specified in the
QoSPolicyIntServTrfcProf class. This class inherits the QoSPolicyIntServTrfcProf class. This class inherits the
qpAdmissionScope property from its superclass. This property specifies qpAdmissionScope property from its superclass. This property specifies
whether admission should be done on a per-flow or per-class basis. If 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 the traffic profile is not larger than or equal to the requested
reservation, or to the sum of the admitted reservation merged with the reservation, or to the sum of the admitted reservation merged with the
requested reservation, the result is a deny decision. If no traffic requested reservation, the result is a deny decision. If no traffic
profile is specified, the assumption is that all traffic can be profile is specified, the assumption is that all traffic can be
admitted. admitted.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 47
The class definition is as follows: The class definition is as follows:
NAME QoSPolicyRSVPAdmissionAction NAME QoSPolicyRSVPAdmissionAction
DESCRIPTION This action controls the admission of RSVP requests. DESCRIPTION This action controls the admission of RSVP requests.
Depending on the scope, either a single RSVP request or the Depending on the scope, either a single RSVP request or the
total admitted RSVP requests matching the conditions are total admitted RSVP requests matching the conditions are
compared against a traffic profile. compared against a traffic profile.
DERIVED FROM QoSPolicyAdmissionAction (defined in this document) DERIVED FROM QoSPolicyAdmissionAction (defined in this document)
ABSTRACT False ABSTRACT FALSEFALSE
PROPERTIES qpRSVPWarnOnly, qpRSVPMaxSessions PROPERTIES qpRSVPWarnOnly, qpRSVPMaxSessions
8.5.1. The Property qpRSVPWarnOnly 8.5.1. The Property qpRSVPWarnOnly
This property is applicable when fulfilling ("admitting") an RSVP This property is applicable when fulfilling ("admitting") an RSVP
request would violate the policer (traffic profile) limits or when the request would violate the policer (traffic profile) limits or when the
maximum number session would be exceeded (or both). maximum number session would be exceeded (or both).
When this property is set to True, the RSVP request is admitted in spite 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 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 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 would be denied and an error message would be sent back to the
originator. So the meaning of the qpWarnOnly flag is: Based on originator. So the meaning of the qpWarnOnly flag is: Based on
property's value (True or False), determine whether to admit but warn 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 the originator that the request is in violation or to deny the request
altogether (and send back an error). altogether (and send back an error).
Specifically, a PathErr (in response to a Path message) or a ResvErr (in 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 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 send error flag in the Decision Flags object. This property is defined
as follows: as follows:
NAME qpRSVPWarnOnly NAME qpRSVPWarnOnly
SYNTAX Boolean SYNTAX Boolean
Default False Default FALSE
VALUE The value TRUE means that the request should be admitted AND VALUE The value TRUE means that the request should be admitted AND
an RSVP warning message should be sent to the originator. The an RSVP warning message should be sent to the originator. The
value of FALSE means that the request should be not admitted value of FALSE means that the request should be not admitted
and an appropriate error message should be sent back to the and an appropriate error message should be sent back to the
originator of the request. originator of the request.
8.5.2. The Property qpRSVPMaxSessions 8.5.2. The Property qpRSVPMaxSessions
This attribute is used to limit the total number of RSVP requests This attribute is used to limit the total number of RSVP requests
admitted for the specified class of traffic. For this property to be admitted for the specified class of traffic. For this property to be
meaningful, the qpAdmissionScope property must be set to class. The meaningful, the qpAdmissionScope property must be set to class. The
definition of this property is as follows: definition of this property is as follows:
NAME qpRSVPMaxSessions NAME qpRSVPMaxSessions
SYNTAX Integer SYNTAX Integer
VALUE Must be greater than 0. VALUE Must be greater than 0.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 48
8.6. The Class QoSPolicyPHBAction 8.6. The Class QoSPolicyPHBAction
This class is a base class that is used to define the per-hop behavior 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 that is to be assigned to behavior aggregates. It defines a common
property, qpMaxPacketSize, for use by its subclasses property, qpMaxPacketSize, for use by its subclasses
(QoSPolicyBandwidthAction and QoSPolicyCongestionControlAction). The (QoSPolicyBandwidthAction and QoSPolicyCongestionControlAction). The
class definition is as follows: class definition is as follows:
NAME QoSPolicyPHBAction NAME QoSPolicyPHBAction
DESCRIPTION This action controls the Per-Hop-Behavior provided to DESCRIPTION This action controls the Per-Hop-Behavior provided to
behavior aggregates. behavior aggregates.
DERIVED FROM PolicyAction (defined in [PCIM]) DERIVED FROM PolicyAction (defined in [PCIM])
ABSTRACT True ABSTRACT TRUE
PROPERTIES qpMaxPacketSize PROPERTIES qpMaxPacketSize
8.6.1. The Property qpMaxPacketSize 8.6.1. The Property qpMaxPacketSize
This property specifies the maximum packet size in bytes, of packets in This property specifies the maximum packet size in bytes, of packets in
the designated flow. This attribute is used in translation of QPIM the designated flow. This attribute is used in translation of QPIM
attributes to QoS mechanisms used within a PEP. For example, queue attributes to QoS mechanisms used within a PEP. For example, queue
length may be measured in bytes, while the minimum number of packets 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 that should be kept in a PEP is defined within QPIM in number of
packets. This property is defined as follows: packets. This property is defined as follows:
skipping to change at line 2388 skipping to change at page 49, line 42
8.7. The Class QoSPolicyBandwidthAction 8.7. The Class QoSPolicyBandwidthAction
This class is used to control the bandwidth, delay, and forwarding This class is used to control the bandwidth, delay, and forwarding
behavior of a PHB. Its class definition is as follows: behavior of a PHB. Its class definition is as follows:
NAME QoSPolicyBandwidthAction NAME QoSPolicyBandwidthAction
DESCRIPTION This action controls the bandwidth, delay, and DESCRIPTION This action controls the bandwidth, delay, and
forwarding characteristics of the PHB. forwarding characteristics of the PHB.
DERIVED FROM QoSPolicyPBHAction (defined in this document) DERIVED FROM QoSPolicyPBHAction (defined in this document)
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpForwardingPriority, qpBandwidthUnits, qpMinBandwdith, PROPERTIES qpForwardingPriority, qpBandwidthUnits, qpMinBandwdith,
qpMaxBandwidth, qpMaxDelay, qpMaxJitter, qpFairness qpMaxBandwidth, qpMaxDelay, qpMaxJitter, qpFairness
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 49
8.7.1. The Property qpForwardingPriority 8.7.1. The Property qpForwardingPriority
This property defines the forwarding priority for this set of flows. A This property defines the forwarding priority for this set of flows. A
non-zero value indicates that pre-emptive forwarding is required. Higher non-zero value indicates that pre-emptive forwarding is required. Higher
values represent higher forwarding priority. This property is defined as values represent higher forwarding priority. This property is defined as
follows: follows:
NAME qpForwardingPriority NAME qpForwardingPriority
SYNTAX Integer SYNTAX Integer
VALUE Must be non-negative. The value 0 means that pre-emptive VALUE Must be non-negative. The value 0 means that pre-emptive
skipping to change at line 2438 skipping to change at page 51, line 5
bandwidth) and absolute (i.e., bits/second) values can be specified bandwidth) and absolute (i.e., bits/second) values can be specified
according to the value of the qpBandwidthUnits property. This property according to the value of the qpBandwidthUnits property. This property
is defined as follows: is defined as follows:
NAME qpMinBandwidth NAME qpMinBandwidth
SYNTAX Integer SYNTAX Integer
VALUE The value must be greater than 0. If the property VALUE The value must be greater than 0. If the property
qpMaxBandwidth is defined, then the value of qpMinBandwidth qpMaxBandwidth is defined, then the value of qpMinBandwidth
must be less than or equal to the value of qpMaxBandwidth. must be less than or equal to the value of qpMaxBandwidth.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 50
8.7.4. The Property qpMaxBandwidth 8.7.4. The Property qpMaxBandwidth
This property defines the maximum bandwidth that should be allocated to This property defines the maximum bandwidth that should be allocated to
this class of traffic. Both relative (i.e., a percentage of the this class of traffic. Both relative (i.e., a percentage of the
bandwidth)and absolute (i.e., bits/second) values can be specified bandwidth)and absolute (i.e., bits/second) values can be specified
according to the value of the qpBandwidthUnits property. This property according to the value of the qpBandwidthUnits property. This property
is defined as follows: is defined as follows:
NAME qpMaxBandwidth NAME qpMaxBandwidth
SYNTAX Integer SYNTAX Integer
skipping to change at line 2487 skipping to change at page 52, line 5
This property defines whether fair queuing is required for this class of This property defines whether fair queuing is required for this class of
traffic. This property is defined as follows: traffic. This property is defined as follows:
NAME qpFairness NAME qpFairness
SYNTAX Boolean SYNTAX Boolean
VALUE The value of FALSE means that fair queuing is not required VALUE The value of FALSE means that fair queuing is not required
for this class of traffic, while the value of TRUE means for this class of traffic, while the value of TRUE means
that fair queuing is required for this class of traffic. that fair queuing is required for this class of traffic.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 51
8.8. The Class QoSPolicyCongestionControlAction 8.8. The Class QoSPolicyCongestionControlAction
This class is used to control the characteristics of the congestion This class is used to control the characteristics of the congestion
control algorithm being used. The class definition is as follows: control algorithm being used. The class definition is as follows:
NAME QoSPolicyCongestionControlAction NAME QoSPolicyCongestionControlAction
DESCRIPTION This action control congestion control characteristics of DESCRIPTION This action control congestion control characteristics of
the PHB. the PHB.
DERIVED FROM QoSPolicyPBHAction (defined in this document) DERIVED FROM QoSPolicyPBHAction (defined in this document)
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpQueueSizeUnits, qpQueueSize, qpDropMethod, PROPERTIES qpQueueSizeUnits, qpQueueSize, qpDropMethod,
qpDropThresholdUnits, qpDropMinThresholdValue, qpDropThresholdUnits, qpDropMinThresholdValue,
qpDropMaxThresholdValue qpDropMaxThresholdValue
8.8.1. The property qpQueueSizeUnits 8.8.1. The property qpQueueSizeUnits
This property specifies the units in which the qpQueueSize attribute is This property specifies the units in which the qpQueueSize attribute is
measured. The queue size is measured either in number of packets or in 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 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 all packets within the queue if the link speed is dedicated entirely to
skipping to change at line 2529 skipping to change at page 53, line 5
This property specifies the maximum queue size in packets or in This property specifies the maximum queue size in packets or in
milliseconds, depending on the value of the qpQueueSizeUnits (0 milliseconds, depending on the value of the qpQueueSizeUnits (0
specifies packets, and 1 specifies milliseconds). This property is specifies packets, and 1 specifies milliseconds). This property is
defined as follows: defined as follows:
NAME qpQueueSize NAME qpQueueSize
SYNTAX Integer SYNTAX Integer
VALUE This value must be greater than 0. VALUE This value must be greater than 0.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 52
8.8.3. The Property qpDropMethod 8.8.3. The Property qpDropMethod
This property specifies the congestion control drop algorithm that This property specifies the congestion control drop algorithm that
should be used for this type of traffic. This property is defined as should be used for this type of traffic. This property is defined as
follows: follows:
NAME qpDropMethod NAME qpDropMethod
SYNTAX Integer SYNTAX Integer
VALUES Three values are currently defined. The value 0 specifies a VALUES Three values are currently defined. The value 0 specifies a
random drop algorithm, the value 1 specifies a tail drop random drop algorithm, the value 1 specifies a tail drop
skipping to change at line 2578 skipping to change at page 54, line 5
to hold 5 packets before running the specified congestion control drop to hold 5 packets before running the specified congestion control drop
algorithm. This property is defined as follows: algorithm. This property is defined as follows:
NAME qpDropMinThresholdValue NAME qpDropMinThresholdValue
SYNTAX Integer SYNTAX Integer
VALUE This value must be greater than or equal to 0. If the VALUE This value must be greater than or equal to 0. If the
property qpDropMaxThresholdValue is defined, then the value property qpDropMaxThresholdValue is defined, then the value
of the qpDropMinThresholdValue property must be less than or of the qpDropMinThresholdValue property must be less than or
equal to the value of the qpDropMaxThresholdValue property equal to the value of the qpDropMaxThresholdValue property
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 53
8.8.6. The Property qpDropMaxThresholdValue 8.8.6. The Property qpDropMaxThresholdValue
This property specifies the maximum number of queuing and buffer This property specifies the maximum number of queuing and buffer
resources that should be reserved for this class of flows. The threshold resources that should be reserved for this class of flows. The threshold
can be specified as either relative (i.e., a percentage) or absolute can be specified as either relative (i.e., a percentage) or absolute
(i.e., number of packets or milliseconds) value according to the value (i.e., number of packets or milliseconds) value according to the value
of the qpDropThresholdUnits property. Congestion Control droppers should of the qpDropThresholdUnits property. Congestion Control droppers should
not keep more packets than the value specified in this property. Note, not keep more packets than the value specified in this property. Note,
however, that some droppers may calculate queue occupancy averages, and however, that some droppers may calculate queue occupancy averages, and
therefore the actual maximum queue resources should be larger. This therefore the actual maximum queue resources should be larger. This
skipping to change at line 2609 skipping to change at page 54, line 34
8.9. Class QoSPolicyTrfcProf 8.9. Class QoSPolicyTrfcProf
This is an abstract base class that models a traffic profile. Traffic This is an abstract base class that models a traffic profile. Traffic
profiles specify the maximum rate parameters used within admission profiles specify the maximum rate parameters used within admission
decisions. The association QoSPolicyTrfcProfInAdmissionAction binds the decisions. The association QoSPolicyTrfcProfInAdmissionAction binds the
admission decision to the traffic profile. The class definition is as admission decision to the traffic profile. The class definition is as
follows: follows:
NAME QoSPolicyTrfcProf NAME QoSPolicyTrfcProf
DERIVED FROM Policy (defined in [PCIM]) DERIVED FROM Policy (defined in [PCIM])
ABSTRACT True ABSTRACT TRUE
PROPERTIES None PROPERTIES None
8.10. Class QoSPolicyTokenBucketTrfcProf 8.10. Class QoSPolicyTokenBucketTrfcProf
This class models a two- or three-level Token Bucket traffic profile. This class models a two- or three-level Token Bucket traffic profile.
Additional profiles can be modeled by cascading multiple instances of Additional profiles can be modeled by cascading multiple instances of
this class (e.g., by connecting the output of one instance to the input 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 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 rate values to be enforced on a flow or a set of flows. The class
definition is as follows: definition is as follows:
NAME QoSPolicyTokenBucketTrfcProf NAME QoSPolicyTokenBucketTrfcProf
DERIVED FROM QoSPolicyTrfcProf (defined in this document) DERIVED FROM QoSPolicyTrfcProf (defined in this document)
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpTBRate, qpTBNormalBurst, qpTBExcessBurst PROPERTIES qpTBRate, qpTBNormalBurst, qpTBExcessBurst
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 54
8.10.1. The Property qpTBRate 8.10.1. The Property qpTBRate
This is a non-negative integer that defines the token rate in kilobits 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 per second. A rate of zero means that all packets will be out of
profile. This property is defined as follows: profile. This property is defined as follows:
NAME qpTBRate NAME qpTBRate
SYNTAX Integer SYNTAX Integer
VALUE This value must be greater than to 0 VALUE This value must be greater than to 0
skipping to change at line 2665 skipping to change at page 55, line 42
8.11. Class QoSPolicyIntServTrfcProf 8.11. Class QoSPolicyIntServTrfcProf
This class represents an IntServ traffic profile. Values of IntServ This class represents an IntServ traffic profile. Values of IntServ
traffic profiles are compared against Traffic specification (TSPEC) and traffic profiles are compared against Traffic specification (TSPEC) and
QoS Reservation (FLOWSPEC) requests carried in RSVP requests. The class QoS Reservation (FLOWSPEC) requests carried in RSVP requests. The class
definition is as follows: definition is as follows:
NAME QoSPolicyIntServTrfcProf NAME QoSPolicyIntServTrfcProf
DERIVED FROM QoSPolicyTrfcProf (defined in this document) DERIVED FROM QoSPolicyTrfcProf (defined in this document)
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpISTokenRate, qpISPeakRate, qpISBucketSize, qpISResvRate, PROPERTIES qpISTokenRate, qpISPeakRate, qpISBucketSize, qpISResvRate,
qpISResvSlack, qpISMinPolicedUnit, qpISMaxPktSize qpISResvSlack, qpISMinPolicedUnit, qpISMaxPktSize
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 55
8.11.1. The Property qpISTokenRate 8.11.1. The Property qpISTokenRate
This property is a non-negative integer that defines the token rate This property is a non-negative integer that defines the token rate
parameter, measured in kilobits per second. This property is defined as parameter, measured in kilobits per second. This property is defined as
follows: follows:
NAME qpISTokenRate NAME qpISTokenRate
SYNTAX Integer SYNTAX Integer
VALUE This value must be greater than or equal to 0 VALUE This value must be greater than or equal to 0
skipping to change at line 2720 skipping to change at page 57, line 5
8.11.5. The Property qpISResvSlack 8.11.5. The Property qpISResvSlack
This property is a non-negative integer that defines the RSVP slack term This property is a non-negative integer that defines the RSVP slack term
in the RSVP guaranteed service reservation. It is measured in in the RSVP guaranteed service reservation. It is measured in
microseconds. This property is defined as follows: microseconds. This property is defined as follows:
NAME qpISResvSlack NAME qpISResvSlack
SYNTAX Integer SYNTAX Integer
VALUE This value must be greater than or equal to 0 VALUE This value must be greater than or equal to 0
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 56
8.11.6. The Property qpISMinPolicedUnit 8.11.6. The Property qpISMinPolicedUnit
This property is a non-negative integer that defines the minimum RSVP This property is a non-negative integer that defines the minimum RSVP
policed unit, measured in bytes. This property is defined as follows: policed unit, measured in bytes. This property is defined as follows:
NAME qpISMinPolicedUnit NAME qpISMinPolicedUnit
SYNTAX Integer SYNTAX Integer
VALUE This value must be greater than or equal to 0 VALUE This value must be greater than or equal to 0
8.11.7. The Property qpISMaxPktSize 8.11.7. The Property qpISMaxPktSize
skipping to change at line 2770 skipping to change at page 57, line 53
the form "user == 'Smith'", using the QoSPolicyRSVPUserVariable class. the form "user == 'Smith'", using the QoSPolicyRSVPUserVariable class.
The user information in the RSVP message provides a DN. The DN points to 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 a user objects holding many attributes. If the relevant attribute is
"last name", we would use the QoSPolicyAttributeValue class with "last name", we would use the QoSPolicyAttributeValue class with
qpAttributeName = "Last Name", qpAttributeValueList = {"Smith"}. qpAttributeName = "Last Name", qpAttributeValueList = {"Smith"}.
The class definition is as follows: The class definition is as follows:
NAME QoSPolicyAttributeValue NAME QoSPolicyAttributeValue
DERIVED FROM PolicyValue (defined in [PCIMe]) DERIVED FROM PolicyValue (defined in [PCIMe])
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpAttributeName, qpAttributeValueList PROPERTIES qpAttributeName, qpAttributeValueList
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 57
8.12.1. The Property qpAttributeName 8.12.1. The Property qpAttributeName
This property carries the name of the attribute that is to be used to 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 substitute <x> in a simple condition or simple condition of the forms
"<x> match <y>" or "<x> = <y>" respectively. This property is defined as "<x> match <y>" or "<x> = <y>" respectively. This property is defined as
follows: follows:
NAME qpAttributeName NAME qpAttributeName
SYNTAX String SYNTAX String
skipping to change at line 2826 skipping to change at page 59, line 5
DESCRIPTION The source IPv4 address of the RSVP signaled flow, as DESCRIPTION The source IPv4 address of the RSVP signaled flow, as
defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV defined in the RSVP PATH SENDER_TEMPLATE and RSVP RESV
FILTER_SPEC [RSVP] objects. FILTER_SPEC [RSVP] objects.
ALLOWED VALUE TYPES: PolicyIPv4AddrValue ALLOWED VALUE TYPES: PolicyIPv4AddrValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 58
8.15. The Class "QoSPolicyRSVPDestinationIPv4Variable" 8.15. The Class "QoSPolicyRSVPDestinationIPv4Variable"
This is a concrete class that contains the destination IPv4 address of 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 the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and
RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as
follows: follows:
NAME QoSPolicyRSVPDestinationIPv4Variable NAME QoSPolicyRSVPDestinationIPv4Variable
DESCRIPTION The destination IPv4 address of the RSVP signaled DESCRIPTION The destination IPv4 address of the RSVP signaled
flow, as defined in the RSVP PATH and RESV SESSION flow, as defined in the RSVP PATH and RESV SESSION
skipping to change at line 2870 skipping to change at page 60, line 5
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
8.17. The Class "QoSPolicyRSVPDestinationIPv6Variable" 8.17. The Class "QoSPolicyRSVPDestinationIPv6Variable"
This is a concrete class that contains the destination IPv6 address of 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 the RSVP signaled flow, as defined in the RSVP PATH SENDER_TEMPLATE and
RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as RSVP RESV FILTER_SPEC [RSVP] objects. The class definition is as
follows: follows:
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 59
NAME QoSPolicyRSVPDestinationIPv6Variable NAME QoSPolicyRSVPDestinationIPv6Variable
DESCRIPTION The destination IPv6 address of the RSVP signaled DESCRIPTION The destination IPv6 address of the RSVP signaled
flow, as defined in the RSVP PATH and RESV SESSION flow, as defined in the RSVP PATH and RESV SESSION
[RSVP] objects. [RSVP] objects.
ALLOWED VALUE TYPES: PolicyIPv6AddrValue ALLOWED VALUE TYPES: PolicyIPv6AddrValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
skipping to change at line 2916 skipping to change at page 61, line 5
NAME QoSPolicyRSVPDestinationPortVariable NAME QoSPolicyRSVPDestinationPortVariable
DESCRIPTION The destination port of the RSVP signaled flow, as DESCRIPTION The destination port of the RSVP signaled flow, as
defined in the RSVP PATH and RESV SESSION [RSVP] objects. defined in the RSVP PATH and RESV SESSION [RSVP] objects.
ALLOWED VALUE TYPES: PolicyIntegerValue (0..65535) ALLOWED VALUE TYPES: PolicyIntegerValue (0..65535)
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 60
8.20. The Class "QoSPolicyRSVPIPProtocolVariable" 8.20. The Class "QoSPolicyRSVPIPProtocolVariable"
This is a concrete class that contains the IP Protocol number of the 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] RSVP signaled flow, as defined in the RSVP PATH and RESV SESSION [RSVP]
objects. The class definition is as follows: objects. The class definition is as follows:
NAME QoSPolicyRSVPIPProtocolVariable NAME QoSPolicyRSVPIPProtocolVariable
DESCRIPTION The IP Protocol number of the RSVP signaled flow, as DESCRIPTION The IP Protocol number of the RSVP signaled flow, as
defined in the RSVP PATH and RESV SESSION [RSVP] objects. defined in the RSVP PATH and RESV SESSION [RSVP] objects.
skipping to change at line 2961 skipping to change at page 62, line 5
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
8.22. The Class "QoSPolicyRSVPDCLASSVariable" 8.22. The Class "QoSPolicyRSVPDCLASSVariable"
This is a concrete class that contains the DSCP value as defined in the This is a concrete class that contains the DSCP value as defined in the
RSVP DCLASS [DCLASS] object. The class definition is as follows: RSVP DCLASS [DCLASS] object. The class definition is as follows:
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 61
NAME QoSPolicyRSVPDCLASSVariable NAME QoSPolicyRSVPDCLASSVariable
DESCRIPTION The DSCP value as defined in the RSVP DCLASS [DCLASS] DESCRIPTION The DSCP value as defined in the RSVP DCLASS [DCLASS]
object. object.
ALLOWED VALUE TYPES: PolicyIntegerValue, ALLOWED VALUE TYPES: PolicyIntegerValue,
PolicyBitStringValue PolicyBitStringValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
skipping to change at line 3011 skipping to change at page 63, line 5
DESCRIPTION The integrated Service requested in the RSVP Reservation DESCRIPTION The integrated Service requested in the RSVP Reservation
message, as defined in the FLOWSPEC RSVP Object [RSVP]. message, as defined in the FLOWSPEC RSVP Object [RSVP].
ALLOWED VALUE TYPES: PolicyIntegerValue (An enumerated ALLOWED VALUE TYPES: PolicyIntegerValue (An enumerated
value of { CL=1 , GS=2, NULL=3} value of { CL=1 , GS=2, NULL=3}
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 62
8.25. The Class "QoSPolicyRSVPMessageTypeVariable" 8.25. The Class "QoSPolicyRSVPMessageTypeVariable"
This is a concrete class that contains the RSVP message type, as defined 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 in the RSVP message common header [RSVP] object. The class definition is
as follows: as follows:
NAME QoSPolicyRSVPMessageTypeVariable NAME QoSPolicyRSVPMessageTypeVariable
DESCRIPTION The RSVP message type, as defined in the RSVP message DESCRIPTION The RSVP message type, as defined in the RSVP message
common header [RSVP] object. common header [RSVP] object.
ALLOWED VALUE TYPES: Integer (An enumerated value of ALLOWED VALUE TYPES: Integer (An enumerated value of
{PATH=1 , PATHTEAR=2, RESV=3, {PATH=1 , PATHTEAR=2, RESV=3,
RESVTEAR=4, ResvErr=5, CONF=6, RESVTEAR=4, RESVERR=5, CONF=6,
PATHERR} PATHERR=7}
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
8.26. The Class "QoSPolicyRSVPPreemptionPriorityVariable" 8.26. The Class "QoSPolicyRSVPPreemptionPriorityVariable"
This is a concrete class that contains the RSVP reservation priority, as This is a concrete class that contains the RSVP reservation priority, as
defined in [RSVP_PREEMP] object. The class definition is as follows: defined in [RFC3181] object. The class definition is as follows:
NAME QoSPolicyRSVPPreemptionPriorityVariable NAME QoSPolicyRSVPPreemptionPriorityVariable
DESCRIPTION The RSVP reservation priority as defined in [RSVP_PREEMP]. DESCRIPTION The RSVP reservation priority as defined in [RFC3181].
ALLOWED VALUE TYPES: PolicyIntegerValue ALLOWED VALUE TYPES: PolicyIntegerValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
8.27. The Class "QoSPolicyRSVPPreemptionDefPriorityVariable" 8.27. The Class "QoSPolicyRSVPPreemptionDefPriorityVariable"
This is a concrete class that contains the RSVP reservation defending This is a concrete class that contains the RSVP reservation defending
priority, as defined in [RSVP_PREEMP] object. The class definition is as priority, as defined in [RFC3181] object. The class definition is as
follows: follows:
NAME QoSPolicyRSVPPreemptionDefPriorityVariable NAME QoSPolicyRSVPPreemptionDefPriorityVariable
DESCRIPTION The RSVP preemption reservation defending priority as DESCRIPTION The RSVP preemption reservation defending priority as
defined in [RSVP_PREEMP]. defined in [RFC3181].
ALLOWED VALUE TYPES: PolicyIntegerValue ALLOWED VALUE TYPES: PolicyIntegerValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 63
8.28. The Class "QoSPolicyRSVPUserVariable" 8.28. The Class "QoSPolicyRSVPUserVariable"
This is a concrete class that contains the ID of the user that initiated 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 the flow as defined in the User Locator string in the Identity Policy
Object [RFC2752]. The class definition is as follows: Object [RFC3182]. The class definition is as follows:
NAME QoSPolicyRSVPUserVariable NAME QoSPolicyRSVPUserVariable
DESCRIPTION The ID of the user that initiated the flow as defined in DESCRIPTION The ID of the user that initiated the flow as defined in
the User Locator string in the Identity Policy Object the User Locator string in the Identity Policy Object
[RFC2752]. [RFC3182].
ALLOWED VALUE TYPES: QoSPolicyDNValue, PolicyStringValue, ALLOWED VALUE TYPES: QoSPolicyDNValue, PolicyStringValue,
QoSPolicyAttributeValue QoSPolicyAttributeValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
8.29. The Class "QoSPolicyRSVPApplicationVariable" 8.29. The Class "QoSPolicyRSVPApplicationVariable"
skipping to change at line 3100 skipping to change at page 65, line 5
defined in the application locator string in the defined in the application locator string in the
Application policy object [RFC2872]. Application policy object [RFC2872].
ALLOWED VALUE TYPES: QoSPolicyDNValue, PolicyStringValue, ALLOWED VALUE TYPES: QoSPolicyDNValue, PolicyStringValue,
QoSPolicyAttributeValue QoSPolicyAttributeValue
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 64
8.30. The Class "QoSPolicyRSVPAuthMethodVariable" 8.30. The Class "QoSPolicyRSVPAuthMethodVariable"
This is a concrete class that contains the type of authentication used This is a concrete class that contains the type of authentication used
in the Identity Policy Object [RFC2752]. The class definition is as in the Identity Policy Object [RFC3182]. The class definition is as
follows: follows:
NAME QoSPolicyRSVPAuthMethodVariable NAME QoSPolicyRSVPAuthMethodVariable
DESCRIPTION The RSVP Authentication type used in the Identity Policy DESCRIPTION The RSVP Authentication type used in the Identity Policy
Object [RFC2752]. Object [RFC3182].
ALLOWED VALUE TYPES: PolicyIntegerValue (An enumeration of ALLOWED VALUE TYPES: PolicyIntegerValue (An enumeration of
{ NONE=0, PLAIN-TEXT=1, { NONE=0, PLAIN-TEXT=1,
DIGITAL-SIG = 2, KERBEROS_TKT=3, DIGITAL-SIG = 2, KERBEROS_TKT=3,
X509_V3_CERT=4, PGP_CERT=5} X509_V3_CERT=4, PGP_CERT=5}
DERIVED FROM QoSPolicyRSVPVariable (defined in this document) DERIVED FROM QoSPolicyRSVPVariable (defined in this document)
ABSTRACT FALSE ABSTRACT FALSE
PROPERTIES None PROPERTIES None
8.31. The Class QoSPolicyDNValue 8.31. The Class QoSPolicyDNValue
This class is used to represent a single or set of Distinguished Name This class is used to represent a single or set of Distinguished Name
[DNDEF] values, including wildcards. A Distinguished Name is a name that [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. 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 This value can be used in comparison to reference values carried in RSVP
policy objects, as specified in [RFC2752]. The class definition is as policy objects, as specified in [RFC3182]. The class definition is as
follows: follows:
NAME QoSPolicyDNValue NAME QoSPolicyDNValue
DERIVED FROM PolicyValue DERIVED FROM PolicyValue
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpDNList PROPERTIES qpDNList
8.31.1. The Property qpDNList 8.31.1. The Property qpDNList
This attribute provides an unordered list of strings, each representing This attribute provides an unordered list of strings, each representing
a Distinguished Name (DN) with wildcards. The format of a DN is defined a Distinguished Name (DN) with wildcards. The format of a DN is defined
in [DNDEF]. The asterisk character ("*") is used as wildcard for either 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 a single attribute value or a wildcard for an RDN. The order of RDNs is
significant. For example: A qpDNList attribute carrying the following significant. For example: A qpDNList attribute carrying the following
value: value:
"CN=*, OU=Sales, O=Widget Inc., *, C=US" matches: "CN=*, OU=Sales, O=Widget Inc., *, C=US" matches:
"CN=J. Smith, OU=Sales, O=Widget Inc, C=US" "CN=J. Smith, OU=Sales, O=Widget Inc, C=US"
and also matches: and also matches:
"CN=J. Smith, OU=Sales, O=Widget Inc, L=CA, C=US". "CN=J. Smith, OU=Sales, O=Widget Inc, L=CA, C=US".
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 65
The attribute is defined as follows: The attribute is defined as follows:
NAME qpDNList NAME qpDNList
SYNTAX List of Distinguished Names implemented as strings, each of SYNTAX List of Distinguished Names implemented as strings, each of
which serves as a reference to another object. which serves as a reference to another object.
8.32. The Class QoSPolicyRSVPSimpleAction 8.32. The Class QoSPolicyRSVPSimpleAction
This action controls the content of RSVP messages and the way RSVP This action controls the content of RSVP messages and the way RSVP
requests are admitted. Depending on the value of its qpRSVPActionType requests are admitted. Depending on the value of its qpRSVPActionType
property, this action directly translates into either a COPS Replace property, this action directly translates into either a COPS Replace
Decision or a COPS Stateless Decision, or both as defined in COPS for Decision or a COPS Stateless Decision, or both as defined in COPS for
RSVP. Only variables that are subclasses of the QoSPolicyRSVPVariable RSVP. Only variables that are subclasses of the QoSPolicyRSVPVariable
are allowed to be associated with this action. The property definition are allowed to be associated with this action. The property definition
is as follows: is as follows:
NAME QoSPolicyRSVPSimpleAction NAME QoSPolicyRSVPSimpleAction
DESCRIPTION This action controls the content of RSVP messages and the DESCRIPTION This action controls the content of RSVP messages and the
way RSVP requests are admitted. way RSVP requests are admitted.
DERIVED FROM SimplePolicyAction (defined in [PCIMe]) DERIVED FROM SimplePolicyAction (defined in [PCIMe])
ABSTRACT False ABSTRACT FALSE
PROPERTIES qpRSVPActionType PROPERTIES qpRSVPActionType
8.32.1. The Property qpRSVPActionType 8.32.1. The Property qpRSVPActionType
This is a multi-valued property that may contain one value to denote the This is a multi-valued property that may contain one value to denote the
type of RSVP action. The value 'REPLACE' denotes a COPS Replace Decision type of RSVP action. The value 'REPLACE' denotes a COPS Replace Decision
action. The value 'STATELESS' denotes a COPS Stateless Decision action. action. The value 'STATELESS' denotes a COPS Stateless Decision action.
The value REPLACEANDSTATELESS denotes both decision actions. Refer to The value REPLACEANDSTATELESS denotes both decision actions. Refer to
[COPS] for details. This property is single-valued enumerated attribute. [RFC2749] for details. This property is single-valued enumerated attribute.
NAME qpRSVPActionType NAME qpRSVPActionType
DESCRIPTION This property specifies whether the action type is for DESCRIPTION This property specifies whether the action type is for
COPS Replace, Stateless, or both types of decisions. COPS Replace, Stateless, or both types of decisions.
SYNTAX Integer SYNTAX Integer
VALUE This is an enumerated integer. A value of 0 specifies a VALUE This is an enumerated integer. A value of 0 specifies a
COPS Replace decision. A value of 1 specifies a COPS COPS Replace decision. A value of 1 specifies a COPS
Stateless Decision. A value of 2 specifies both COPS Stateless Decision. A value of 2 specifies both COPS
Replace and COPS Stateless decisions. Replace and COPS Stateless decisions.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 66 9. Intellectual Property
9. Acknowledgements 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 The authors wish to thank the input of the participants of the Policy
Framework working group, and especially the combined group of the PCIMe Framework working group, and especially the combined group of the PCIMe
coauthors, Lee Rafalow, Andrea Westerinen, Ritu Chadha and Marcus coauthors, Lee Rafalow, Andrea Westerinen, Ritu Chadha and Marcus
Brunner. In addition we'd like to acknowledge the valuable contribution Brunner. In addition we'd like to acknowledge the valuable contribution
from Ed Ellesson, Joel Halpern and Mircea Pana. Thank you all for your from Ed Ellesson, Joel Halpern and Mircea Pana. Thank you all for your
comments, critique, ideas and general contribution. comments, critique, ideas and general contribution.
10. Security Considerations 11. Security Considerations
The Policy Core Information Model [PCIM] describes the general security The Policy Core Information Model [PCIM] describes the general security
considerations related to the general core policy model. The extensions considerations related to the general core policy model. The extensions
defined in this document do not introduce any additional considerations defined in this document do not introduce any additional considerations
related to security. related to security.
11. References 12. Normative References
[KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate [KEYWORDS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[PCIM] Strassner, J., and E. Ellesson, B. Moore, A. Westerinen, [PCIM] Strassner, J., and E. Ellesson, B. Moore, A. Westerinen,
"Policy Core Information Model -- Version 1 Specification", "Policy Core Information Model -- Version 1 Specification",
RFC 3060, February 2001. RFC 3060, February 2001.
[PCIMe] B. Moore, L. Rafalow, Y. Ramberg, Y. Snir, J. Strassner, [PCIMe] B. Moore, L. Rafalow, Y. Ramberg, Y. Snir, J. Strassner,
A. Westerinen, R. Chadha, M. Brunner, R. Cohen, A. Westerinen, R. Chadha, M. Brunner, R. Cohen,
"Policy Core Information Model Extensions", "Policy Core Information Model Extensions",
<draft-ietf-policy-pcim-ext-06.txt> RFC 3460, January 2003
13. Informative References
[TERMS] A. Westerinen, J. Schnizlein, J. Strassner, M. Scherling, [TERMS] A. Westerinen, J. Schnizlein, J. Strassner, M. Scherling,
B. Quinn, J. Perry, S. Herzog, A. Huynh, M. Carlson, B. Quinn, J. Perry, S. Herzog, A. Huynh, M. Carlson,
S. Waldbusser, "Terminology", S. Waldbusser, "Terminology for Policy-based Management",
<draft-ietf-policy-terminology-04.txt>
[DIFFSERV] S. Blake, et. Al., "An Architecture for Differentiated [DIFFSERV] S. Blake, et. Al., "An Architecture for Differentiated
Services", RFC 2475 Services", RFC 2475
[INTSERV] R. Braden, D. Clark, S. Shenker, "Integrated Services in [INTSERV] R. Braden, D. Clark, S. Shenker, "Integrated Services in
the Internet Architecture: an Overview", RFC 1633. the Internet Architecture: an Overview", RFC 1633.
[RSVP] R. Braden, Ed., L. Zhang, S. Berson, S. Herzog, S. Jamin, [RSVP] R. Braden, Ed., L. Zhang, S. Berson, S. Herzog, S. Jamin,
"Resource ReSerVation Protocol (RSVP) -- Version 1 Functional "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional
Specification", RFC2205 Specification", RFC2205
[RFC2749] S . Herzog, Ed., J. Boyle, R. Cohen, D. Durham, R. Rajan, [RFC2749] S . Herzog, Ed., J. Boyle, R. Cohen, D. Durham, R. Rajan,
A. Sastry, "COPS usage for RSVP", RFC2749 A. Sastry, "COPS usage for RSVP", RFC2749
[RFC2751] S. Herzog, "Signaled Preemption Priority Policy Element", [RFC3181] S. Herzog, "Signaled Preemption Priority Policy Element",
RFC2751 RFC3181
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 67
[DIFF-MIB] F. Baker, K. Chan, A. Smith, "Management Information Base [DIFF-MIB] F. Baker, K. Chan, A. Smith, "Management Information Base
for the Differentiated Services Architecture", for the Differentiated Services Architecture",
<draft-ietf-diffserv-mib-16.txt> <draft-ietf-diffserv-mib-16.txt>
[AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured [AF] J. Heinanen, F. Baker, W. Weiss, J. Wroclawski, "Assured
Forwarding PHB Group", RFC2597 Forwarding PHB Group", RFC2597
[CL] J. Wroclawski, "Specification of the Controlled-Load Network [CL] J. Wroclawski, "Specification of the Controlled-Load Network
Element Service", RFC2211 Element Service", RFC2211
[RSVP-IS] J. Wroclawski, "The Use of RSVP with IETF Integrated [RSVP-IS] J. Wroclawski, "The Use of RSVP with IETF Integrated
Services", RFC2210 Services", RFC2210
[GS] S. Shenker, C. Partridge, R. Guerin, "Specification of the [GS] S. Shenker, C. Partridge, R. Guerin, "Specification of the
Guaranteed Quality of Service", RFC2212 Guaranteed Quality of Service", RFC2212
[DCLASS] Y. Bernet, "Format of the RSVP DCLASS Object", RFC2996 [DCLASS] Y. Bernet, "Format of the RSVP DCLASS Object", RFC2996
[RFC2752] S. Yadav, R. Yavatkar, R. Pabbati, P. Ford, T. Moore, [RFC3182] S. Yadav, R. Yavatkar, R. Pabbati, P. Ford, T. Moore,
S. Herzog, "Identity Representation for RSVP", RFC2752 S. Herzog, "Identity Representation for RSVP", RFC3182
[RFC2872] Y. Bernet, R. Pabbati, "Application and Sub Application [RFC2872] Y. Bernet, R. Pabbati, "Application and Sub Application
Identity Policy Element for Use with RSVP", RFC2872 Identity Policy Element for Use with RSVP", RFC2872
[DNDEF] M. Wahl, S. Kille, and T. Howes, "Lightweight Directory [DNDEF] M. Wahl, S. Kille, and T. Howes, "Lightweight Directory
Access Protocol (v3): UTF-8 String Representation of Access Protocol (v3): UTF-8 String Representation of
Distinguished Names", RFC2253 Distinguished Names", RFC2253
12. Authors' Addresses 14. Authors' Addresses
Yoram Ramberg Yoram Ramberg
Cisco Systems Cisco Systems
4 Maskit Street 4 Maskit Street
Herzliya Pituach, Israel 46766 Herzliya Pituach, Israel 46766
Phone: +972-9-970-0081 Phone: +972-9-970-0081
Fax: +972-9-970-0219 Fax: +972-9-970-0219
E-mail: yramberg@cisco.com E-mail: yramberg@cisco.com
Yoram Snir Yoram Snir
Cisco Systems Cisco Systems
4 Maskit Street 300 East Tasman Tasman Drive
Herzliya Pituach, Israel 46766 San Jose, CA 95134
Phone: +972-9-970-0085 Phone: +1 408-853-4053
Fax: +972-9-970-0366 Fax: +1 408 526-7864
E-mail: ysnir@cisco.com E-mail: ysnir@cisco.com
John Strassner John Strassner
Intelliden Corporation Intelliden Corporation
90 South Cascade Avenue 90 South Cascade Avenue
Colorado Springs, Colorado 80903 Colorado Springs, Colorado 80903
Phone: +1-719-785-0648 Phone: +1-719-785-0648
Fax: +1-719-785-0644 Fax: +1-719-785-0644
E-mail: john.strassner@intelliden.com E-mail: john.strassner@intelliden.com
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 68
Ron Cohen Ron Cohen
Ntear LLC Ntear LLC
Phone: +972-8-9402586 Phone: +972-8-9402586
Fax: +972-9-9717798 Fax: +972-9-9717798
E-mail: ronc@ntear.com E-mail: ronc@lyciumnetworks.com
Bob Moore Bob Moore
IBM Corporation IBM Corporation
P. O. Box 12195, BRQA/502/G106 P. O. Box 12195, BRQA/501/G206
3039 Cornwallis Rd. 3039 Cornwallis Rd.
Research Triangle Park, NC 27709-2195 Research Triangle Park, NC 27709-2195
Phone: +1 919-254-4436 Phone: +1 919-254-4436
Fax: +1 919-254-6243 Fax: +1 919-254-6243
E-mail: remoore@us.ibm.com E-mail: remoore@us.ibm.com
13. Full Copyright Statement 15. Full Copyright Statement
Copyright (C) The Internet Society (2001). All Rights Reserved. Copyright (C) The Internet Society (2003). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind, distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included provided that the above copyright notice and this paragraph are included
on all such copies and derivative works. However, this document itself 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 may not be modified in any way, such as by removing the copyright notice
or references to the Internet Society or other Internet organizations, or references to the Internet Society or other Internet organizations,
except as needed for the purpose of developing Internet standards in except as needed for the purpose of developing Internet standards in
skipping to change at line 3345 skipping to change at line 3235
The limited permissions granted above are perpetual and will not be The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns. revoked by the Internet Society or its successors or assigns.
This document and the information contained herein is provided on an This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK
FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT
INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE. FITNESS FOR A PARTICULAR PURPOSE.
Snir, Ramberg, Strassner, Cohen, Moore expires May 2002 69
 End of changes. 136 change blocks. 
218 lines changed or deleted 107 lines changed or added

This html diff was produced by rfcdiff 1.34. The latest version is available from http://tools.ietf.org/tools/rfcdiff/