| < draft-ietf-pce-binding-label-sid-03.txt | draft-ietf-pce-binding-label-sid-04.txt > | |||
|---|---|---|---|---|
| PCE Working Group C. Filsfils | PCE Working Group S. Sivabalan | |||
| Internet-Draft Cisco Systems, Inc. | Internet-Draft Ciena Corporation | |||
| Intended status: Standards Track S. Sivabalan | Intended status: Standards Track C. Filsfils | |||
| Expires: December 24, 2020 Ciena Corporation | Expires: May 4, 2021 Cisco Systems, Inc. | |||
| J. Tantsura | 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 | |||
| June 22, 2020 | October 31, 2020 | |||
| Carrying Binding Label/Segment-ID in PCE-based Networks. | Carrying Binding Label/Segment-ID in PCE-based Networks. | |||
| draft-ietf-pce-binding-label-sid-03 | draft-ietf-pce-binding-label-sid-04 | |||
| Abstract | Abstract | |||
| In order to provide greater scalability, network opacity, and service | In order to provide greater scalability, network opacity, and service | |||
| independence, Segment Routing (SR) utilizes a Binding Segment | independence, Segment Routing (SR) utilizes a Binding Segment | |||
| Identifier (BSID). It is possible to associate a BSID to RSVP-TE | Identifier (BSID). It is possible to associate a BSID to RSVP-TE | |||
| signaled Traffic Engineering Label Switching Path or binding Segment- | signaled Traffic Engineering Label Switching Path or binding Segment- | |||
| ID (SID) to SR Traffic Engineering path. Such a binding label/SID | ID (SID) to SR Traffic Engineering path. Such a binding label/SID | |||
| can be used by an upstream node for steering traffic into the | can be used by an upstream node for steering traffic into the | |||
| appropriate TE path to enforce SR policies. This document proposes | appropriate TE path to enforce SR policies. This document proposes | |||
| skipping to change at page 2, line 10 ¶ | skipping to change at page 2, line 10 ¶ | |||
| 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 May 4, 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 | |||
| skipping to change at page 2, line 32 ¶ | skipping to change at page 2, line 32 ¶ | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 6 | 3. Path Binding TLV . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 7 | 4. SRv6 Endpoint Behavior and SID Structure . . . . . . . . . . 7 | |||
| 5. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 8 | 5. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Binding SID in SRv6-ERO . . . . . . . . . . . . . . . . . . . 8 | 6. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 9 | |||
| 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 9 | 7. Binding SID in SRv6-ERO . . . . . . . . . . . . . . . . . . . 10 | |||
| 7.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 10 | |||
| 8. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 8.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
| 9. Manageability Considerations . . . . . . . . . . . . . . . . 10 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 9.1. Control of Function and Policy . . . . . . . . . . . . . 10 | 10. Manageability Considerations . . . . . . . . . . . . . . . . 11 | |||
| 9.2. Information and Data Models . . . . . . . . . . . . . . . 10 | 10.1. Control of Function and Policy . . . . . . . . . . . . . 11 | |||
| 9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 10 | 10.2. Information and Data Models . . . . . . . . . . . . . . 11 | |||
| 9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 10 | 10.3. Liveness Detection and Monitoring . . . . . . . . . . . 12 | |||
| 9.5. Requirements On Other Protocols . . . . . . . . . . . . . 10 | 10.4. Verify Correct Operations . . . . . . . . . . . . . . . 12 | |||
| 9.6. Impact On Network Operations . . . . . . . . . . . . . . 11 | 10.5. Requirements On Other Protocols . . . . . . . . . . . . 12 | |||
| 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | 10.6. Impact On Network Operations . . . . . . . . . . . . . . 12 | |||
| 10.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 11 | 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 10.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 11 | 11.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 12 | |||
| 10.2. PCEP Error Type and Value . . . . . . . . . . . . . . . 11 | 11.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 12 | |||
| 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | 11.1.2. Binding SID Flags . . . . . . . . . . . . . . . . . 13 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 11.2. PCEP Error Type and Value . . . . . . . . . . . . . . . 13 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 13 | 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 13 | ||||
| Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 15 | 13.2. Informative References . . . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15 | Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | ||||
| 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 | |||
| are either set up using the RSVP-TE signaling protocol or Segment | are either set up using the RSVP-TE signaling protocol or Segment | |||
| Routing (SR). We refer to such paths as RSVP-TE paths and SR-TE | Routing (SR). We refer to such paths as RSVP-TE paths and SR-TE | |||
| paths respectively in this document. | paths respectively in this document. | |||
| As per [RFC8402] SR allows a headend node to steer a packet flow | As per [RFC8402] SR allows a headend node to steer a packet flow | |||
| skipping to change at page 6, line 17 ¶ | skipping to change at page 6, line 19 ¶ | |||
| 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 figure 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 | Flags | 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]. | |||
| skipping to change at page 6, line 42 ¶ | skipping to change at page 6, line 44 ¶ | |||
| 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 fields MUST be considered invalid. The Length MUST | other fields fields MUST be considered invalid. The Length MUST | |||
| be set to 7. | be set to 7. | |||
| o BT = 1: Similar to the case where BT is 0 except that all the | o BT = 1: Similar to the case where BT is 0 except that all the | |||
| fields on the MPLS label entry are set on transmission. However, | fields on the MPLS label entry are set on transmission. However, | |||
| the receiver MAY choose to override TC, S, and TTL values | the receiver MAY choose to override TC, S, and TTL values | |||
| according its local policy. The Length MUST be set to 8. | according its local policy. The Length MUST be set to 8. | |||
| o BT = 2: The binding value is a SRv6 SID with a format of an 16 | o BT = 2: The binding value is an SRv6 SID with a format of a 16 | |||
| byte IPv6 address, representing the binding SID for SRv6. The | byte IPv6 address, representing the binding SID for SRv6. The | |||
| Length MUST be set to 20. | Length MUST be set to 20. | |||
| o BT = 3: The binding value is a 24 octet field, defined in | ||||
| Section 4, that contains the SRv6 SID as well as its Behavior and | ||||
| Structure. The Length MUST be set to 28. | ||||
| Flags: 1 octet of flags. Following flags are defined in the new | ||||
| registry "SR Policy Binding SID Flags" as described in | ||||
| Section 11.1.2: | ||||
| 0 1 2 3 4 5 6 7 | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| |S|I| | | ||||
| +-+-+-+-+-+-+-+-+ | ||||
| where: | ||||
| o S-Flag: This flag encodes the "Specified-BSID-only" behavior. It | ||||
| is used as described in Section 6.2.3 of | ||||
| [I-D.ietf-spring-segment-routing-policy]. | ||||
| o I-Flag: This flag encodes the "Drop Upon Invalid" behavior. It is | ||||
| used by described in Section 8.2 of | ||||
| [I-D.ietf-spring-segment-routing-policy]. | ||||
| Reserved: MUST be set to 0 while sending and ignored on receipt. | Reserved: MUST be set to 0 while sending and ignored on receipt. | |||
| 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 represent 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 represent 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. For the BT as 3, the Binding Value contains SRv6 Endpoint | |||
| Behavior and SID Structure, defined in Section 4. | ||||
| 4. Operation | 4. SRv6 Endpoint Behavior and SID Structure | |||
| Carried as the Binding Value in the TE-PATH-BINDING TLV when the BT | ||||
| is set to 3. Applicable for SRv6 Binding SIDs | ||||
| [I-D.ietf-spring-srv6-network-programming]. | ||||
| 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 | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | SRv6 Binding SID (16 octets) | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Endpoint Behavior | LB Length | LN Length | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| | Fun. Length | Arg. Length | Reserved | | ||||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
| Figure 4: SRv6 Endpoint Behavior and SID Structure | ||||
| Endpoint Behavior: 2 octets. The Endpoint Behavior code point for | ||||
| this SRv6 SID as defined in section 9.2 of | ||||
| [I-D.ietf-spring-srv6-network-programming]. When set with the value | ||||
| 0, the choice of behavior is considered unset. | ||||
| LB Length: 1 octet. SRv6 SID Locator Block length in bits. | ||||
| LN Length: 1 octet. SRv6 SID Locator Node length in bits. | ||||
| Function Length: 1 octet. SRv6 SID Function length in bits. | ||||
| Argument Length: 1 octet. SRv6 SID Arguments length in bits. | ||||
| 5. 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 would 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 a PCE | |||
| more than one TE-PATH-BINDING TLVs, only the first TLV MUST be | recognizes an invalid binding value (e.g., label value from the | |||
| processed and the rest MUST be silently ignored. If a PCE recognizes | reserved label space when MPLS label binding is used), it MUST send | |||
| an invalid binding value (e.g., label value from the reserved label | the PCErr message with Error-Type = 10 ("Reception of an invalid | |||
| space when MPLS label binding is used), it MUST send the PCErr | object") and Error Value = 2 ("Bad label value") as specified in | |||
| message with Error-Type = 10 ("Reception of an invalid object") and | [RFC8664]. | |||
| Error Value = 2 ("Bad label value") as specified in [RFC8664]. | ||||
| Multiple TE-PATH-BINDING TLVs are allowed to be present in the same | ||||
| LSP object. This signifies the presence of multiple binding SIDs for | ||||
| the given LSP. Either due to multiple SRv6 binding SIDs with | ||||
| different behaviors or due to SRv6 and MPLS binding SIDs being | ||||
| present together. | ||||
| For SRv6 BSIDs, it is RECOMMENDED to always explicitly specify the | ||||
| SRv6 Endpoint Behavior and SID Structure in the TE-PATH-BINDING TLV | ||||
| by setting the BT (Binding Type) to 3, instead of 2. The choice of | ||||
| interpreting SRv6 Endpoint Behavior and SID Structure when none is | ||||
| explicitly specified is left up to the implementation. | ||||
| 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 = TBD2 ("Binding label/SID failure") and | message with Error-Type = TBD2 ("Binding label/SID failure") and | |||
| Error Value = TBD3 ("Invalid SID"). If the binding value is valid, | Error Value = TBD3 ("Invalid SID"). If the binding value is valid, | |||
| but the PCC is unable to allocate the binding value, it MUST send a | but the PCC is unable to allocate the binding value, it MUST send a | |||
| PCErr message with Error-Type = TBD2 ("Binding label/SID failure") | PCErr message with Error-Type = TBD2 ("Binding label/SID failure") | |||
| skipping to change at page 8, line 23 ¶ | skipping to change at page 9, line 44 ¶ | |||
| and Error Value = TBD4 ("Unable to allocate the specified label/ | and Error Value = TBD4 ("Unable to allocate the specified label/ | |||
| SID"). | 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 4). A PCE can also make the | (making the length field of the TLV as 4). 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 | 6. 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. | |||
| [RFC8664] defines a new ERO subobject "SR-ERO subobject" capable of | [RFC8664] defines a new ERO subobject "SR-ERO subobject" capable of | |||
| carrying a SID as well as the identity of the node/adjacency (NAI) | carrying a SID as well as the identity of the node/adjacency (NAI) | |||
| represented by the SID. The NAI Type (NT) field indicates the type | represented by the SID. The NAI Type (NT) field indicates the type | |||
| and format of the NAI contained in the SR-ERO. In case of binding | 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 to zero. So as | SID, the NAI MUST NOT be included and NT MUST be set to zero. So as | |||
| per Section 5.2.1 of [RFC8664], for NT=0, the F bit is set to 1, the | per Section 5.2.1 of [RFC8664], for NT=0, the F bit is set to 1, the | |||
| S bit needs to be zero and the Length is 8. Further the M bit is | S bit needs to be zero and the Length is 8. Further the M bit is | |||
| set. If these conditions are not met, the entire ERO MUST be | set. If these conditions are not met, the entire ERO MUST be | |||
| considered invalid and a PCErr message is sent with Error-Type = 10 | considered invalid and a PCErr message is sent with Error-Type = 10 | |||
| ("Reception of an invalid object") and Error-Value = 11 ("Malformed | ("Reception of an invalid object") and Error-Value = 11 ("Malformed | |||
| object"). | object"). | |||
| 6. Binding SID in SRv6-ERO | 7. Binding SID in SRv6-ERO | |||
| [RFC8664] defines a new ERO subobject "SRv6-ERO subobject" for SRv6 | [RFC8664] defines a new ERO subobject "SRv6-ERO subobject" for SRv6 | |||
| SID. The NAI MUST NOT be included and NT MUST be set to zero. So as | SID. The NAI MUST NOT be included and NT MUST be set to zero. So as | |||
| per Section 5.2.1 of [RFC8664], for NT=0, the F bit is set to 1, the | per Section 5.2.1 of [RFC8664], for NT=0, the F bit is set to 1, the | |||
| S bit needs to be zero and the Length is 24. If these conditions are | S bit needs to be zero and the Length is 24. If these conditions are | |||
| not met, the entire ERO is considered invalid and a PCErr message is | not met, the entire ERO is considered invalid and a PCErr message 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 [RFC8664]). | Error-Value = 11 ("Malformed object") (as per [RFC8664]). | |||
| 7. Implementation Status | 8. 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 | |||
| skipping to change at page 9, line 30 ¶ | skipping to change at page 10, line 47 ¶ | |||
| 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". | |||
| 7.1. Huawei | 8.1. Huawei | |||
| o Organization: Huawei | o Organization: Huawei | |||
| 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: chengli13@huawei.com | o Contact: chengli13@huawei.com | |||
| 8. Security Considerations | 9. Security Considerations | |||
| The security considerations described in [RFC5440], [RFC8231], | The security considerations described in [RFC5440], [RFC8231], | |||
| [RFC8281] and [RFC8664] are applicable to this specification. No | [RFC8281] and [RFC8664] are applicable to this specification. No | |||
| additional security measure is required. | additional security measure is required. | |||
| As described [RFC8664], SR allows a network controller to instantiate | As described [RFC8664], SR allows a network controller to instantiate | |||
| and control paths in the network. A rouge PCE can manipulate binding | and control paths in the network. A rouge PCE can manipulate binding | |||
| SID allocations to move traffic around for some other LSPs that uses | SID allocations to move traffic around for some other LSPs that uses | |||
| BSID in its SR-ERO. | 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 BCP195 [RFC7525] (unless explicitly set | and best current practices in BCP195 [RFC7525] (unless explicitly set | |||
| aside in [RFC8253]). | aside in [RFC8253]). | |||
| 9. Manageability Considerations | 10. Manageability Considerations | |||
| All manageability requirements and considerations listed in | All manageability requirements and considerations listed in | |||
| [RFC5440], [RFC8231], and [RFC8664] apply to PCEP protocol extensions | [RFC5440], [RFC8231], and [RFC8664] apply to PCEP protocol extensions | |||
| defined in this document. In addition, requirements and | defined in this document. In addition, requirements and | |||
| considerations listed in this section apply. | considerations listed in this section apply. | |||
| 9.1. Control of Function and Policy | 10.1. Control of Function and Policy | |||
| A PCC implementation SHOULD allow the operator to configure the | A PCC implementation SHOULD allow the operator to configure the | |||
| policy based on which PCC needs to allocates the binding label/SID. | policy based on which PCC needs to allocates the binding label/SID. | |||
| 9.2. Information and Data Models | 10.2. Information and Data Models | |||
| The PCEP YANG module [I-D.ietf-pce-pcep-yang] could be extended to | The PCEP YANG module [I-D.ietf-pce-pcep-yang] could be extended to | |||
| include policy configuration for binding label/SID allocation. | include policy configuration for binding label/SID allocation. | |||
| 9.3. Liveness Detection and Monitoring | 10.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]. | listed in [RFC5440]. | |||
| 9.4. Verify Correct Operations | 10.4. Verify Correct Operations | |||
| Mechanisms defined in this document do not imply any new operation | Mechanisms defined in this document do not imply any new operation | |||
| verification requirements in addition to those already listed in | verification requirements in addition to those already listed in | |||
| [RFC5440], [RFC8231], and [RFC8664]. | [RFC5440], [RFC8231], and [RFC8664]. | |||
| 9.5. Requirements On Other Protocols | 10.5. Requirements On Other Protocols | |||
| Mechanisms defined in this document do not imply any new requirements | Mechanisms defined in this document do not imply any new requirements | |||
| on other protocols. | on other protocols. | |||
| 9.6. Impact On Network Operations | 10.6. Impact On Network Operations | |||
| Mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also apply | Mechanisms defined in [RFC5440], [RFC8231], and [RFC8664] also apply | |||
| to PCEP extensions defined in this document. Further, the mechanism | to PCEP extensions defined in this document. Further, the mechanism | |||
| described in this document can help the operator to request control | described in this document can help the operator to request control | |||
| of the LSPs at a particular PCE. | of the LSPs at a particular PCE. | |||
| 10. IANA Considerations | 11. IANA Considerations | |||
| 10.1. PCEP TLV Type Indicators | 11.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 | |||
| TBD1 TE-PATH-BINDING This document | TBD1 TE-PATH-BINDING This document | |||
| 10.1.1. TE-PATH-BINDING TLV | 11.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 | |||
| Entry | Entry | |||
| 2 SRv6 SID This document | 2 SRv6 SID This document | |||
| 10.2. PCEP Error Type and Value | 11.1.2. Binding SID Flags | |||
| IANA is requested to create a sub-registry to manage the value of the | ||||
| Binding SID Flags field in the TE-PATH-BINDING-TLV. | ||||
| Bit Description Reference | ||||
| 0 Specified-BSID-Only This document | ||||
| Flag (S-Flag) | ||||
| 1 Drop Upon Invalid This document | ||||
| Flag (I-Flag) | ||||
| 11.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 | |||
| ---------- ------- | ---------- ------- | |||
| TBD2 Binding label/SID failure: | TBD2 Binding label/SID failure: | |||
| Error-value = TBD3: Invalid SID | Error-value = TBD3: Invalid SID | |||
| Error-value = TBD4: Unable to allocate | Error-value = TBD4: Unable to allocate | |||
| the specified | the specified | |||
| label/SID | label/SID | |||
| 11. Acknowledgements | 12. Acknowledgements | |||
| We like to thank Milos Fabian and Mrinmoy Das for thier valuable | We like to thank Milos Fabian and Mrinmoy Das for thier valuable | |||
| comments. | comments. | |||
| 12. References | 13. References | |||
| 12.1. Normative References | 13.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>. | |||
| [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | [RFC5440] Vasseur, JP., Ed. and JL. Le Roux, Ed., "Path Computation | |||
| Element (PCE) Communication Protocol (PCEP)", RFC 5440, | Element (PCE) Communication Protocol (PCEP)", RFC 5440, | |||
| DOI 10.17487/RFC5440, March 2009, | DOI 10.17487/RFC5440, March 2009, | |||
| <https://www.rfc-editor.org/info/rfc5440>. | <https://www.rfc-editor.org/info/rfc5440>. | |||
| skipping to change at page 13, line 28 ¶ | skipping to change at page 15, line 5 ¶ | |||
| Decraene, B., Litkowski, S., and R. Shakir, "Segment | Decraene, B., Litkowski, S., and R. Shakir, "Segment | |||
| Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | Routing Architecture", RFC 8402, DOI 10.17487/RFC8402, | |||
| July 2018, <https://www.rfc-editor.org/info/rfc8402>. | July 2018, <https://www.rfc-editor.org/info/rfc8402>. | |||
| [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>. | |||
| 12.2. Informative References | [I-D.ietf-spring-srv6-network-programming] | |||
| Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | ||||
| Matsushima, S., and Z. Li, "SRv6 Network Programming", | ||||
| draft-ietf-spring-srv6-network-programming-24 (work in | ||||
| progress), October 2020. | ||||
| 13.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>. | |||
| [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>. | |||
| [RFC8669] Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah, | [RFC8669] Previdi, S., Filsfils, C., Lindem, A., Ed., Sreekantiah, | |||
| A., and H. Gredler, "Segment Routing Prefix Segment | A., and H. Gredler, "Segment Routing Prefix Segment | |||
| Identifier Extensions for BGP", RFC 8669, | Identifier Extensions for BGP", RFC 8669, | |||
| DOI 10.17487/RFC8669, December 2019, | DOI 10.17487/RFC8669, December 2019, | |||
| <https://www.rfc-editor.org/info/rfc8669>. | <https://www.rfc-editor.org/info/rfc8669>. | |||
| [I-D.ietf-spring-segment-routing-policy] | [I-D.ietf-spring-segment-routing-policy] | |||
| Filsfils, C., Sivabalan, S., Voyer, D., Bogdanov, A., and | Filsfils, C., Talaulikar, K., Voyer, D., Bogdanov, A., and | |||
| P. Mattes, "Segment Routing Policy Architecture", draft- | P. Mattes, "Segment Routing Policy Architecture", draft- | |||
| ietf-spring-segment-routing-policy-07 (work in progress), | ietf-spring-segment-routing-policy-08 (work in progress), | |||
| May 2020. | July 2020. | |||
| [I-D.ietf-pce-pcep-extension-for-pce-controller] | [I-D.ietf-pce-pcep-extension-for-pce-controller] | |||
| Zhao, Q., Li, Z., Negi, M., Peng, S., and C. Zhou, "PCEP | Li, Z., Peng, S., Negi, M., Zhao, Q., and C. Zhou, "PCEP | |||
| Procedures and Protocol Extensions for Using PCE as a | Procedures and Protocol Extensions for Using PCE as a | |||
| Central Controller (PCECC) of LSPs", draft-ietf-pce-pcep- | Central Controller (PCECC) of LSPs", draft-ietf-pce-pcep- | |||
| extension-for-pce-controller-04 (work in progress), March | extension-for-pce-controller-07 (work in progress), | |||
| 2020. | September 2020. | |||
| [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. 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 | |||
| skipping to change at page 15, line 38 ¶ | skipping to change at page 16, line 38 ¶ | |||
| Email: mkoldych@cisco.com | Email: mkoldych@cisco.com | |||
| Zafar Ali | Zafar Ali | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Email: zali@cisco.com | Email: zali@cisco.com | |||
| Authors' Addresses | Authors' Addresses | |||
| Siva Sivabalan | ||||
| Ciena Corporation | ||||
| EMail: msiva282@gmail.com | ||||
| Clarence Filsfils | Clarence Filsfils | |||
| Cisco Systems, Inc. | Cisco Systems, Inc. | |||
| Pegasus Parc | Pegasus Parc | |||
| De kleetlaan 6a, DIEGEM BRABANT 1831 | De kleetlaan 6a, DIEGEM BRABANT 1831 | |||
| BELGIUM | BELGIUM | |||
| EMail: cfilsfil@cisco.com | EMail: cfilsfil@cisco.com | |||
| Siva Sivabalan | ||||
| Ciena Corporation | ||||
| EMail: msiva282@gmail.com | ||||
| Jeff Tantsura | Jeff Tantsura | |||
| Apstra, Inc. | Apstra, Inc. | |||
| EMail: jefftant.ietf@gmail.com | EMail: jefftant.ietf@gmail.com | |||
| Jonathan Hardwick | Jonathan Hardwick | |||
| Metaswitch Networks | Metaswitch Networks | |||
| 100 Church Street | 100 Church Street | |||
| Enfield, Middlesex | Enfield, Middlesex | |||
| UK | UK | |||
| End of changes. 40 change blocks. | ||||
| 77 lines changed or deleted | 161 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/ | ||||