| < draft-ietf-pce-association-policy-02.txt | draft-ietf-pce-association-policy-03.txt > | |||
|---|---|---|---|---|
| PCE Working Group D. Dhody, Ed. | PCE Working Group D. Dhody, Ed. | |||
| Internet-Draft Huawei Technologies | Internet-Draft Huawei Technologies | |||
| Intended status: Standards Track S. Sivabalan | Intended status: Standards Track S. Sivabalan | |||
| Expires: August 31, 2018 Cisco Systems, Inc. | Expires: December 21, 2018 Cisco Systems, Inc. | |||
| S. Litkowski | S. Litkowski | |||
| Orange | Orange | |||
| J. Tantsura | J. Tantsura | |||
| Individual | Individual | |||
| J. Hardwick | J. Hardwick | |||
| Metaswitch Networks | Metaswitch Networks | |||
| February 27, 2018 | June 19, 2018 | |||
| Path Computation Element communication Protocol extension for | Path Computation Element communication Protocol extension for | |||
| associating Policies and LSPs | associating Policies and LSPs | |||
| draft-ietf-pce-association-policy-02 | draft-ietf-pce-association-policy-03 | |||
| 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). | |||
| 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 | |||
| skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
| 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 August 31, 2018. | This Internet-Draft will expire on December 21, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 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 | |||
| skipping to change at page 3, line 43 ¶ | skipping to change at page 3, line 43 ¶ | |||
| 2. Terminology | 2. Terminology | |||
| The following terminology is used in this document. | The following terminology is used in this document. | |||
| Association parameters: As described in | Association parameters: As described in | |||
| [I-D.ietf-pce-association-group], the combination of the mandatory | [I-D.ietf-pce-association-group], the combination of the mandatory | |||
| fields Association type, Association ID and Association Source in | fields Association type, Association ID and Association Source in | |||
| the ASSOCIATION object uniquely identify the association group. | the ASSOCIATION object uniquely identify the association group. | |||
| If the optional TLVs - Global Association Source or Extended | If the optional TLVs - Global Association Source or Extended | |||
| Association ID are included, then they MUST be included in | Association ID are included, then they are included in combination | |||
| combination with mandatory fields to uniquely identifying the | with mandatory fields to uniquely identifying the association | |||
| association group. | group. | |||
| Association information: As described in | Association information: As described in | |||
| [I-D.ietf-pce-association-group], the ASSOCIATION object MAY | [I-D.ietf-pce-association-group], the ASSOCIATION object could | |||
| include other optional TLVs based on the association types, that | include other optional TLVs based on the association types, that | |||
| provides 'information' related to the association type. | provides 'information' related to the association. | |||
| LSR: Label Switch Router. | LSR: Label Switch Router. | |||
| LSR: Label Switch Router. | LSR: Label Switch Router. | |||
| MPLS: Multiprotocol Label Switching. | MPLS: Multiprotocol Label Switching. | |||
| PAG: Policy Association Group. | PAG: Policy Association Group. | |||
| 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 25 ¶ | skipping to change at page 4, line 25 ¶ | |||
| 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 MAY be subjected to various policies on both | Paths computed using PCE can be subjected to various policies on both | |||
| PCE and PCC. For example, in a centralized traffic engineering | PCE and PCC. For example, in a centralized traffic engineering | |||
| scenario, network operators may instantiate LSPs and specifies | scenario, network operators may instantiate LSPs and specifies | |||
| policies for traffic steering, path monitoring, etc., for some LSPs | policies for traffic steering, path monitoring, etc., for some LSPs | |||
| via the stateful PCE. Similarly, a PCC may request a user- or | via the stateful PCE. Similarly, a PCC could request a user- or | |||
| service-specific policy to be applied at the PCE, such as constraints | service-specific policy to be applied at the PCE, such as constraints | |||
| relaxation to meet optimal QoS and resiliency. | relaxation to meet optimal QoS and resiliency. | |||
| PCEP speaker can use the generic mechanism as per | PCEP speaker can use the generic mechanism as per | |||
| [I-D.ietf-pce-association-group] to associate a set of LSPs with | [I-D.ietf-pce-association-group] to associate a set of LSPs with a | |||
| policy, without the need to know the details of such policies, which | policy, without the need to know the details of such a policy, which | |||
| simplifies network operations, avoids frequent software upgrades, as | simplifies network operations, avoids frequent software upgrades, as | |||
| well provides an ability to introduce new policy faster. | well provides an ability to introduce new policy faster. | |||
| PAG Y | PAG Y | |||
| {Service-Specific Policy | {Service-Specific Policy | |||
| for constraint | for constraint | |||
| Initiate & Monitor LSP relaxation} | Initiate & Monitor LSP relaxation} | |||
| | | | | | | |||
| | PAG X PCReq | | | PAG X PCReq | | |||
| V {Monitor LSP} {PAG Y} V | V {Monitor LSP} {PAG Y} V | |||
| +-----+ ----------------> +-----+ | +-----+ ----------------> +-----+ | |||
| _ _ _ _ _ _| PCE | | | PCE | | _ _ _ _ _ _| PCE | | | PCE | | |||
| | +-----+ | ----------> +-----+ | | +-----+ | ----------> +-----+ | |||
| | PCEInitiate | | PCReq | | PCEInitiate | | PCReq | |||
| |{PAG X} | | {PAG Y} | |{PAG X} | | {PAG Y} | |||
| skipping to change at page 6, line 24 ¶ | skipping to change at page 6, line 24 ¶ | |||
| As per [I-D.ietf-pce-association-group], LSPs are associated with | As per [I-D.ietf-pce-association-group], LSPs are associated with | |||
| other LSPs with which they interact by adding them to a common | other LSPs with which they interact by adding them to a common | |||
| association group. Grouping can also be used to define association | association group. Grouping can also be used to define association | |||
| between LSPs and policies associated to them. One new Association | between LSPs and policies associated to them. One new Association | |||
| Type is defined in this document, based on the generic Association | Type is defined in this document, based on the generic Association | |||
| object - | object - | |||
| o Association type = TBD1 ("Policy Association Type") for Policy | o Association type = TBD1 ("Policy Association Type") for Policy | |||
| Association Group (PAG) | Association Group (PAG) | |||
| [I-D.ietf-pce-association-group] specify the mechanism for the | ||||
| capability advertisement of the association types supported by a PCEP | ||||
| speaker by defining a ASSOC-Type-List TLV to be carried within an | ||||
| OPEN object. This capability exchange for the association type | ||||
| described in this document (i.e. Policy Association Type) MUST be | ||||
| done before using the policy association. Thus the PCEP speaker MUST | ||||
| include the Policy Association Type (TBD1) in the ASSOC-Type-List TLV | ||||
| before using the PAG in the PCEP messages. | ||||
| This Association-Type is operator-configured association in nature | This Association-Type is operator-configured association in nature | |||
| and created by the operator manually on the PCEP peers. The LSP | and created by the operator manually on the PCEP peers. The LSP | |||
| belonging to this associations is conveyed via PCEP messages to the | belonging to this associations is conveyed via PCEP messages to the | |||
| PCEP peer. Operator-configured Association Range SHOULD NOT be set | PCEP peer. Operator-configured Association Range SHOULD NOT be set | |||
| for this association-type, and MUST be ignored, so that the full | for this association-type, and MUST be ignored, so that the full | |||
| range of association identifier can be utilized. | range of association identifier can be utilized. | |||
| A PAG can have one or more LSPs and its associated policy(s). The | A PAG can have one or more LSPs and its associated policy. The | |||
| association parameters including association identifier, type | association parameters including association identifier, type | |||
| (Policy), as well as the association source IP address is manually | (Policy), as well as the association source IP address is manually | |||
| configured by the operator and is used to identify the PAG as | configured by the operator and is used to identify the PAG as | |||
| described in [I-D.ietf-pce-association-group]. | described in [I-D.ietf-pce-association-group]. The Global | |||
| Association Source and Extended Association ID MAY also be included. | ||||
| As per the processing rules specified in section 5.4 of | As per the processing rules specified in section 5.4 of | |||
| [I-D.ietf-pce-association-group], if a PCEP speaker does not support | [I-D.ietf-pce-association-group], if a PCEP speaker does not support | |||
| this Policy association-type, it MUST return a PCErr message with | this Policy association-type, it would return a PCErr message with | |||
| Error-Type 26 (Early allocation by IANA) "Association Error" and | Error-Type 26 (Early allocation by IANA) "Association Error" and | |||
| Error-Value 1 "Association-type is not supported". Since the PAG is | 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 | 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 processing is as per section 5.4 of | All processing is as per section 5.4 of | |||
| [I-D.ietf-pce-association-group]. If a PCE speaker receives PAG in a | [I-D.ietf-pce-association-group]. If a PCE speaker receives PAG in a | |||
| PCEP message, and the association information is not configured, it | PCEP message, and the policy association information is not | |||
| MUST return a PCErr message with Error-Type TBD "Association Error" | configured, it MUST return a PCErr message with Error-Type TBD | |||
| and Error- Value 4 "Association unknown". If some of the association | "Association Error" and Error- Value 4 "Association unknown". If | |||
| information [I-D.ietf-pce-association-group] (the TLVs defined in | some of the association information [I-D.ietf-pce-association-group] | |||
| this document) received from the peer does not match the local | (the TLVs defined in this document) received from the peer does not | |||
| configured values, the PCEP speaker will reject the PCEP message and | match the local configured values, the PCEP speaker MUST reject the | |||
| send a PCErr message with Error-Type 26 (Early allocation by IANA) | PCEP message and send a PCErr message with Error-Type 26 (Early | |||
| "Association Error" and Error-Value 5 "Operator-configured | allocation by IANA) "Association Error" and Error-Value 5 "Operator- | |||
| association information mismatch". | configured association information mismatch". | |||
| 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 [I-D.ietf-pce-association-group]. Two | ASSOCIATION object defined in [I-D.ietf-pce-association-group]. Two | |||
| object types for IPv4 and IPv6 are defined. The ASSOCIATION object | object types for IPv4 and IPv6 are defined. The ASSOCIATION object | |||
| includes "Association type" indicating the type of the association | includes "Association type" indicating the type of the association | |||
| group. This document add a new Association type - | group. This document add a new Association type - | |||
| Association type = TBD1 ("Policy Association Type") for PAG. | Association type = TBD1 ("Policy Association Type") for PAG. | |||
| skipping to change at page 7, line 36 ¶ | skipping to change at page 7, line 46 ¶ | |||
| 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 (with "Policy Association Type") to carry opaque | ASSOCIATION object (with "Policy Association Type") to carry opaque | |||
| information needed to apply the policy at the PCEP peer. In some | information needed to apply the policy at the PCEP peer. In some | |||
| cases to apply a PCE policy successfully, it is required to also | cases to apply a PCE policy successfully, it is required to also | |||
| associate some policy parameters that needs to be evaluated to | associate some policy parameters that needs to be evaluated to | |||
| successfully apply the said policy. This TLV is used to carry those | successfully apply the said policy. This TLV is used to carry those | |||
| policy parameters. The TLV could include one or more policy related | policy parameters. The TLV could include one or more policy related | |||
| parameter. The encoding format and the order MUST be known to the | parameter. The encoding format and the order MUST be known to the | |||
| PCEP peers, this could be done during configuration of policy and | PCEP peers, this could be done during configuration of policy (and | |||
| association parameters for the PAG. The TLV format is as per the | its association parameters) for the PAG. The TLV format is as per | |||
| format of all PCEP TLVs, as defined in [RFC5440], and shown in | the format of the PCEP TLVs, as defined in [RFC5440], and shown in | |||
| Figure 2. Only one POLICY-PARAMETERS-TLV can be carried and only the | Figure 2. Only one POLICY-PARAMETERS-TLV can be carried and only the | |||
| first occurrence is processed and any others MUST be ignored. | first occurrence is processed and any others MUST be 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 field padded to a 4-bytes | |||
| alignment; padding is not included in 'Len' field. The 'Len' field | alignment; padding is not included in the Length field. The PCEP | |||
| is 1-byte followed by the opaque variable. The PCEP peer | peer implementation need to be aware of the encoding format, order, | |||
| implementation need to be aware of the encoding format, order, and | and meaning of the 'Policy Parameters' well in advance based on the | |||
| 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. | |||
| 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 ignore | |||
| the TLV and SHOULD log this event. Further, if one or more | the TLV and SHOULD log this event. Further, if one or more | |||
| parameters received in the POLICY-PARAMETERS-TLV received by the PCEP | parameters received in the POLICY-PARAMETERS-TLV received by the PCEP | |||
| speaker are considered as unacceptable in the context of the | speaker are considered as unacceptable in the context of the | |||
| skipping to change at page 11, line 9 ¶ | skipping to change at page 11, line 9 ¶ | |||
| [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path | [RFC8231] Crabbe, E., Minei, I., Medved, J., and R. Varga, "Path | |||
| Computation Element Communication Protocol (PCEP) | Computation Element Communication Protocol (PCEP) | |||
| Extensions for Stateful PCE", RFC 8231, | Extensions for Stateful PCE", RFC 8231, | |||
| DOI 10.17487/RFC8231, September 2017, | DOI 10.17487/RFC8231, September 2017, | |||
| <https://www.rfc-editor.org/info/rfc8231>. | <https://www.rfc-editor.org/info/rfc8231>. | |||
| [I-D.ietf-pce-association-group] | [I-D.ietf-pce-association-group] | |||
| Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., | Minei, I., Crabbe, E., Sivabalan, S., Ananthakrishnan, H., | |||
| Dhody, D., and Y. Tanaka, "PCEP Extensions for | Dhody, D., and Y. Tanaka, "PCEP Extensions for | |||
| Establishing Relationships Between Sets of LSPs", draft- | Establishing Relationships Between Sets of LSPs", draft- | |||
| ietf-pce-association-group-04 (work in progress), August | ietf-pce-association-group-06 (work in progress), June | |||
| 2017. | 2018. | |||
| 10.2. Informative References | 10.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>. | |||
| [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, | |||
| skipping to change at page 11, line 51 ¶ | skipping to change at page 11, line 51 ¶ | |||
| [I-D.ietf-pce-segment-routing] | [I-D.ietf-pce-segment-routing] | |||
| Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | Sivabalan, S., Filsfils, C., Tantsura, J., Henderickx, W., | |||
| and J. Hardwick, "PCEP Extensions for Segment Routing", | and J. Hardwick, "PCEP Extensions for Segment Routing", | |||
| draft-ietf-pce-segment-routing-11 (work in progress), | draft-ietf-pce-segment-routing-11 (work in progress), | |||
| November 2017. | November 2017. | |||
| [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-06 (work in progress), January 2018. | yang-07 (work in progress), March 2018. | |||
| Appendix A. Contributor Addresses | Appendix A. Contributor Addresses | |||
| Qin Wu | Qin Wu | |||
| Huawei Technologies | Huawei Technologies | |||
| 101 Software Avenue, Yuhua District | 101 Software Avenue, Yuhua District | |||
| Nanjing, Jiangsu 210012 | Nanjing, Jiangsu 210012 | |||
| China | China | |||
| EMail: sunseawq@huawei.com | EMail: sunseawq@huawei.com | |||
| End of changes. 22 change blocks. | ||||
| 36 lines changed or deleted | 47 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/ | ||||