| < draft-ietf-pce-binding-label-sid-04.txt | draft-ietf-pce-binding-label-sid-05.txt > | |||
|---|---|---|---|---|
| skipping to change at page 1, line 17 ¶ | skipping to change at page 1, line 17 ¶ | |||
| 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 | |||
| October 31, 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-04 | draft-ietf-pce-binding-label-sid-05 | |||
| 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 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. SRv6 Endpoint Behavior and SID Structure . . . . . . . . . . 7 | 3.1. SRv6 Endpoint Behavior and SID Structure . . . . . . . . 7 | |||
| 5. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 4. Operation . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 6. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 9 | 5. Binding SID in SR-ERO . . . . . . . . . . . . . . . . . . . . 10 | |||
| 7. Binding SID in SRv6-ERO . . . . . . . . . . . . . . . . . . . 10 | 6. Binding SID in SRv6-ERO . . . . . . . . . . . . . . . . . . . 10 | |||
| 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 10 | 7. Implementation Status . . . . . . . . . . . . . . . . . . . . 10 | |||
| 8.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 7.1. Huawei . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 7.2. Cisco . . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 10. Manageability Considerations . . . . . . . . . . . . . . . . 11 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
| 10.1. Control of Function and Policy . . . . . . . . . . . . . 11 | 9. Manageability Considerations . . . . . . . . . . . . . . . . 12 | |||
| 10.2. Information and Data Models . . . . . . . . . . . . . . 11 | 9.1. Control of Function and Policy . . . . . . . . . . . . . 12 | |||
| 10.3. Liveness Detection and Monitoring . . . . . . . . . . . 12 | 9.2. Information and Data Models . . . . . . . . . . . . . . . 12 | |||
| 10.4. Verify Correct Operations . . . . . . . . . . . . . . . 12 | 9.3. Liveness Detection and Monitoring . . . . . . . . . . . . 12 | |||
| 10.5. Requirements On Other Protocols . . . . . . . . . . . . 12 | 9.4. Verify Correct Operations . . . . . . . . . . . . . . . . 12 | |||
| 10.6. Impact On Network Operations . . . . . . . . . . . . . . 12 | 9.5. Requirements On Other Protocols . . . . . . . . . . . . . 12 | |||
| 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 9.6. Impact On Network Operations . . . . . . . . . . . . . . 12 | |||
| 11.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 12 | 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 11.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 12 | 10.1. PCEP TLV Type Indicators . . . . . . . . . . . . . . . . 13 | |||
| 11.1.2. Binding SID Flags . . . . . . . . . . . . . . . . . 13 | 10.1.1. TE-PATH-BINDING TLV . . . . . . . . . . . . . . . . 13 | |||
| 11.2. PCEP Error Type and Value . . . . . . . . . . . . . . . 13 | 10.1.2. Binding SID Flags . . . . . . . . . . . . . . . . . 13 | |||
| 12. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 13 | 10.2. PCEP Error Type and Value . . . . . . . . . . . . . . . 14 | |||
| 13. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 11. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 13.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 13.2. Informative References . . . . . . . . . . . . . . . . . 15 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 16 | 12.2. Informative References . . . . . . . . . . . . . . . . . 16 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Appendix A. Contributor Addresses . . . . . . . . . . . . . . . 17 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | ||||
| 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 30 ¶ | skipping to change at page 6, line 30 ¶ | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ~ 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 octet 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 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 an SRv6 SID with a format of a 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 | octet 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 | 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 | Section 3.1, that contains the SRv6 SID as well as its Behavior | |||
| Structure. The Length MUST be set to 28. | and Structure. The Length MUST be set to 28. | |||
| Flags: 1 octet of flags. Following flags are defined in the new | Flags: 1 octet of flags. Following flags are defined in the new | |||
| registry "SR Policy Binding SID Flags" as described in | registry "SR Policy Binding SID Flags" as described in | |||
| Section 11.1.2: | Section 10.1.2: | |||
| 0 1 2 3 4 5 6 7 | 0 1 2 3 4 5 6 7 | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| |S|I| | | | |I|S| | |||
| +-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+ | |||
| where: | where: | |||
| o S-Flag: This flag encodes the "Specified-BSID-only" behavior. It | o S-Flag: This flag encodes the "Specified-BSID-only" behavior. It | |||
| is used as described in Section 6.2.3 of | is used as described in Section 6.2.3 of | |||
| [I-D.ietf-spring-segment-routing-policy]. | [I-D.ietf-spring-segment-routing-policy]. | |||
| o I-Flag: This flag encodes the "Drop Upon Invalid" behavior. It is | o I-Flag: This flag encodes the "Drop Upon Invalid" behavior. It is | |||
| used by described in Section 8.2 of | used as described in Section 8.2 of | |||
| [I-D.ietf-spring-segment-routing-policy]. | [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 represent the MPLS | a 4-octet boundary. For the BT as 0, the 20 bits represent the MPLS | |||
| label. For the BT as 1, the 32-bits represent 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. For the BT as 3, the Binding Value contains SRv6 Endpoint | SID. For the BT as 3, the Binding Value contains SRv6 Endpoint | |||
| Behavior and SID Structure, defined in Section 4. | Behavior and SID Structure, defined in Section 3.1. | |||
| 4. SRv6 Endpoint Behavior and SID Structure | 3.1. SRv6 Endpoint Behavior and SID Structure | |||
| Carried as the Binding Value in the TE-PATH-BINDING TLV when the BT | Carried as the Binding Value in the TE-PATH-BINDING TLV when the BT | |||
| is set to 3. Applicable for SRv6 Binding SIDs | is set to 3. Applicable for SRv6 Binding SIDs | |||
| [I-D.ietf-spring-srv6-network-programming]. | [I-D.ietf-spring-srv6-network-programming]. | |||
| 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 | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | SRv6 Binding SID (16 octets) | | | SRv6 Binding SID (16 octets) | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Endpoint Behavior | LB Length | LN Length | | | Reserved | Endpoint Behavior | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Fun. Length | Arg. Length | Reserved | | | LB Length | LN Length | Fun. Length | Arg. Length | | |||
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Figure 4: SRv6 Endpoint Behavior and SID Structure | Figure 4: SRv6 Endpoint Behavior and SID Structure | |||
| Reserved: 2 octets. MUST be set to 0 on transmit and ignored on | ||||
| receipt. | ||||
| Endpoint Behavior: 2 octets. The Endpoint Behavior code point for | Endpoint Behavior: 2 octets. The Endpoint Behavior code point for | |||
| this SRv6 SID as defined in section 9.2 of | this SRv6 SID as defined in section 9.2 of | |||
| [I-D.ietf-spring-srv6-network-programming]. When set with the value | [I-D.ietf-spring-srv6-network-programming]. When set with the value | |||
| 0, the choice of behavior is considered unset. | 0, the choice of behavior is considered unset. | |||
| LB Length: 1 octet. SRv6 SID Locator Block length in bits. | LB Length: 1 octet. SRv6 SID Locator Block length in bits. | |||
| LN Length: 1 octet. SRv6 SID Locator Node length in bits. | LN Length: 1 octet. SRv6 SID Locator Node length in bits. | |||
| Function Length: 1 octet. SRv6 SID Function length in bits. | Function Length: 1 octet. SRv6 SID Function length in bits. | |||
| Argument Length: 1 octet. SRv6 SID Arguments length in bits. | Argument Length: 1 octet. SRv6 SID Arguments length in bits. | |||
| 5. 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 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 a PCE | that the corresponding LSP does not have any binding. If a PCE | |||
| recognizes an invalid binding value (e.g., label value from the | recognizes an invalid binding value (e.g., label value from the | |||
| reserved label space when MPLS label binding is used), it MUST send | reserved label space when MPLS label binding is used), it MUST send | |||
| the PCErr message with Error-Type = 10 ("Reception of an invalid | the PCErr message with Error-Type = 10 ("Reception of an invalid | |||
| object") and Error Value = 2 ("Bad label value") as specified in | object") and Error Value = 2 ("Bad label value") as specified in | |||
| [RFC8664]. | [RFC8664]. | |||
| Multiple TE-PATH-BINDING TLVs are allowed to be present in the same | Multiple TE-PATH-BINDING TLVs are allowed to be present in the same | |||
| LSP object. This signifies the presence of multiple binding SIDs for | LSP object. This signifies the presence of multiple binding SIDs for | |||
| the given LSP. Either due to multiple SRv6 binding SIDs with | the given LSP. | |||
| different behaviors or due to SRv6 and MPLS binding SIDs being | ||||
| present together. | ||||
| For SRv6 BSIDs, it is RECOMMENDED to always explicitly specify the | For SRv6 BSIDs, it is RECOMMENDED to always explicitly specify the | |||
| SRv6 Endpoint Behavior and SID Structure in the TE-PATH-BINDING TLV | 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 | by setting the BT (Binding Type) to 3, instead of 2. The choice of | |||
| interpreting SRv6 Endpoint Behavior and SID Structure when none is | interpreting SRv6 Endpoint Behavior and SID Structure when none is | |||
| explicitly specified is left up to the implementation. | 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 | |||
| skipping to change at page 9, line 40 ¶ | skipping to change at page 9, line 41 ¶ | |||
| 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 = TBD2 ("Binding label/SID failure") | PCErr message with Error-Type = TBD2 ("Binding label/SID failure") | |||
| 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 request | |||
| request PCC to allocate a binding at the time of initiation by | PCC to allocate a binding value at the time of initiation by sending | |||
| sending a PCInitiate message with an empty TE-PATH-BINDING TLV. | a PCInitiate message with an empty TE-PATH-BINDING TLV. If the PCC | |||
| is unable to allocate a binding value, it MUST send a PCErr message | ||||
| with Error-Type = TBD2 ("Binding label/SID failure") and Error-Value | ||||
| = TBD5 ("Unable to allocate label/SID"). | ||||
| 6. 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. | |||
| [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"). | |||
| 7. Binding SID in SRv6-ERO | 6. 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]). | |||
| 8. 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 | |||
| skipping to change at page 10, line 44 ¶ | skipping to change at page 11, line 4 ¶ | |||
| 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 | |||
| 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". | |||
| 8.1. Huawei | 7.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 | |||
| 9. Security Considerations | 7.2. Cisco | |||
| o Organization: Cisco Systems | ||||
| o Implementation: Head-end and controller. | ||||
| o Description: An experimental code-point is currently used. | ||||
| o Maturity Level: Production | ||||
| o Coverage: Full | ||||
| o Contact: mkoldych@cisco.com | ||||
| 8. 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]). | |||
| 10. Manageability Considerations | 9. 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. | |||
| 10.1. Control of Function and Policy | 9.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. | |||
| 10.2. Information and Data Models | 9.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. | |||
| 10.3. Liveness Detection and Monitoring | 9.3. Liveness Detection and Monitoring | |||
| Mechanisms defined in this document do not imply any new liveness | Mechanisms defined in this document do not imply any new liveness | |||
| detection and monitoring requirements in addition to those already | detection and monitoring requirements in addition to those already | |||
| listed in [RFC5440]. | listed in [RFC5440]. | |||
| 10.4. Verify Correct Operations | 9.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]. | |||
| 10.5. Requirements On Other Protocols | 9.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. | |||
| 10.6. Impact On Network Operations | 9.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. | |||
| 11. IANA Considerations | 10. IANA Considerations | |||
| 11.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 | |||
| TBD1 TE-PATH-BINDING This document | TBD1 TE-PATH-BINDING This document | |||
| 11.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 | |||
| Entry | Entry | |||
| 2 SRv6 SID This document | 2 SRv6 SID This document | |||
| 3 SRv6 SID with This document | ||||
| Behavior and | ||||
| Structure | ||||
| 11.1.2. Binding SID Flags | 10.1.2. Binding SID Flags | |||
| 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 SID Flags field in the TE-PATH-BINDING-TLV. | Binding SID Flags field in the TE-PATH-BINDING-TLV. New values are | |||
| to be assigned by Standards Action [RFC8126]. Each bit should be | ||||
| tracked with the following qualities: | ||||
| o Bit number (count from 0 as the most significant bit) | ||||
| o Flag Name | ||||
| o Reference | ||||
| Bit Description Reference | Bit Description Reference | |||
| 0 Specified-BSID-Only This document | 7 Specified-BSID-Only This document | |||
| Flag (S-Flag) | Flag (S-Flag) | |||
| 1 Drop Upon Invalid This document | 6 Drop Upon Invalid This document | |||
| Flag (I-Flag) | Flag (I-Flag) | |||
| 11.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 | |||
| ---------- ------- | ---------- ------- | |||
| 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 | |||
| Error-value = TBD5: Unable to allocate | ||||
| label/SID | ||||
| 12. Acknowledgements | 11. 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. | |||
| 13. References | 12. References | |||
| 13.1. Normative References | 12.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 15, line 5 ¶ | skipping to change at page 15, line 43 ¶ | |||
| 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>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | ||||
| Writing an IANA Considerations Section in RFCs", BCP 26, | ||||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8126>. | ||||
| [I-D.ietf-spring-srv6-network-programming] | [I-D.ietf-spring-srv6-network-programming] | |||
| Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | Filsfils, C., Camarillo, P., Leddy, J., Voyer, D., | |||
| Matsushima, S., and Z. Li, "SRv6 Network Programming", | Matsushima, S., and Z. Li, "SRv6 Network Programming", | |||
| draft-ietf-spring-srv6-network-programming-24 (work in | draft-ietf-spring-srv6-network-programming-24 (work in | |||
| progress), October 2020. | progress), October 2020. | |||
| 13.2. Informative References | 12.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, | |||
| End of changes. 46 change blocks. | ||||
| 69 lines changed or deleted | 108 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/ | ||||