| < 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/ | ||||