| < draft-ietf-pce-binding-label-sid-00.txt | draft-ietf-pce-binding-label-sid-01.txt > | |||
|---|---|---|---|---|
| PCE Working Group S. Sivabalan | PCE Working Group S. Sivabalan | |||
| Internet-Draft C. Filsfils | Internet-Draft C. Filsfils | |||
| Intended status: Standards Track Cisco Systems, Inc. | Intended status: Standards Track Cisco Systems, Inc. | |||
| Expires: March 9, 2020 J. Tantsura | Expires: May 6, 2020 J. Tantsura | |||
| Apstra, Inc. | Apstra, Inc. | |||
| J. Hardwick | J. Hardwick | |||
| Metaswitch Networks | Metaswitch Networks | |||
| S. Previdi | S. Previdi | |||
| C. Li | C. Li | |||
| Huawei Technologies | Huawei Technologies | |||
| September 6, 2019 | November 3, 2019 | |||
| Carrying Binding Label/Segment-ID in PCE-based Networks. | Carrying Binding Label/Segment-ID in PCE-based Networks. | |||
| draft-ietf-pce-binding-label-sid-00 | draft-ietf-pce-binding-label-sid-01 | |||
| Abstract | Abstract | |||
| In order to provide greater scalability, network opacity, and service | In order to provide greater scalability, network opacity, and service | |||
| independence, SR utilizes a Binding Segment Identifier (BSID). It is | independence, Segment Routing (SR) utilizes a Binding Segment | |||
| possible to associate a BSID to RSVP-TE signaled Traffic Engineering | Identifier (BSID). It is possible to associate a BSID to RSVP-TE | |||
| Label Switching Path or binding Segment-ID (SID) to Segment Routed | signaled Traffic Engineering Label Switching Path or binding Segment- | |||
| (SR) Traffic Engineering path. Such a binding label/SID can be used | ID (SID) to SR Traffic Engineering path. Such a binding label/SID | |||
| by an upstream node for steering traffic into the appropriate TE path | can be used by an upstream node for steering traffic into the | |||
| to enforce SR policies. This document proposes an approach for | appropriate TE path to enforce SR policies. This document proposes | |||
| reporting binding label/SID to Path Computation Element (PCE) for | an approach for reporting binding label/SID to Path Computation | |||
| supporting PCE-based Traffic Engineering policies. | Element (PCE) for supporting PCE-based Traffic Engineering policies. | |||
| Requirements Language | 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. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 2, line 7 ¶ | skipping to change at page 2, line 7 ¶ | |||
| 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 March 9, 2020. | This Internet-Draft will expire on May 6, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 2, line 32 ¶ | skipping to change at page 2, line 32 ¶ | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 8 | 5. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Binding SID in SRv6-ERO/ . . . . . . . . . . . . . . . . . . 8 | 6. Binding SID in SRv6-ERO/ . . . . . . . . . . . . . . . . . . 8 | |||
| 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 | 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 7.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | |||
| 9. Manageability Considerations . . . . . . . . . . . . . . . . 10 | 9. Manageability Considerations . . . . . . . . . . . . . . . . 10 | |||
| 9.1. Control of Function and Policy . . . . . . . . . . . . . 10 | 9.1. Control of Function and Policy . . . . . . . . . . . . . 10 | |||
| 9.2. Information and Data Models . . . . . . . . . . . . . . . 10 | 9.2. Information and Data Models . . . . . . . . . . . . . . . 10 | |||
| 9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 10 | 9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 10 | |||
| 9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 10 | 9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 10 | |||
| 9.5. Requirements On Other Protocols . . . . . . . . . . . . . 10 | 9.5. Requirements On Other Protocols . . . . . . . . . . . . . 10 | |||
| 9.6. Impact On Network Operations . . . . . . . . . . . . . . 10 | 9.6. Impact On Network Operations . . . . . . . . . . . . . . 11 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 10.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 11 | 10.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 11 | |||
| 10.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 11 | 10.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 11 | |||
| 10.2. PCEP Error Type and Value . . . . . . . . . . . . . . . 11 | 10.2. PCEP Error Type and Value . . . . . . . . . . . . . . . 11 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 11 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 13 | 12.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
| Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 15 | Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 1. Introduction | 1. Introduction | |||
| A PCE can compute Traffic Engineering paths (TE paths) through a | A PCE can compute Traffic Engineering paths (TE paths) through a | |||
| network that are subject to various constraints. Currently, TE paths | network that are subject to various constraints. Currently, TE paths | |||
| skipping to change at page 3, line 25 ¶ | skipping to change at page 3, line 25 ¶ | |||
| Segment Routing Policy (SR Policy). Further, as per | Segment Routing Policy (SR Policy). Further, as per | |||
| [I-D.ietf-spring-segment-routing-policy], an SR Policy is a framework | [I-D.ietf-spring-segment-routing-policy], an SR Policy is a framework | |||
| that enables instantiation of an ordered list of segments on a node | that enables instantiation of an ordered list of segments on a node | |||
| for implementing a source routing policy with a specific intent for | for implementing a source routing policy with a specific intent for | |||
| traffic steering from that node. | traffic steering from that node. | |||
| As described in [RFC8402], Binding Segment Identifier (BSID) is bound | As described in [RFC8402], Binding Segment Identifier (BSID) is bound | |||
| to an Segment Routed (SR) Policy, instantiation of which may involve | to an Segment Routed (SR) Policy, instantiation of which may involve | |||
| a list of SIDs. Any packets received with an active segment equal to | a list of SIDs. Any packets received with an active segment equal to | |||
| BSID are steered onto the bound SR Policy. A BSID may be either a | BSID are steered onto the bound SR Policy. A BSID may be either a | |||
| local (SRLB) or a global (SRGB) SID. As per Section 6.4 of | local (SR Local Block (SRLB)) or a global (SR Global Block (SRGB)) | |||
| [I-D.ietf-spring-segment-routing-policy] a BSID can also be | SID. As per Section 6.4 of [I-D.ietf-spring-segment-routing-policy] | |||
| associated with any type of interfaces or tunnel to enable the use of | a BSID can also be associated with any type of interfaces or tunnel | |||
| a non-SR interface or tunnels as segments in a SID-list. | to enable the use of a non-SR interface or tunnels as segments in a | |||
| SID-list. | ||||
| [RFC5440] describes the Path Computation Element Protocol (PCEP) for | [RFC5440] describes the Path Computation Element Protocol (PCEP) for | |||
| communication between a Path Computation Client (PCC) and a PCE or | communication between a Path Computation Client (PCC) and a PCE or | |||
| between a pair of PCEs as per [RFC4655]. [RFC8231] specifies | between a pair of PCEs as per [RFC4655]. [RFC8231] specifies | |||
| extension to PCEP that allows a PCC to delegate its LSPs to a | extension to PCEP that allows a PCC to delegate its LSPs to a | |||
| stateful PCE. A stateful PCE can then update the state of LSPs | stateful PCE. A stateful PCE can then update the state of LSPs | |||
| delegated to it. [RFC8281] specifies a mechanism allowing a PCE to | delegated to it. [RFC8281] specifies a mechanism allowing a PCE to | |||
| dynamically instantiate an LSP on a PCC by sending the path and | dynamically instantiate an LSP on a PCC by sending the path and | |||
| characteristics. The PCEP extension to setup and maintain SR-TE | characteristics. The PCEP extension to setup and maintain SR-TE | |||
| paths is specified in [I-D.ietf-pce-segment-routing]. | paths is specified in [I-D.ietf-pce-segment-routing]. | |||
| skipping to change at page 6, line 7 ¶ | skipping to change at page 6, line 7 ¶ | |||
| SR: Segment Routing. | SR: Segment Routing. | |||
| SRGB: Segment Routing Global Block. | SRGB: Segment Routing Global Block. | |||
| SRLB: Segment Routing Local Block. | SRLB: Segment Routing Local Block. | |||
| TLV: Type, Length, and Value. | TLV: Type, Length, and Value. | |||
| 3. Path Binding TLV | 3. Path Binding TLV | |||
| The new optional TLV is called "TE-PATH-BINDING TLV" whose format is | The new optional TLV is called "TE-PATH-BINDING TLV" (whose format is | |||
| shown in the diagram below is defined to carry binding label or SID | shown in the figure below) is defined to carry binding label or SID | |||
| for a TE path. This TLV is associated with the LSP object specified | for a TE path. This TLV is associated with the LSP object specified | |||
| in ([RFC8231]). The type of this TLV is to be allocated by IANA. | in ([RFC8231]). The type of this TLV is to be allocated by IANA. | |||
| 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 | Length | | | Type | Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | BT | Reserved | | | BT | Reserved | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ~ Binding Value (variable length) ~ | ~ Binding Value (variable length) ~ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 2: TE-PATH-BINDING TLV | Figure 2: TE-PATH-BINDING TLV | |||
| TE-PATH-BINDING TLV is a generic TLV such that it is able to carry | TE-PATH-BINDING TLV is a generic TLV such that it is able to carry | |||
| MPLS label binding as well as SRV6 Binding SID. It is formatted | MPLS label binding as well as SRv6 Binding SID. It is formatted | |||
| according to the rules specified in [RFC5440]. | according to the rules specified in [RFC5440]. | |||
| Binding Type (BT): A one byte field identifies the type of binding | Binding Type (BT): A one byte field identifies the type of binding | |||
| included in the TLV. This document specifies the following BT | included in the TLV. This document specifies the following BT | |||
| values: | values: | |||
| o BT = 0: The binding value is an MPLS label carried in the format | o BT = 0: The binding value is an MPLS label carried in the format | |||
| specified in [RFC5462] where only the label value is valid, and | specified in [RFC5462] where only the label value is valid, and | |||
| other fields (TC, S, and TTL) fields MUST be considered invalid. | other fields (TC, S, and TTL) fields MUST be considered invalid. | |||
| The Length MUST be set to 6. | The Length MUST be set to 6. | |||
| skipping to change at page 7, line 9 ¶ | skipping to change at page 7, line 9 ¶ | |||
| Binding Value: A variable length field, padded with trailing zeros to | Binding Value: A variable length field, padded with trailing zeros to | |||
| a 4-byte boundary. For the BT as 0, the 20 bits represents the MPLS | a 4-byte boundary. For the BT as 0, the 20 bits represents the MPLS | |||
| label. For the BT as 1, the 32-bits represents the label stack entry | label. For the BT as 1, the 32-bits represents the label stack entry | |||
| as per [RFC5462]. For the BT as 2, the 128-bits represent the SRv6 | as per [RFC5462]. For the BT as 2, the 128-bits represent the SRv6 | |||
| SID. | SID. | |||
| 4. Operation | 4. Operation | |||
| The binding value is allocated by the PCC and reported to a PCE via | The binding value is allocated by the PCC and reported to a PCE via | |||
| PCRpt message. If a PCE does not recognize the TE-PATH-BINDING TLV, | PCRpt message. If a PCE does not recognize the TE-PATH-BINDING TLV, | |||
| it MUST ignore the TLV in accordance with ([RFC5440]). If a PCE | it would ignore the TLV in accordance with ([RFC5440]). If a PCE | |||
| recognizes the TLV but does not support the TLV, it MUST send PCErr | recognizes the TLV but does not support the TLV, it MUST send PCErr | |||
| with Error-Type = 2 (Capability not supported). | with Error-Type = 2 (Capability not supported). | |||
| If a TE-PATH-BINDING TLV is absent in PCRpt message, PCE MUST assume | If a TE-PATH-BINDING TLV is absent in PCRpt message, PCE MUST assume | |||
| that the corresponding LSP does not have any binding. If there are | that the corresponding LSP does not have any binding. If there are | |||
| more than one TE-PATH-BINDING TLVs, only the first TLV MUST be | more than one TE-PATH-BINDING TLVs, only the first TLV MUST be | |||
| processed and the rest MUST be silently ignored. If a PCE recognizes | processed and the rest MUST be silently ignored. If a PCE recognizes | |||
| an invalid binding value (e.g., label value from the reserved label | an invalid binding value (e.g., label value from the reserved label | |||
| space when MPLS label binding is used), it MUST send the PCErr | space when MPLS label binding is used), it MUST send the PCErr | |||
| message with Error-Type = 10 ("Reception of an invalid object") and | message with Error-Type = 10 ("Reception of an invalid object") and | |||
| Error Value = TBD ("Bad label value") as specified in | Error Value = 2 ("Bad label value") as specified in | |||
| [I-D.ietf-pce-segment-routing]. | [I-D.ietf-pce-segment-routing]. | |||
| If a PCE requires a PCC to allocate a specific binding value, it may | If a PCE requires a PCC to allocate a specific binding value, it may | |||
| do so by sending a PCUpd or PCInitiate message containing a TE-PATH- | do so by sending a PCUpd or PCInitiate message containing a TE-PATH- | |||
| BINDING TLV. If the value can be successfully allocated, the PCC | BINDING TLV. If the value can be successfully allocated, the PCC | |||
| reports the binding value to the PCE. If the PCC considers the | reports the binding value to the PCE. If the PCC considers the | |||
| binding value specified by the PCE invalid, it MUST send a PCErr | binding value specified by the PCE invalid, it MUST send a PCErr | |||
| message with Error-Type = TBD ("Binding label/SID failure") and Error | message with Error-Type = TBD2 ("Binding label/SID failure") and | |||
| Value = TBD ("Invalid SID"). If the binding value is valid, but the | Error Value = TBD3 ("Invalid SID"). If the binding value is valid, | |||
| PCC is unable to allocate the binding value, it MUST send a PCErr | but the PCC is unable to allocate the binding value, it MUST send a | |||
| message with Error-Type = TBD ("Binding label/SID failure") and Error | PCErr message with Error-Type = TBD2 ("Binding label/SID failure") | |||
| Value = TBD ("Unable to allocate the specified label/SID"). | and Error Value = TBD4 ("Unable to allocate the specified label/ | |||
| SID"). | ||||
| If a PCC receives TE-PATH-BINDING TLV in any message other than PCUpd | If a PCC receives TE-PATH-BINDING TLV in any message other than PCUpd | |||
| or PCInitiate, it MUST close the corresponding PCEP session with the | or PCInitiate, it MUST close the corresponding PCEP session with the | |||
| reason "Reception of a malformed PCEP message" (according to | reason "Reception of a malformed PCEP message" (according to | |||
| [RFC5440]). Similarly, if a PCE receives a TE-PATH-BINDING TLV in | [RFC5440]). Similarly, if a PCE receives a TE-PATH-BINDING TLV in | |||
| any message other than a PCRpt or if the TE-PATH-BINDING TLV is | any message other than a PCRpt or if the TE-PATH-BINDING TLV is | |||
| associated with any object other than LSP object, the PCE MUST close | associated with any object other than LSP object, the PCE MUST close | |||
| the corresponding PCEP session with the reason "Reception of a | the corresponding PCEP session with the reason "Reception of a | |||
| malformed PCEP message" (according to [RFC5440]). | malformed PCEP message" (according to [RFC5440]). | |||
| skipping to change at page 8, line 9 ¶ | skipping to change at page 8, line 11 ¶ | |||
| If a PCE wishes to modify a previously requested binding value, it | If a PCE wishes to modify a previously requested binding value, it | |||
| MUST send a PCUpd message with TE-PATH-BINDING TLV containing the new | MUST send a PCUpd message with TE-PATH-BINDING TLV containing the new | |||
| binding value. Absence of TE-PATH-BINDING TLV in PCUpd message means | binding value. Absence of TE-PATH-BINDING TLV in PCUpd message means | |||
| that the PCE does not specify a binding value in which case the | that the PCE does not specify a binding value in which case the | |||
| binding value allocation is governed by the PCC's local policy. | binding value allocation is governed by the PCC's local policy. | |||
| If a PCC receives a valid binding value from a PCE which is different | If a PCC receives a valid binding value from a PCE which is different | |||
| than the current binding value, it MUST try to allocate the new | than the current binding value, it MUST try to allocate the new | |||
| value. If the new binding value is successfully allocated, the PCC | value. If the new binding value is successfully allocated, the PCC | |||
| MUST report the new value to the PCE. Otherwise, it MUST send a | MUST report the new value to the PCE. Otherwise, it MUST send a | |||
| PCErr message with Error-Type = TBD ("Binding label/SID failure") and | PCErr message with Error-Type = TBD2 ("Binding label/SID failure") | |||
| Error Value = TBD ("Unable to allocate the specified label/SID"). | and Error Value = TBD4 ("Unable to allocate the specified label/ | |||
| SID"). | ||||
| In some cases, a stateful PCE can request the PCC to allocate a | In some cases, a stateful PCE can request the PCC to allocate a | |||
| binding value. It may do so by sending a PCUpd message containing an | binding value. It may do so by sending a PCUpd message containing an | |||
| empty TE-PATH-BINDING TLV, i.e., no binding value is specified | empty TE-PATH-BINDING TLV, i.e., no binding value is specified | |||
| (making the length field of the TLV as 2). A PCE can also make the | (making the length field of the TLV as 2). A PCE can also make the | |||
| request PCC to allocate a binding at the time of initiation by | request PCC to allocate a binding at the time of initiation by | |||
| sending a PCInitiate message with an empty TE-PATH-BINDING TLV. | sending a PCInitiate message with an empty TE-PATH-BINDING TLV. | |||
| 5. Binding SID in SR-ERO | 5. Binding SID in SR-ERO | |||
| In PCEP messages, LSP route information is carried in the Explicit | In PCEP messages, LSP route information is carried in the Explicit | |||
| Route Object (ERO), which consists of a sequence of subobjects. | Route Object (ERO), which consists of a sequence of subobjects. | |||
| [I-D.ietf-pce-segment-routing] defines a new ERO subobject "SR-ERO | [I-D.ietf-pce-segment-routing] defines a new ERO subobject "SR-ERO | |||
| subobject" capable of carrying a SID as well as the identity of the | subobject" capable of carrying a SID as well as the identity of the | |||
| node/adjacency (NAI) represented by the SID. The NAI Type (NT) field | node/adjacency (NAI) represented by the SID. The NAI Type (NT) field | |||
| indicates the type and format of the NAI contained in the SR-ERO. In | indicates the type and format of the NAI contained in the SR-ERO. In | |||
| case of binding SID, the NAI MUST NOT be included and NT MUST be set | case of binding SID, the NAI MUST NOT be included and NT MUST be set | |||
| to zero. So as per Section 5.2.1 of [I-D.ietf-pce-segment-routing], | to zero. So as per Section 5.2.1 of [I-D.ietf-pce-segment-routing], | |||
| for NT=0, the F bit MUST be 1, the S bit needs to be zero and the | for NT=0, the F bit is set to 1, the S bit needs to be zero and the | |||
| Length MUST be 8. Further the M bit MUST be set. If these | Length is 8. Further the M bit is set. If these conditions are not | |||
| conditions are not met, the entire ERO MUST be considered invalid and | met, the entire ERO MUST be considered invalid and a PCErr message is | |||
| a PCErr message is sent with Error-Type = 10 ("Reception of an | sent with Error-Type = 10 ("Reception of an invalid object") and | |||
| invalid object") and Error-Value = 11 ("Malformed object"). | Error-Value = 11 ("Malformed object"). | |||
| 6. Binding SID in SRv6-ERO/ | 6. Binding SID in SRv6-ERO/ | |||
| [I-D.ietf-pce-segment-routing] defines a new ERO subobject "SRv6-ERO | [I-D.ietf-pce-segment-routing] defines a new ERO subobject "SRv6-ERO | |||
| subobject" for SRv6 SID. The NAI MUST NOT be included and NT MUST be | subobject" for SRv6 SID. The NAI MUST NOT be included and NT MUST be | |||
| set to zero. So as per Section 5.2.1 of | set to zero. So as per Section 5.2.1 of | |||
| [I-D.ietf-pce-segment-routing], for NT=0, the F bit MUST be 1, the S | [I-D.ietf-pce-segment-routing], for NT=0, the F bit is set to 1, the | |||
| bit needs to be zero and the Length MUST be 24. If these conditions | S bit needs to be zero and the Length is 24. If these conditions are | |||
| are not met, the entire ERO is considered invalid and a PCErr message | not met, the entire ERO is considered invalid and a PCErr message is | |||
| is sent with Error-Type = 10 ("Reception of an invalid object") and | sent with Error-Type = 10 ("Reception of an invalid object") and | |||
| Error-Value = 11 ("Malformed object") (as per | Error-Value = 11 ("Malformed object") (as per | |||
| [I-D.ietf-pce-segment-routing]). | [I-D.ietf-pce-segment-routing]). | |||
| 7. Implementation Status | 7. 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 catalog of available implementations or their | be construed to be, a catalog of available implementations or their | |||
| skipping to change at page 9, line 37 ¶ | skipping to change at page 9, line 43 ¶ | |||
| o Implementation: Huawei's Router and Controller | o Implementation: Huawei's Router and Controller | |||
| o Description: An experimental code-point is used and plan to | o Description: An experimental code-point is used and plan to | |||
| request early code-point allocation from IANA after WG adoption. | request early code-point allocation from IANA after WG adoption. | |||
| o Maturity Level: Production | o Maturity Level: Production | |||
| o Coverage: Full | o Coverage: Full | |||
| o Contact: mahendrasingh@huawei.com | o Contact: chengli13@huawei.com | |||
| 8. Security Considerations | 8. Security Considerations | |||
| The security considerations described in [RFC5440], [RFC8231], | The security considerations described in [RFC5440], [RFC8231], | |||
| [RFC8281] and [I-D.ietf-pce-segment-routing] are applicable to this | [RFC8281] and [I-D.ietf-pce-segment-routing] are applicable to this | |||
| specification. No additional security measure is required. | specification. No additional security measure is required. | |||
| As described [I-D.ietf-pce-segment-routing], SR allows a network | As described [I-D.ietf-pce-segment-routing], SR allows a network | |||
| controller to instantiate and control paths in the network. A rouge | controller to instantiate and control paths in the network. A rouge | |||
| PCE can manipulate binding SID allocations to move traffic around for | PCE can manipulate binding SID allocations to move traffic around for | |||
| some other LSPs that uses BSID in its SR-ERO. | some other LSPs that uses BSID in its SR-ERO. | |||
| Thus, as per [RFC8231], it is RECOMMENDED that these PCEP extensions | Thus, as per [RFC8231], it is RECOMMENDED that these PCEP extensions | |||
| only be activated on authenticated and encrypted sessions across PCEs | only be activated on authenticated and encrypted sessions across PCEs | |||
| and PCCs belonging to the same administrative authority, using | and PCCs belonging to the same administrative authority, using | |||
| Transport Layer Security (TLS) [RFC8253], as per the recommendations | Transport Layer Security (TLS) [RFC8253], as per the recommendations | |||
| and best current practices in [RFC7525] (unless explicitly set aside | and best current practices in BCP195 [RFC7525] (unless explicitly set | |||
| in [RFC8253]). | aside in [RFC8253]). | |||
| 9. Manageability Considerations | 9. Manageability Considerations | |||
| All manageability requirements and considerations listed in | All manageability requirements and considerations listed in | |||
| [RFC5440], [RFC8231], and [I-D.ietf-pce-segment-routing] apply to | [RFC5440], [RFC8231], and [I-D.ietf-pce-segment-routing] apply to | |||
| PCEP protocol extensions defined in this document. In addition, | PCEP protocol extensions defined in this document. In addition, | |||
| requirements and considerations listed in this section apply. | requirements and considerations listed in this section apply. | |||
| 9.1. Control of Function and Policy | 9.1. Control of Function and Policy | |||
| skipping to change at page 11, line 15 ¶ | skipping to change at page 11, line 23 ¶ | |||
| 10. IANA Considerations | 10. IANA Considerations | |||
| 10.1. PCEP TLV Type Indicators | 10.1. PCEP TLV Type Indicators | |||
| This document defines a new PCEP TLV; IANA is requested to make the | This document defines a new PCEP TLV; IANA is requested to make the | |||
| following allocations from the "PCEP TLV Type Indicators" sub- | following allocations from the "PCEP TLV Type Indicators" sub- | |||
| registry of the PCEP Numbers registry, as follows: | registry of the PCEP Numbers registry, as follows: | |||
| Value Name Reference | Value Name Reference | |||
| TBD TE-PATH-BINDING This document | TBD1 TE-PATH-BINDING This document | |||
| 10.1.1. TE-PATH-BINDING TLV | 10.1.1. TE-PATH-BINDING TLV | |||
| IANA is requested to create a sub-registry to manage the value of the | IANA is requested to create a sub-registry to manage the value of the | |||
| Binding Type field in the TE-PATH-BINDING TLV. | Binding Type field in the TE-PATH-BINDING TLV. | |||
| Value Description Reference | Value Description Reference | |||
| 0 MPLS Label This document | 0 MPLS Label This document | |||
| 1 MPLS Label Stack This document | 1 MPLS Label Stack This document | |||
| skipping to change at page 11, line 38 ¶ | skipping to change at page 11, line 46 ¶ | |||
| 10.2. PCEP Error Type and Value | 10.2. PCEP Error Type and Value | |||
| This document defines a new Error-type and Error-Values for the PCErr | This document defines a new Error-type and Error-Values for the PCErr | |||
| message. IANA is requested to allocate new error-type and error- | message. IANA is requested to allocate new error-type and error- | |||
| values within the "PCEP-ERROR Object Error Types and Values" | values within the "PCEP-ERROR Object Error Types and Values" | |||
| subregistry of the PCEP Numbers registry, as follows: | subregistry of the PCEP Numbers registry, as follows: | |||
| Error-Type Meaning | Error-Type Meaning | |||
| ---------- ------- | ---------- ------- | |||
| TBD Binding label/SID failure: | TBD2 Binding label/SID failure: | |||
| Error-value = TBD: Invalid SID | Error-value = TBD3: Invalid SID | |||
| Error-value = TBD: Unable to allocate | Error-value = TBD4: Unable to allocate | |||
| the specified | the specified | |||
| label/SID | label/SID | |||
| 11. Acknowledgements | 11. Acknowledgements | |||
| We like to thank Milos Fabian for his valuable comments. | We like to thank Milos Fabian for his valuable comments. | |||
| 12. References | 12. References | |||
| 12.1. Normative References | 12.1. Normative References | |||
| skipping to change at page 13, line 36 ¶ | skipping to change at page 13, line 42 ¶ | |||
| 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>. | |||
| [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An | [RFC8283] Farrel, A., Ed., Zhao, Q., Ed., Li, Z., and C. Zhou, "An | |||
| Architecture for Use of PCE and the PCE Communication | Architecture for Use of PCE and the PCE Communication | |||
| Protocol (PCEP) in a Network with Central Control", | Protocol (PCEP) in a Network with Central Control", | |||
| RFC 8283, DOI 10.17487/RFC8283, December 2017, | RFC 8283, DOI 10.17487/RFC8283, December 2017, | |||
| <https://www.rfc-editor.org/info/rfc8283>. | <https://www.rfc-editor.org/info/rfc8283>. | |||
| [I-D.ietf-spring-segment-routing-policy] | [I-D.ietf-spring-segment-routing-policy] | |||
| Filsfils, C., Sivabalan, S., daniel.voyer@bell.ca, d., | Filsfils, C., Sivabalan, S., Voyer, D., Bogdanov, A., and | |||
| bogdanov@google.com, b., and P. Mattes, "Segment Routing | P. Mattes, "Segment Routing Policy Architecture", draft- | |||
| Policy Architecture", draft-ietf-spring-segment-routing- | ietf-spring-segment-routing-policy-03 (work in progress), | |||
| policy-03 (work in progress), May 2019. | May 2019. | |||
| [I-D.ietf-idr-bgp-prefix-sid] | [I-D.ietf-idr-bgp-prefix-sid] | |||
| Previdi, S., Filsfils, C., Lindem, A., Sreekantiah, A., | Previdi, S., Filsfils, C., Lindem, A., Sreekantiah, A., | |||
| and H. Gredler, "Segment Routing Prefix SID extensions for | and H. Gredler, "Segment Routing Prefix SID extensions for | |||
| BGP", draft-ietf-idr-bgp-prefix-sid-27 (work in progress), | BGP", draft-ietf-idr-bgp-prefix-sid-27 (work in progress), | |||
| June 2018. | June 2018. | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] | [I-D.ietf-pce-pcep-extension-for-pce-controller] | |||
| Zhao, Q., Li, Z., Negi, M., and C. Zhou, "PCEP Procedures | Zhao, Q., Li, Z., Negi, M., and C. Zhou, "PCEP Procedures | |||
| and Protocol Extensions for Using PCE as a Central | and Protocol Extensions for Using PCE as a Central | |||
| Controller (PCECC) of LSPs", draft-ietf-pce-pcep- | Controller (PCECC) of LSPs", draft-ietf-pce-pcep- | |||
| extension-for-pce-controller-02 (work in progress), July | extension-for-pce-controller-02 (work in progress), July | |||
| 2019. | 2019. | |||
| [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-12 (work in progress), July 2019. | yang-13 (work in progress), October 2019. | |||
| Appendix A. Contributor Addresses | Appendix A. 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 | |||
| End of changes. 25 change blocks. | ||||
| 52 lines changed or deleted | 56 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/ | ||||