< draft-ietf-pce-association-policy-11.txt   draft-ietf-pce-association-policy-12.txt >
PCE Working Group S. Litkowski PCE Working Group S. Litkowski
Internet-Draft Cisco Systems, Inc. Internet-Draft Cisco Systems, Inc.
Intended status: Standards Track S. Sivabalan Intended status: Standards Track S. Sivabalan
Expires: December 24, 2020 Ciena Expires: April 2, 2021 Ciena
J. Tantsura J. Tantsura
Apstra, Inc. Apstra, Inc.
J. Hardwick J. Hardwick
Metaswitch Networks Metaswitch Networks
M. Negi M. Negi
RtBrick India RtBrick India
C. Li C. Li
Huawei Technologies Huawei Technologies
June 22, 2020 September 29, 2020
Path Computation Element (PCE) communication Protocol (PCEP) extension Path Computation Element (PCE) communication Protocol (PCEP) extension
for associating Policies and Label Switched Paths (LSPs) for associating Policies and Label Switched Paths (LSPs)
draft-ietf-pce-association-policy-11 draft-ietf-pce-association-policy-12
Abstract Abstract
This document introduces a simple mechanism to associate policies to This document introduces a simple mechanism to associate policies to
a group of Label Switched Paths (LSPs) via an extension to the Path a group of Label Switched Paths (LSPs) via an extension to the Path
Computation Element (PCE) Communication Protocol (PCEP). Computation Element (PCE) Communication Protocol (PCEP). The
extension allows a PCEP speaker to advertise to a PCEP peer that a
particular LSP belongs to a particular Policy Association Group.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on December 24, 2020. This Internet-Draft will expire on April 2, 2021.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3
2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . 4
3.1. Policy based Constraints . . . . . . . . . . . . . . . . 5 3.1. Policy based Constraints . . . . . . . . . . . . . . . . 5
4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 6 4. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 6
5. Policy Association Group . . . . . . . . . . . . . . . . . . 7 5. Policy Association Group . . . . . . . . . . . . . . . . . . 7
5.1. Policy Parameters TLV . . . . . . . . . . . . . . . . . . 7 5.1. Policy Parameters TLV . . . . . . . . . . . . . . . . . . 7
6. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 6. Implementation Status . . . . . . . . . . . . . . . . . . . . 9
6.1. Cisco's Implementation . . . . . . . . . . . . . . . . . 9 6.1. Cisco's Implementation . . . . . . . . . . . . . . . . . 9
7. Security Considerations . . . . . . . . . . . . . . . . . . . 9 7. Security Considerations . . . . . . . . . . . . . . . . . . . 9
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10
8.1. Association object Type Indicators . . . . . . . . . . . 10 8.1. Association object Type Indicators . . . . . . . . . . . 10
8.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 10 8.2. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 10
9. Manageability Considerations . . . . . . . . . . . . . . . . 10 8.3. PCEP Errors . . . . . . . . . . . . . . . . . . . . . . . 10
9.1. Control of Function and Policy . . . . . . . . . . . . . 10 9. Manageability Considerations . . . . . . . . . . . . . . . . 11
9.2. Information and Data Models . . . . . . . . . . . . . . . 10 9.1. Control of Function and Policy . . . . . . . . . . . . . 11
9.2. Information and Data Models . . . . . . . . . . . . . . . 11
9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 11 9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 11
9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 11 9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 11
9.5. Requirements on Other Protocols . . . . . . . . . . . . . 11 9.5. Requirements on Other Protocols . . . . . . . . . . . . . 11
9.6. Impact on Network Operations . . . . . . . . . . . . . . 11 9.6. Impact on Network Operations . . . . . . . . . . . . . . 11
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
11.1. Normative References . . . . . . . . . . . . . . . . . . 11 11.1. Normative References . . . . . . . . . . . . . . . . . . 12
11.2. Informative References . . . . . . . . . . . . . . . . . 12 11.2. Informative References . . . . . . . . . . . . . . . . . 12
Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 14 Appendix A. Example of Policy Parameters . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 14 Appendix B. Contributor Addresses . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16
1. Introduction 1. Introduction
[RFC5440] describes the Path Computation Element communication [RFC5440] describes the Path Computation Element communication
Protocol (PCEP) which enables the communication between a Path Protocol (PCEP) which enables the communication between a Path
Computation Client (PCC) and a Path Control Element (PCE), or between Computation Client (PCC) and a Path Control Element (PCE), or between
two PCEs based on the PCE architecture [RFC4655]. [RFC5394] provides two PCEs based on the PCE architecture [RFC4655]. [RFC5394] provides
additional details on policy within the PCE architecture and also additional details on policy within the PCE architecture and also
provides context for the support of PCE Policy. provides context for the support of PCE Policy.
skipping to change at page 3, line 31 skipping to change at page 3, line 40
This document specifies a PCEP extension to associate one or more This document specifies a PCEP extension to associate one or more
LSPs with policies using the generic association mechanism. LSPs with policies using the generic association mechanism.
A PCEP speaker may want to influence the PCEP peer with respect to A PCEP speaker may want to influence the PCEP peer with respect to
path selection and other policies. This document describes a PCEP path selection and other policies. This document describes a PCEP
extension to associate policies by creating Policy Association Group extension to associate policies by creating Policy Association Group
(PAG) and encoding this association in PCEP messages. The (PAG) and encoding this association in PCEP messages. The
specification is applicable to both stateful and stateless PCEP specification is applicable to both stateful and stateless PCEP
sessions. sessions.
Note that the actual policy definition and the associated parameters
are out of scope of this document.
1.1. Requirements Language 1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Terminology 2. Terminology
skipping to change at page 4, line 7 skipping to change at page 4, line 19
Association parameters: As described in [RFC8697], the combination Association parameters: As described in [RFC8697], the combination
of the mandatory fields Association type, Association ID and of the mandatory fields Association type, Association ID and
Association Source in the ASSOCIATION object uniquely identify the Association Source in the ASSOCIATION object uniquely identify the
association group. If the optional TLVs - Global Association association group. If the optional TLVs - Global Association
Source or Extended Association ID are included, then they are Source or Extended Association ID are included, then they are
included in combination with mandatory fields to uniquely identify included in combination with mandatory fields to uniquely identify
the association group. the association group.
Association information: As described in [RFC8697], the ASSOCIATION Association information: As described in [RFC8697], the ASSOCIATION
object could include other optional TLVs based on the association object could include other optional TLVs based on the association
types, that provides 'information' related to the association. types, that provide 'information' related to the association.
LSR: Label Switch Router. LSR: Label Switch Router.
MPLS: Multiprotocol Label Switching. MPLS: Multiprotocol Label Switching.
PAG: Policy Association Group. PAG: Policy Association Group.
PAT: Policy Association Type. PAT: Policy Association Type.
PCC: Path Computation Client. Any client application requesting a PCC: Path Computation Client. Any client application requesting a
skipping to change at page 4, line 29 skipping to change at page 4, line 41
PCE: Path Computation Element. An entity (component, application, PCE: Path Computation Element. An entity (component, application,
or network node) that is capable of computing a network path or or network node) that is capable of computing a network path or
route based on a network graph and applying computational route based on a network graph and applying computational
constraints. constraints.
PCEP: Path Computation Element Communication Protocol. PCEP: Path Computation Element Communication Protocol.
3. Motivation 3. Motivation
Paths computed using PCE can be subjected to various policies on both Paths computed using PCE can be subjected to various policies at both
PCE and PCC. For example, in a centralized traffic engineering the PCE and the PCC. For example, in a centralized traffic
scenario, network operators may instantiate LSPs and specifies engineering (TE) scenario, network operators may instantiate LSPs and
policies for traffic steering, path monitoring, etc., for some LSPs specify policies for traffic accounting, path monitoring, telemetry,
via the Stateful PCE. Similarly, a PCC could request a user- or etc., for some LSPs via the Stateful PCE. Similarly, a PCC could
service-specific policy to be applied at the PCE, such as constraints request a user- or service-specific policy to be applied at the PCE,
relaxation to meet optimal QoS and resiliency. such as constraints relaxation policy to meet optimal QoS and
resiliency.
PCEP speaker can use the generic mechanism as per [RFC8697] to PCEP speaker can use the generic mechanism as per [RFC8697] to
associate a set of LSPs with a policy, without the need to know the associate a set of LSPs with a policy, without the need to know the
details of such a policy, which simplifies network operations, avoids details of such a policy, which simplifies network operations, avoids
frequent software upgrades, as well as provides an ability to frequent software upgrades, as well as provides an ability to
introduce new policy faster. introduce new policies faster.
PAG Y PAG Y
{Service-Specific Policy {Service-Specific Policy
for constraint for constraint
Initiate & Monitor LSP relaxation} Monitor LSP relaxation}
| | | |
| PAG X PCReq/PCRpt | | PAG X PCReq/PCRpt |
V {Monitor LSP} {PAG Y} V V {Monitor LSP} {PAG Y} V
+-----+ ----------------> +-----+ +-----+ ----------------> +-----+
_ _ _ _ _ _| PCE | | | PCE | _ _ _ _ _ _| PCE | | | PCE |
| +-----+ | ----------> +-----+ | +-----+ | ----------> +-----+
| PCInitiate | | PCReq/PCRpt | PCInitiate/PCUpd | | PCReq/PCRpt
|{PAG X} | | {PAG Y} |{PAG X} | | {PAG Y}
| | | | | |
| .-----. | | .-----. | .-----. | | .-----.
| ( ) | +----+ ( ) | ( ) | +----+ ( )
| .--( )--. | |PCC1|--.--( )--. | .--( )--. | |PCC1|--.--( )--.
V ( ) | +----+ ( ) V ( ) | +----+ ( )
+---+ ( ) | ( ) +---+ ( ) | ( )
|PCC|----( (G)MPLS network ) +----+ ( (G)MPLS network ) |PCC|----( (G)MPLS network ) +----+ ( (G)MPLS network )
+---+ ( ) |PCC2|------( ) +---+ ( ) |PCC2|------( )
PAG X ( ) +----+ ( ) PAG X ( ) +----+ ( )
{Monitor '--( )--' '--( )--' {Monitor '--( )--' '--( )--'
LSP} ( ) ( ) LSP} ( ) ( )
'-----' '-----' '-----' '-----'
Case 1: Policy requested by PCE Case 2: Policy requested by Case 1: Policy requested by PCE Case 2: Policy requested by
and enforced by PCC PCC and enforced by and enforced by PCC PCC and enforced by
PCE PCE
Figure 1: Sample use-cases for carrying policies over PCEP session Figure 1: Sample use-cases for carrying policies over PCEP
3.1. Policy based Constraints 3.1. Policy based Constraints
In the context of policy-enabled path computation [RFC5394], path In the context of policy-enabled path computation [RFC5394], path
computation policies may be applied at both a PCC and a PCE. computation policies may be applied at both a PCC and a PCE.
Consider an Label Switch Router (LSR) with a policy enabled PCC, it Consider a Label Switch Router (LSR) with a policy enabled PCC, it
receives a service request via signaling, including over a Network- receives a service request via signaling, including over a Network-
Network Interface (NNI) or User Network Interface (UNI) reference Network Interface (NNI) or User-Network Interface (UNI) reference
point, or receives a configuration request over a management point, or receives a configuration request over a management
interface to establish a service. The PCC may also apply user- or interface to establish a service. The PCC may also apply user- or
service-specific policies to decide how the path selection process service-specific policies to decide how the path selection process
should be constrained, that is, which constraints, diversities, should be constrained, that is, which constraints, diversities,
optimization criterion, and constraint relaxation strategies should optimization criterion, and constraint relaxation strategies should
be applied in order for the service LSP(s) to have a likelihood to be be applied in order for the service LSP(s) to have a likelihood to be
successfully established and provide necessary QoS and resilience successfully established and provide necessary QoS and resilience
against network failures. The user- or service-specific policies against network failures. The user- or service-specific policies
applied to PCC and are then passed to the PCE along with the Path applied to PCC and are then passed to the PCE along with the Path
computation request, in the form of constraints [RFC5394]. computation request, in the form of constraints [RFC5394].
PCEP speaker can use the generic mechanism as per [RFC8697] to PCEP speaker can use the generic mechanism as per [RFC8697] to
associate a set of LSPs with policy and its resulting path associate a set of LSPs with policy and its resulting path
computation constraints. This would simplify the path computation computation constraints. This would simplify the path computation
message exchanges in PCEP. message exchanges in PCEP.
4. Overview 4. Overview
As per [RFC8697], LSPs are associated with other LSPs with which they As per [RFC8697], LSPs are associated with other LSPs with which they
interact by adding them to a common association group. Grouping can interact by adding them to a common association group. Grouping can
also be used to define association between LSPs and policies also be used to define the association between LSPs and policies
associated to them. One new Association type is defined in this associated to them. As described in [RFC8697], the association group
document, based on the generic Association object - is uniquely identified by the combination of the following fields in
the ASSOCIATION object: Association Type, Association ID, Association
o Association type = TBD1 ("Policy Association Type (PAT)" ) for Source, and (if present) Global Association Source or Extended
Policy Association Group (PAG). Association ID. This document defines a new Association type, called
"Policy Association" (TBD1), based on the generic ASSOCIATION object.
This new Association type is also called "PAT", for "Policy
Association Type".
[RFC8697] specify the mechanism for the capability advertisement of [RFC8697] specifies the mechanism for the capability advertisement of
the Association types supported by a PCEP speaker by defining a the Association types supported by a PCEP speaker by defining a
ASSOC-Type-List TLV to be carried within an OPEN object. This ASSOC-Type-List TLV to be carried within an OPEN object. This
capability exchange for the association type described in this capability exchange for the PAT (TBD1) MUST be done before using the
document (i.e. PAT) MUST be done before using the policy policy association. Thus the PCEP speaker MUST include the PAT
association. Thus the PCEP speaker MUST include the PAT (TBD1) in (TBD1) in the ASSOC-Type-List TLV and MUST receive the same from the
the ASSOC-Type-List TLV before using the PAG in the PCEP messages. PCEP peer before using the Policy Association Group (PAG) in PCEP
messages.
This Association type is operator-configured association in nature This Association type is operator-configured [RFC8697] association in
and created by the operator manually on the PCEP peers. An LSP nature and created by the operator manually on the PCEP peers. An
belonging to this association is conveyed via PCEP messages to the LSP belonging to this association is conveyed via PCEP messages to
PCEP peer. Operator-configured Association Range need not be set for the PCEP peer. Operator-configured Association Range MUST NOT be set
this association-type, and MUST be ignored, so that the full range of for this association-type, and MUST be ignored, so that the full
association identifier can be utilized. range of association identifier can be utilized.
A PAG can have one or more LSPs and its associated policy. The A PAG can have one or more LSPs. The association parameters
association parameters including association identifier, Association including association identifier, Association type (PAT), as well as
type (Policy), as well as the association source IP address is the association source IP address is manually configured by the
manually configured by the operator and is used to identify the PAG operator and is used to identify the PAG as described in [RFC8697].
as described in [RFC8697]. The Global Association Source and The Global Association Source and Extended Association ID MAY also be
Extended Association ID MAY also be included. included.
As per the processing rules specified in section 6.4 of [RFC8697], if As per the processing rules specified in section 6.4 of [RFC8697], if
a PCEP speaker does not support this Policy Association type, it a PCEP speaker does not support this Policy Association type, it
would return a PCErr message with Error-Type 26 "Association Error" would return a PCErr message with Error-Type 26 "Association Error"
and Error-Value 1 "Association type is not supported". Since the PAG and Error-Value 1 "Association type is not supported". Since the PAG
is opaque in nature, the PAG and the policy MUST be configured on the is opaque in nature, the PAG and the policy MUST be configured on the
PCEP peers as per the operator-configured association procedures. PCEP peers as per the operator-configured association procedures.
All further processing is as per section 6.4 of [RFC8697]. If a PCE All further processing is as per section 6.4 of [RFC8697]. If a PCE
speaker receives PAG in a PCEP message, and the policy association speaker receives PAG in a PCEP message, and the policy association
information is not configured, it MUST return a PCErr message with information is not configured, it MUST return a PCErr message with
Error-Type 26 "Association Error" and Error- Value 4 "Association Error-Type 26 "Association Error" and Error-Value 4 "Association
unknown". If some of the association information [RFC8697] (the TLVs unknown".
defined in this document) received from the peer does not match the
local configured values, the PCEP speaker MUST reject the PCEP
message and send a PCErr message with Error-Type 26 "Association
Error" and Error-Value 5 "Operator-configured association information
mismatch".
Associating a particular LSP to multiple policy groups is authorized Associating a particular LSP to multiple policy groups is authorized
from a protocol perspective, however there is no assurance that the from a protocol perspective, however, there is no assurance that the
PCE will be able to apply multiple policies. PCEP speaker will be able to apply multiple policies. If a PCEP
speaker does not support handling of multiple policies for an LSP, it
MUST NOT add the LSP into the association group and MUST return a
PCErr with Error- Type 26 (Association Error) and Error-value 7
(Cannot join the association group).
5. Policy Association Group 5. Policy Association Group
Association groups and their memberships are defined using the Association groups and their memberships are defined using the
ASSOCIATION object defined in [RFC8697]. Two object types for IPv4 ASSOCIATION object defined in [RFC8697]. Two object types for IPv4
and IPv6 are defined. The ASSOCIATION object includes "Association and IPv6 are defined. The ASSOCIATION object includes "Association
type" indicating the type of the association group. This document type" indicating the type of the association group. This document
add a new Association type - add a new Association type (PAT).
Association type = TBD1 ("Policy Association type") for PAG.
PAG may carry optional TLVs including but not limited to - PAG may carry optional TLVs including but not limited to -
o POLICY-PARAMETERS-TLV: Used to communicate opaque information o POLICY-PARAMETERS-TLV: Used to communicate opaque information
useful to apply the policy, described in Section 5.1. useful to apply the policy, described in Section 5.1.
o VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor o VENDOR-INFORMATION-TLV: Used to communicate arbitrary vendor
specific behavioural information, described in [RFC7470]. specific behavioral information, described in [RFC7470].
5.1. Policy Parameters TLV 5.1. Policy Parameters TLV
The POLICY-PARAMETERS-TLV is an optional TLV that can be carried in The POLICY-PARAMETERS-TLV is an optional TLV that can be carried in
ASSOCIATION object (for PAT) to carry opaque information needed to ASSOCIATION object (for PAT) to carry opaque information needed to
apply the policy at the PCEP peer. In some cases to apply a PCE apply the policy at the PCEP peer. In some cases to apply a PCE
policy successfully, it is required to also associate some policy policy successfully, it is required to also associate some policy
parameters that needs to be evaluated, to successfully apply the said parameters that need to be evaluated. This TLV is used to carry
policy. This TLV is used to carry those policy parameters. The TLV those policy parameters. The TLV could include one or more policy
could include one or more policy related parameter. The encoding related parameters. The encoding format and the order MUST be known
format and the order MUST be known to the PCEP peers, this could be to the PCEP peers, this could be done during the configuration of the
done during the configuration of the policy (and its association policy (and its association parameters) for the PAG. The TLV format
parameters) for the PAG. The TLV format is as per the format of the is as per the format of the PCEP TLVs, as defined in [RFC5440], and
PCEP TLVs, as defined in [RFC5440], and shown in Figure 2. Only one shown in Figure 2. Only one POLICY-PARAMETERS-TLV can be carried and
POLICY-PARAMETERS-TLV can be carried and only the first occurrence is only the first occurrence is processed and any others MUST be
processed and any others MUST be ignored. ignored.
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type=TBD2 | Length | | Type=TBD2 | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
// Policy Parameters // // Policy Parameters //
| | | |
+---------------------------------------------------------------+ +---------------------------------------------------------------+
Figure 2: The POLICY-PARAMETERS-TLV format Figure 2: The POLICY-PARAMETERS-TLV format
The type of the POLICY-PARAMETERS-TLV is TBD2 and it has a variable The type of the POLICY-PARAMETERS-TLV is TBD2 and it has a variable
length. The Value field is variable field padded to a 4-bytes length. The Value field is variable and padded to a 4-byte
alignment; padding is not included in the Length field. The PCEP alignment; padding is not included in the Length field. The PCEP
peer implementation need to be aware of the encoding format, order, peer implementation needs to be aware of the encoding format, order,
and meaning of the 'Policy Parameters' well in advance based on the and meaning of the 'Policy Parameters' well in advance based on the
policy. Note that from the protocol point of view this data is policy. Note that from the protocol point of view this data is
opaque and can be used to carry parameters in any format understood opaque and can be used to carry parameters in any format understood
by the PCEP peers and associated to the policy. The exact use of by the PCEP peers and associated to the policy. The exact use of
this TLV is beyond the scope of this document. this TLV is beyond the scope of this document. Examples are included
for illustration purposes in Appendix A.
If the PCEP peer is unaware of the policy parameters associated with If the PCEP peer is unaware of the policy parameters associated with
the policy and it receives the POLICY-PARAMETERS-TLV, it MUST ignore the policy and it receives the POLICY-PARAMETERS-TLV, it MUST reject
the TLV and SHOULD log this event. Further, if one or more the PCEP message and send a PCErr message with Error-Type 26
parameters received in the POLICY-PARAMETERS-TLV received by the PCEP "Association Error" and Error-Value TBD3 "Not expecting policy
speaker are considered as unacceptable in the context of the parameters". Further, if one or more parameters in the POLICY-
associated policy (e.g. out of range value, badly encoded value...), PARAMETERS-TLV received by the PCEP speaker are considered as
the PCEP speaker MUST NOT apply the received policy and SHOULD log unacceptable in the context of the associated policy (e.g. out of
this event. range value, badly encoded value...), the PCEP speaker MUST reject
the PCEP message and send a PCErr message with Error-Type 26
"Association Error" and Error-Value TBD4 "Unacceptable policy
parameters".
Note that, the vendor specific behavioral information is encoded in Note that, the vendor-specific behavioral information is encoded in
VENDOR-INFORMATION-TLV which can be used along with this TLV. VENDOR-INFORMATION-TLV which can be used along with this TLV.
6. Implementation Status 6. Implementation Status
[Note to the RFC Editor - remove this section before publication, as [Note to the RFC Editor - remove this section before publication, as
well as remove the reference to RFC 7942.] well as remove the reference to RFC 7942.]
This section records the status of known implementations of the This section records the status of known implementations of the
protocol defined by this specification at the time of posting of this protocol defined by this specification at the time of posting of this
Internet-Draft, and is based on a proposal described in [RFC7942]. Internet-Draft, and is based on a proposal described in [RFC7942].
The description of implementations in this section is intended to The description of implementations in this section is intended to
assist the IETF in its decision processes in progressing drafts to assist the IETF in its decision processes in progressing drafts to
RFCs. Please note that the listing of any individual implementation RFCs. Please note that the listing of any individual implementation
here does not imply endorsement by the IETF. Furthermore, no effort here does not imply endorsement by the IETF. Furthermore, no effort
has been spent to verify the information presented here that was has been spent to verify the information presented here that was
supplied by IETF contributors. This is not intended as, and must not supplied by IETF contributors. This is not intended as, and must not
be construed to be, a catalogue of available implementations or their be construed to be, a catalog of available implementations or their
features. Readers are advised to note that other implementations may features. Readers are advised to note that other implementations may
exist. exist.
According to [RFC7942], "this will allow reviewers and working groups According to [RFC7942], "this will allow reviewers and working groups
to assign due consideration to documents that have the benefit of to assign due consideration to documents that have the benefit of
running code, which may serve as evidence of valuable experimentation running code, which may serve as evidence of valuable experimentation
and feedback that have made the implemented protocols more mature. and feedback that have made the implemented protocols more mature.
It is up to the individual working groups to use this information as It is up to the individual working groups to use this information as
they see fit". they see fit".
skipping to change at page 9, line 39 skipping to change at page 9, line 52
o Contact: mkoldych@cisco.com o Contact: mkoldych@cisco.com
7. Security Considerations 7. Security Considerations
This document defines one new type for association, which do not add This document defines one new type for association, which do not add
any new security concerns beyond those discussed in [RFC5440], any new security concerns beyond those discussed in [RFC5440],
[RFC8231] and [RFC8697] in itself. [RFC8231] and [RFC8697] in itself.
Extra care needs to be taken by the implementation with respect to Extra care needs to be taken by the implementation with respect to
POLICY-PARAMETERS-TLV while decoding, verifying and applying these POLICY-PARAMETERS-TLV while decoding, verifying, and applying these
policy variables. This TLV parsing could be exploited by an policy variables. This TLV parsing could be exploited by an
attacker. attacker.
Some deployments may find policy associations and their implications Some deployments may find policy associations and their implications
as extra sensitive and thus securing the PCEP session using Transport as extra sensitive and thus securing the PCEP session using Transport
Layer Security (TLS) [RFC8253], as per the recommendations and best Layer Security (TLS) [RFC8253], as per the recommendations and best
current practices in BCP 195 [RFC7525], is RECOMMENDED. current practices in BCP 195 [RFC7525], is RECOMMENDED.
8. IANA Considerations 8. IANA Considerations
8.1. Association object Type Indicators 8.1. Association object Type Indicators
This document defines a new Association type. The sub-registry This document defines a new Association type. The sub-registry
"ASSOCIATION Type Field" of the "Path Computation Element Protocol "ASSOCIATION Type Field" of the "Path Computation Element Protocol
(PCEP) Numbers" registry was originally defined in [RFC8697]. IANA (PCEP) Numbers" registry was originally defined in [RFC8697]. IANA
is requested to confirm the early-allocated codepoints. is requested to confirm the early-allocated codepoint.
Value Name Reference Value Name Reference
3 Policy Association [This.I-D] 3 Policy Association [This.I-D]
8.2. PCEP TLV Type Indicators 8.2. PCEP TLV Type Indicators
The following TLV Type Indicator value is requested within the "PCEP The following TLV Type Indicator value is requested within the "PCEP
TLV Type Indicators" subregistry of the "Path Computation Element TLV Type Indicators" subregistry of the "Path Computation Element
Protocol (PCEP) Numbers" registry. IANA is requested to confirm the Protocol (PCEP) Numbers" registry. IANA is requested to confirm the
early-allocated codepoints. early-allocated codepoint.
Value Description Reference Value Description Reference
48 POLICY-PARAMETERS-TLV [This.I-D] 48 POLICY-PARAMETERS-TLV [This.I-D]
8.3. PCEP Errors
This document defines new Error-Values for Error-type 26 "Association
Error" defined in [RFC8697]. IANA is requested to allocate new error
values within the "PCEP- ERROR Object Error Types and Values"
subregistry of the PCEP Numbers registry as follows:
Error-Type Meaning Error-value Reference
26 Association [RFC8697]
Error
TBD3: Not expecting [This.I-D]
policy parameters
TBD4: Unacceptable [This.I-D]
policy parameters
9. Manageability Considerations 9. Manageability Considerations
9.1. Control of Function and Policy 9.1. Control of Function and Policy
An operator MUST be allowed to configure the policy associations at An operator MUST be allowed to configure the policy associations at
PCEP peers and associate it with the LSPs. They MAY also allow PCEP peers and associate it with the LSPs. They MAY also allow
configuration to related policy parameters, in which case the an configuration to related policy parameters, in which case the
operator MUST also be allowed to set the encoding format and order to operator MUST also be allowed to set the encoding format and order to
parse the associated policy parameters TLV. parse the associated policy parameters TLV.
9.2. Information and Data Models 9.2. Information and Data Models
[RFC7420] describes the PCEP MIB, there are no new MIB Objects for [RFC7420] describes the PCEP MIB, there are no new MIB Objects for
this document. this document.
The PCEP YANG module is defined in [I-D.ietf-pce-pcep-yang]. This The PCEP YANG module is defined in [I-D.ietf-pce-pcep-yang]. This
module supports associations as defined in [RFC8697] and thus support module supports associations as defined in [RFC8697] and thus
the Policy Association groups. supports the Policy Association groups.
An implementation SHOULD allow the operator to view the PAG An implementation SHOULD allow the operator to view the PAG
configured. Further implementation SHOULD allow to view associations configured. Further implementation SHOULD allow to view associations
reported by each peer, and the current set of LSPs in the PAG. reported by each peer, and the current set of LSPs in the PAG.
9.3. Liveness Detection and Monitoring 9.3. Liveness Detection and Monitoring
Mechanisms defined in this document do not imply any new liveness Mechanisms defined in this document do not imply any new liveness
detection and monitoring requirements in addition to those already detection and monitoring requirements in addition to those already
listed in [RFC5440], [RFC8231], and [RFC8281]. listed in [RFC5440], [RFC8231], and [RFC8281].
skipping to change at page 11, line 30 skipping to change at page 12, line 7
on other protocols. on other protocols.
9.6. Impact on Network Operations 9.6. Impact on Network Operations
Mechanisms defined in this document do not have any impact on network Mechanisms defined in this document do not have any impact on network
operations in addition to those already listed in [RFC5440], operations in addition to those already listed in [RFC5440],
[RFC8231], and [RFC8281]. [RFC8231], and [RFC8281].
10. Acknowledgments 10. Acknowledgments
A special thanks to author of [RFC8697], this document borrow some of A special thanks to the authors of [RFC8697], this document borrowed
the text from it. some of the text from it. The authors would like to thank Aijun
Wang, Peng Shuping, and Gyan Mishra for their useful comments.
11. References 11. References
11.1. Normative References 11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
skipping to change at page 12, line 25 skipping to change at page 12, line 49
(LSPs)", RFC 8697, DOI 10.17487/RFC8697, January 2020, (LSPs)", RFC 8697, DOI 10.17487/RFC8697, January 2020,
<https://www.rfc-editor.org/info/rfc8697>. <https://www.rfc-editor.org/info/rfc8697>.
11.2. Informative References 11.2. Informative References
[RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation [RFC4655] Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
Element (PCE)-Based Architecture", RFC 4655, Element (PCE)-Based Architecture", RFC 4655,
DOI 10.17487/RFC4655, August 2006, DOI 10.17487/RFC4655, August 2006,
<https://www.rfc-editor.org/info/rfc4655>. <https://www.rfc-editor.org/info/rfc4655>.
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
"Network Time Protocol Version 4: Protocol and Algorithms
Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
<https://www.rfc-editor.org/info/rfc5905>.
[RFC5394] Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash, [RFC5394] Bryskin, I., Papadimitriou, D., Berger, L., and J. Ash,
"Policy-Enabled Path Computation Framework", RFC 5394, "Policy-Enabled Path Computation Framework", RFC 5394,
DOI 10.17487/RFC5394, December 2008, DOI 10.17487/RFC5394, December 2008,
<https://www.rfc-editor.org/info/rfc5394>. <https://www.rfc-editor.org/info/rfc5394>.
[RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J. [RFC7420] Koushik, A., Stephan, E., Zhao, Q., King, D., and J.
Hardwick, "Path Computation Element Communication Protocol Hardwick, "Path Computation Element Communication Protocol
(PCEP) Management Information Base (MIB) Module", (PCEP) Management Information Base (MIB) Module",
RFC 7420, DOI 10.17487/RFC7420, December 2014, RFC 7420, DOI 10.17487/RFC7420, December 2014,
<https://www.rfc-editor.org/info/rfc7420>. <https://www.rfc-editor.org/info/rfc7420>.
skipping to change at page 13, line 27 skipping to change at page 14, line 9
[RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., [RFC8664] Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W.,
and J. Hardwick, "Path Computation Element Communication and J. Hardwick, "Path Computation Element Communication
Protocol (PCEP) Extensions for Segment Routing", RFC 8664, Protocol (PCEP) Extensions for Segment Routing", RFC 8664,
DOI 10.17487/RFC8664, December 2019, DOI 10.17487/RFC8664, December 2019,
<https://www.rfc-editor.org/info/rfc8664>. <https://www.rfc-editor.org/info/rfc8664>.
[I-D.ietf-pce-pcep-yang] [I-D.ietf-pce-pcep-yang]
Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A Dhody, D., Hardwick, J., Beeram, V., and J. Tantsura, "A
YANG Data Model for Path Computation Element YANG Data Model for Path Computation Element
Communications Protocol (PCEP)", draft-ietf-pce-pcep- Communications Protocol (PCEP)", draft-ietf-pce-pcep-
yang-13 (work in progress), October 2019. yang-14 (work in progress), July 2020.
Appendix A. Contributor Addresses Appendix A. Example of Policy Parameters
An example could be a monitoring and telemetry policy P1 that is
dependent on a profile (GOLD/SILVER/BRONZE) as set by the operator.
The PCEP peers need to be aware of the policy P1 (and its associated
characteristics) in advance as well the fact that the policy
parameter will encode the profile of type string in the POLICY-
PARAMETERS-TLV. As an example, LSP1 could encode the PAG with the
POLICY-PARAMETERS-TLV with a string "GOLD".
Another example where the path computation at PCE could be dependent
on when the LSP was configured at the PCC. For such a policy P2, the
time-stamp can be encoded in the POLICY-PARAMETERS-TLV and the exact
encoding could be the 64-bit timestamp format as defined in
[RFC5905].
While the above example has a single field in the POLICY-PARAMETERS-
TLV, it is possible to include multiple fields, but the exact order,
encoding format and meanings need to be known in advance at the PCEP
peers.
Appendix B. Contributor Addresses
Dhruv Dhody Dhruv Dhody
Huawei Technologies Huawei Technologies
Divyashree Techno Park, Whitefield Divyashree Techno Park, Whitefield
Bangalore, Karnataka 560066 Bangalore, Karnataka 560066
India India
EMail: dhruv.ietf@gmail.com EMail: dhruv.ietf@gmail.com
Qin Wu Qin Wu
Huawei Technologies Huawei Technologies
 End of changes. 47 change blocks. 
97 lines changed or deleted 153 lines changed or added

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